[llvm] ee8a5e4 - Fix chrome os failure after 021de7cf80268091cf13485a538b611b37d0b33e.

Roman Lebedev via llvm-commits llvm-commits at lists.llvm.org
Mon Apr 12 05:35:24 PDT 2021


test?
Commit subject could be a bit more useful.

On Mon, Apr 12, 2021 at 3:32 PM Alexey Lapshin via llvm-commits
<llvm-commits at lists.llvm.org> wrote:
>
>
> Author: Alexey Lapshin
> Date: 2021-04-12T15:28:32+03:00
> New Revision: ee8a5e4bc2c986b8e6c07e81fb58dc1e5a5c2d17
>
> URL: https://github.com/llvm/llvm-project/commit/ee8a5e4bc2c986b8e6c07e81fb58dc1e5a5c2d17
> DIFF: https://github.com/llvm/llvm-project/commit/ee8a5e4bc2c986b8e6c07e81fb58dc1e5a5c2d17.diff
>
> LOG: Fix chrome os failure after 021de7cf80268091cf13485a538b611b37d0b33e.
>
> chrome os build failed after D98511:
> https://bugs.chromium.org/p/chromium/issues/detail?id=1197970
>
> This patch fixes permission issue appeared after D98511.
>
> Added:
>
>
> Modified:
>     llvm/tools/llvm-objcopy/llvm-objcopy.cpp
>
> Removed:
>
>
>
> ################################################################################
> diff  --git a/llvm/tools/llvm-objcopy/llvm-objcopy.cpp b/llvm/tools/llvm-objcopy/llvm-objcopy.cpp
> index 6c6b26b3c32f9..d3cc94782bedd 100644
> --- a/llvm/tools/llvm-objcopy/llvm-objcopy.cpp
> +++ b/llvm/tools/llvm-objcopy/llvm-objcopy.cpp
> @@ -259,6 +259,12 @@ static Error restoreStatOnFile(StringRef Filename,
>    if (std::error_code EC = sys::fs::status(FD, OStat))
>      return createFileError(Filename, EC);
>    if (OStat.type() == sys::fs::file_type::regular_file) {
> +#ifndef _WIN32
> +    // Keep ownership if llvm-objcopy is called under root.
> +    if (Config.InputFilename == Config.OutputFilename && OStat.getUser() == 0)
> +      sys::fs::changeFileOwnership(FD, Stat.getUser(), Stat.getGroup());
> +#endif
> +
>      sys::fs::perms Perm = Stat.permissions();
>      if (Config.InputFilename != Config.OutputFilename)
>        Perm = static_cast<sys::fs::perms>(Perm & ~sys::fs::getUmask() & ~06000);
> @@ -268,12 +274,6 @@ static Error restoreStatOnFile(StringRef Filename,
>      if (auto EC = sys::fs::setPermissions(FD, Perm))
>  #endif
>        return createFileError(Filename, EC);
> -
> -#ifndef _WIN32
> -    // Keep ownership if llvm-objcopy is called under root.
> -    if (Config.InputFilename == Config.OutputFilename && OStat.getUser() == 0)
> -      sys::fs::changeFileOwnership(FD, Stat.getUser(), Stat.getGroup());
> -#endif
>    }
>
>    if (auto EC = sys::Process::SafelyCloseFileDescriptor(FD))
>
>
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at lists.llvm.org
> https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits


More information about the llvm-commits mailing list