Page MenuHomePhabricator

phosek (Petr Hosek)
User

Projects

User does not belong to any projects.

User Details

User Since
Mar 4 2015, 5:44 PM (283 w, 6 d)

Recent Activity

Today

phosek added a comment to D85706: [compiler-rt] Compile assembly files as ASM not C.

One concern I have with this change is that we may not always consistently update CMAKE_ASM_FLAGS or set CMAKE_ASM_COMPILER. This wouldn't make a difference before, but it'll with this change. Can you check if these variables are being updated as needed?

Wed, Aug 12, 2:25 PM · Restricted Project
phosek added a comment to D85820: Use find_library for ncurses.

CMake already has FindCurses module so we could consider using find_package(Curses), unfortunately it doesn't define the imported target. I'd also prefer replacing HAVE_TERMINFO with LLVM_ENABLE_TERMINFO everywhere for consistency with zlib or libxml2 (see D84563).

Wed, Aug 12, 12:59 PM · Restricted Project
phosek added inline comments to D85802: [clang] Add -fc++-abi= flag for specifying which C++ ABI to use.
Wed, Aug 12, 12:54 PM · Restricted Project
phosek accepted D85678: [elfabi] Move elfabi related code to InterfaceStub library.

LGTM

Wed, Aug 12, 12:33 PM · Restricted Project

Yesterday

phosek added a comment to D85678: [elfabi] Move elfabi related code to InterfaceStub library.

I'd be fine with InterfaceStub as a name for the library.

@phosek @haowei Are there any plans in the near term to unify any of the TBD work with InterfaceStubs/elftapi?

@ributzka @cishida

Tue, Aug 11, 11:32 PM · Restricted Project
phosek added a comment to D79219: [CMake] Simplify CMake handling for zlib.

This is correct. That target is provided by find_package(ZLIB). In LLVMConfig.cmake, we invoke find_package(ZLIB) when zlib support is enabled. If you're using LLVMExports.cmake, you'll need to invoke find_package(ZLIB) yourself.

@phosek, Thanks for the reply. I am not too familiar with this. Could you please elaborate more on why setting it to ZLIB::ZLIB here is more modern? And how one is expected to deal with ZLIB::ZLIB that shows up in LLVMExports.cmake` (in the modern way)? Should one string pattern matching for ZLIB::ZLIB and invoke find_package(ZLIB) again? (previously one could simply concatenate -l with the library name in there.

Tue, Aug 11, 9:43 PM · Restricted Project, Restricted Project, Restricted Project, Restricted Project, Restricted Project
phosek committed rG31e5f7120bdd: [CMake] Simplify CMake handling for zlib (authored by phosek).
[CMake] Simplify CMake handling for zlib
Tue, Aug 11, 8:24 PM
phosek closed D79219: [CMake] Simplify CMake handling for zlib.
Tue, Aug 11, 8:24 PM · Restricted Project, Restricted Project, Restricted Project, Restricted Project, Restricted Project
phosek added a comment to D85678: [elfabi] Move elfabi related code to InterfaceStub library.

I'd be fine with InterfaceStub as a name for the library.

Tue, Aug 11, 5:03 PM · Restricted Project

Mon, Aug 10

phosek added inline comments to D85329: [AIX] Try to not use LLVM tools while building runtimes.
Mon, Aug 10, 6:33 PM · Restricted Project
phosek added a comment to D85329: [AIX] Try to not use LLVM tools while building runtimes.

This change broke our toolchain build with the following error:

CMake Error at runtimes/CMakeLists.txt:500 (llvm_ExternalProject_Add):
  Syntax error in cmake code at
Mon, Aug 10, 6:32 PM · Restricted Project
phosek accepted D85678: [elfabi] Move elfabi related code to InterfaceStub library.

LGTM

Mon, Aug 10, 2:51 PM · Restricted Project
phosek added a comment to D79219: [CMake] Simplify CMake handling for zlib.

@kuhnel do you want to take a look or is it okay if I just submit the change?

Mon, Aug 10, 10:08 AM · Restricted Project, Restricted Project, Restricted Project, Restricted Project, Restricted Project

Sat, Aug 8

phosek added a comment to D79219: [CMake] Simplify CMake handling for zlib.

I have finally managed to reproduce the issue on my Windows machine, the latest version of the patch should address the issue. The previous logic would fail to find zlib altogether on Windows, which is why this issue haven't manifested before. find_package locates the zlib correctly, but we need to ensure that the library that was found can be used.

Sat, Aug 8, 7:37 PM · Restricted Project, Restricted Project, Restricted Project, Restricted Project, Restricted Project
phosek updated the diff for D79219: [CMake] Simplify CMake handling for zlib.
Sat, Aug 8, 7:36 PM · Restricted Project, Restricted Project, Restricted Project, Restricted Project, Restricted Project
phosek reopened D79219: [CMake] Simplify CMake handling for zlib.
Sat, Aug 8, 7:36 PM · Restricted Project, Restricted Project, Restricted Project, Restricted Project, Restricted Project
phosek added a reverting change for rGccbc1485b55f: [CMake] Simplify CMake handling for zlib: rGa4d78d23c534: Revert "[CMake] Simplify CMake handling for zlib".
Sat, Aug 8, 5:09 PM
phosek committed rGa4d78d23c534: Revert "[CMake] Simplify CMake handling for zlib" (authored by phosek).
Revert "[CMake] Simplify CMake handling for zlib"
Sat, Aug 8, 5:09 PM
phosek added a reverting change for D79219: [CMake] Simplify CMake handling for zlib: rGa4d78d23c534: Revert "[CMake] Simplify CMake handling for zlib".
Sat, Aug 8, 5:08 PM · Restricted Project, Restricted Project, Restricted Project, Restricted Project, Restricted Project
phosek committed rGccbc1485b55f: [CMake] Simplify CMake handling for zlib (authored by phosek).
[CMake] Simplify CMake handling for zlib
Sat, Aug 8, 4:46 PM
phosek closed D79219: [CMake] Simplify CMake handling for zlib.
Sat, Aug 8, 4:45 PM · Restricted Project, Restricted Project, Restricted Project, Restricted Project, Restricted Project
phosek abandoned D85497: [CMake] zlib FORCE_ON overrides MSan.

This was combined into D79219.

Sat, Aug 8, 12:26 PM · Restricted Project
phosek added a comment to D85582: [clang][Driver] Search lib32 on Linux/sparc64 with -m32.

Would it be possible to add a test case in clang/test/Driver/linux-ld.c?

Sat, Aug 8, 1:12 AM · Restricted Project

Fri, Aug 7

phosek updated the diff for D79219: [CMake] Simplify CMake handling for zlib.
Fri, Aug 7, 5:52 PM · Restricted Project, Restricted Project, Restricted Project, Restricted Project, Restricted Project
phosek added a comment to D79219: [CMake] Simplify CMake handling for zlib.

This patch broke the Windows compilation on buildbot and pre-merge testing. So I'll revert it to get pre-merge testing back online. Otherwise this will cause false-positives for pre-merge testing.

The error message:

FAILED: bin/llvm-profdata.exe 
cmd.exe /C "cd . && "C:\Program Files\CMake\bin\cmake.exe" -E vs_link_exe --intdir=tools\llvm-profdata\CMakeFiles\llvm-profdata.dir --rc="C:\Program Files (x86)\Windows Kits\10\bin\10.0.18362.0\x64\rc.exe" --mt="C:\Program Files (x86)\Windows Kits\10\bin\10.0.18362.0\x64\mt.exe" --manifests  -- C:\BuildTools\VC\Tools\MSVC\14.26.28801\bin\Hostx64\x64\link.exe /nologo tools\llvm-profdata\CMakeFiles\llvm-profdata.dir\llvm-profdata.cpp.obj tools\llvm-profdata\CMakeFiles\llvm-profdata.dir\__\__\resources\windows_version_resource.rc.res  /out:bin\llvm-profdata.exe /implib:lib\llvm-profdata.lib /pdb:bin\llvm-profdata.pdb /version:0.0  /machine:x64 /STACK:10000000 /INCREMENTAL:NO /subsystem:console  lib\LLVMCore.lib lib\LLVMProfileData.lib lib\LLVMSupport.lib lib\LLVMCore.lib lib\LLVMBinaryFormat.lib lib\LLVMRemarks.lib lib\LLVMBitstreamReader.lib lib\LLVMSupport.lib psapi.lib shell32.lib ole32.lib uuid.lib advapi32.lib C:\GnuWin\lib\zlib.lib delayimp.lib -delayload:shell32.dll -delayload:ole32.dll lib\LLVMDemangle.lib kernel32.lib user32.lib gdi32.lib winspool.lib shell32.lib ole32.lib oleaut32.lib uuid.lib comdlg32.lib advapi32.lib && cd ."
LINK: command "C:\BuildTools\VC\Tools\MSVC\14.26.28801\bin\Hostx64\x64\link.exe /nologo tools\llvm-profdata\CMakeFiles\llvm-profdata.dir\llvm-profdata.cpp.obj tools\llvm-profdata\CMakeFiles\llvm-profdata.dir\__\__\resources\windows_version_resource.rc.res /out:bin\llvm-profdata.exe /implib:lib\llvm-profdata.lib /pdb:bin\llvm-profdata.pdb /version:0.0 /machine:x64 /STACK:10000000 /INCREMENTAL:NO /subsystem:console lib\LLVMCore.lib lib\LLVMProfileData.lib lib\LLVMSupport.lib lib\LLVMCore.lib lib\LLVMBinaryFormat.lib lib\LLVMRemarks.lib lib\LLVMBitstreamReader.lib lib\LLVMSupport.lib psapi.lib shell32.lib ole32.lib uuid.lib advapi32.lib C:\GnuWin\lib\zlib.lib delayimp.lib -delayload:shell32.dll -delayload:ole32.dll lib\LLVMDemangle.lib kernel32.lib user32.lib gdi32.lib winspool.lib shell32.lib ole32.lib oleaut32.lib uuid.lib comdlg32.lib advapi32.lib /MANIFEST /MANIFESTFILE:bin\llvm-profdata.exe.manifest" failed (exit code 1120) with the following output:
LLVMSupport.lib(Compression.cpp.obj) : error LNK2019: unresolved external symbol compress2 referenced in function "class llvm::Error __cdecl llvm::zlib::compress(class llvm::StringRef,class llvm::SmallVectorImpl<char> &,int)" (?compress@zlib@llvm@@YA?AVError@2@VStringRef@2@AEAV?$SmallVectorImpl@D@2@H@Z)
LLVMSupport.lib(Compression.cpp.obj) : error LNK2019: unresolved external symbol compressBound referenced in function "class llvm::Error __cdecl llvm::zlib::compress(class llvm::StringRef,class llvm::SmallVectorImpl<char> &,int)" (?compress@zlib@llvm@@YA?AVError@2@VStringRef@2@AEAV?$SmallVectorImpl@D@2@H@Z)
LLVMSupport.lib(Compression.cpp.obj) : error LNK2019: unresolved external symbol uncompress referenced in function "class llvm::Error __cdecl llvm::zlib::uncompress(class llvm::StringRef,class llvm::SmallVectorImpl<char> &,unsigned __int64)" (?uncompress@zlib@llvm@@YA?AVError@2@VStringRef@2@AEAV?$SmallVectorImpl@D@2@_K@Z)
  Hint on symbols that are defined and could potentially match:
    "class llvm::Error __cdecl llvm::zlib::uncompress(class llvm::StringRef,class llvm::SmallVectorImpl<char> &,unsigned __int64)" (?uncompress@zlib@llvm@@YA?AVError@2@VStringRef@2@AEAV?$SmallVectorImpl@D@2@_K@Z)
    "class llvm::Error __cdecl llvm::zlib::uncompress(class llvm::StringRef,char *,unsigned __int64 &)" (?uncompress@zlib@llvm@@YA?AVError@2@VStringRef@2@PEADAEA_K@Z)
LLVMSupport.lib(Compression.cpp.obj) : error LNK2019: unresolved external symbol crc32 referenced in function "unsigned int __cdecl llvm::zlib::crc32(class llvm::StringRef)" (?crc32@zlib@llvm@@YAIVStringRef@2@@Z)
  Hint on symbols that are defined and could potentially match:
    "unsigned int __cdecl llvm::zlib::crc32(class llvm::StringRef)" (?crc32@zlib@llvm@@YAIVStringRef@2@@Z)
C:\GnuWin\lib\zlib.lib : warning LNK4272: library machine type 'x86' conflicts with target machine type 'x64'
bin\llvm-profdata.exe : fatal error LNK1120: 4 unresolved externals
Fri, Aug 7, 1:14 AM · Restricted Project, Restricted Project, Restricted Project, Restricted Project, Restricted Project
phosek added a comment to D79219: [CMake] Simplify CMake handling for zlib.

How can I test this change on pre-merge bots? I haven't seen any builds posted on this change before.

Fri, Aug 7, 1:02 AM · Restricted Project, Restricted Project, Restricted Project, Restricted Project, Restricted Project

Thu, Aug 6

phosek requested review of D85497: [CMake] zlib FORCE_ON overrides MSan.
Thu, Aug 6, 9:00 PM · Restricted Project
phosek added a comment to D79219: [CMake] Simplify CMake handling for zlib.

@phosek, Under this change, now when I build LLVM (with a basic config cmake -G Ninja --LLVM_ENABLE_PROJECTS=clang ../llvm), in file build_dir/lib/cmake/llvm/LLVMExports.cmake, I see this:

set_target_properties(LLVMSupport PROPERTIES
  INTERFACE_LINK_LIBRARIES "curses;m;ZLIB::ZLIB;LLVMDemangle"

This seems broken to me. Can you take a look?

Thu, Aug 6, 4:06 PM · Restricted Project, Restricted Project, Restricted Project, Restricted Project, Restricted Project
phosek added a comment to D85477: Use z instead of ZLIB::ZLIB.

I agree with @arsenm, this is backwards of what we want to do. The goal of D79219 is to move to modern CMake and simplify life for consumers of LLVM like Swift.

Thu, Aug 6, 4:02 PM · Restricted Project
phosek added a comment to D76802: [InstrProfiling] Use !associated metadata for counters, data and values.
In D76802#2200926, @pcc wrote:

@davidxl does this look good to you? This feature is now gated on -counter-associated-metadata flag (I'd welcome suggestions for better name if you have some) because we require recent lld. We might be able to set that flag in the frontend when we know that the latest lld is being used in the future.

Can you find a better way of communicating this infomation than via an llvm::cl flag (e.g. use a function attribute)? The flag won't be compatible with LTO.

Thu, Aug 6, 2:29 PM · Restricted Project, Restricted Project
phosek added inline comments to D85474: Add -fbinutils-version= to gate ELF features on the specified binutils version.
Thu, Aug 6, 2:25 PM · Restricted Project, Restricted Project
phosek updated the diff for D76802: [InstrProfiling] Use !associated metadata for counters, data and values.
Thu, Aug 6, 12:58 PM · Restricted Project, Restricted Project
phosek added a comment to D76802: [InstrProfiling] Use !associated metadata for counters, data and values.

@davidxl does this look good to you? This feature is now gated on -counter-associated-metadata flag (I'd welcome suggestions for better name if you have some) because we require recent lld. We might be able to set that flag in the frontend when we know that the latest lld is being used in the future.

Thu, Aug 6, 12:56 PM · Restricted Project, Restricted Project
phosek requested review of D85469: [CodeGen] Check the number of operands before accessing the first one.
Thu, Aug 6, 12:51 PM · Restricted Project
phosek updated the diff for D76802: [InstrProfiling] Use !associated metadata for counters, data and values.
Thu, Aug 6, 10:43 AM · Restricted Project, Restricted Project

Wed, Aug 5

phosek committed rG633e3dacf27e: [CMake] Print the autodetected host linker version (authored by phosek).
[CMake] Print the autodetected host linker version
Wed, Aug 5, 8:23 PM
phosek closed D85362: [CMake] Print the autodetected host linker version.
Wed, Aug 5, 8:23 PM · Restricted Project
phosek committed rG1adc494bce44: [CMake] Simplify CMake handling for zlib (authored by phosek).
[CMake] Simplify CMake handling for zlib
Wed, Aug 5, 4:07 PM
phosek closed D79219: [CMake] Simplify CMake handling for zlib.
Wed, Aug 5, 4:07 PM · Restricted Project, Restricted Project, Restricted Project, Restricted Project, Restricted Project
phosek reopened D79219: [CMake] Simplify CMake handling for zlib.

Sorry about the breakage, that was an unintentional change. I have updated the patch and restored the original behavior on Windows.

Wed, Aug 5, 2:22 PM · Restricted Project, Restricted Project, Restricted Project, Restricted Project, Restricted Project
phosek updated the diff for D79219: [CMake] Simplify CMake handling for zlib.
Wed, Aug 5, 2:21 PM · Restricted Project, Restricted Project, Restricted Project, Restricted Project, Restricted Project
phosek requested review of D85362: [CMake] Print the autodetected host linker version.
Wed, Aug 5, 2:11 PM · Restricted Project

Mon, Aug 3

phosek committed rG81eeabbd97f3: [ELF] Add --dependency-file option (authored by phosek).
[ELF] Add --dependency-file option
Mon, Aug 3, 4:59 PM
phosek closed D82437: [ELF] Add --dependency-file option.
Mon, Aug 3, 4:59 PM · Restricted Project
phosek updated the diff for D82437: [ELF] Add --dependency-file option.
Mon, Aug 3, 4:07 PM · Restricted Project
phosek updated the diff for D82437: [ELF] Add --dependency-file option.

Switching from llvm::SetVector<StringRef> to llvm::SetVector<llvm::CachedHashString> addresses the issue.

Mon, Aug 3, 3:26 PM · Restricted Project

Sun, Aug 2

phosek added a comment to D82437: [ELF] Add --dependency-file option.

CC @nemanjai who can test this patch on ppc64be.

Sun, Aug 2, 3:12 PM · Restricted Project
phosek reopened D82437: [ELF] Add --dependency-file option.

I'm still debugging the failure which has showed up on some bots:

0.	Program arguments: /home/buildbots/ppc64le-lld-multistage-test/ppc64le-lld-multistage-test/install/stage1/bin/ld.lld --eh-frame-hdr -m elf64lppc -dynamic-linker /lib64/ld64.so.2 -o unittests/Target/X86/X86Tests /usr/lib/gcc/ppc64le-redhat-linux/8/../../../../lib64/crt1.o /usr/lib/gcc/ppc64le-redhat-linux/8/../../../../lib64/crti.o /usr/lib/gcc/ppc64le-redhat-linux/8/crtbegin.o -L/usr/lib/gcc/ppc64le-redhat-linux/8 -L/usr/lib/gcc/ppc64le-redhat-linux/8/../../../../lib64 -L/lib/../lib64 -L/usr/lib/../lib64 -L/usr/lib/gcc/ppc64le-redhat-linux/8/../../.. -L/home/buildbots/ppc64le-lld-multistage-test/ppc64le-lld-multistage-test/install/stage1/bin/../lib -L/lib -L/usr/lib --color-diagnostics -allow-shlib-undefined -O3 --gc-sections unittests/Target/X86/CMakeFiles/X86Tests.dir/MachineSizeOptsTest.cpp.o lib/libLLVMAnalysis.a lib/libLLVMCodeGen.a lib/libLLVMCore.a lib/libLLVMMC.a lib/libLLVMMIRParser.a lib/libLLVMSupport.a lib/libLLVMTarget.a lib/libLLVMX86CodeGen.a lib/libLLVMX86Desc.a lib/libLLVMX86Info.a lib/libLLVMSupport.a -lpthread lib/libgtest_main.a lib/libgtest.a -lpthread lib/libLLVMAsmParser.a lib/libLLVMMCDisassembler.a lib/libLLVMAsmPrinter.a lib/libLLVMDebugInfoDWARF.a lib/libLLVMCFGuard.a lib/libLLVMGlobalISel.a lib/libLLVMSelectionDAG.a lib/libLLVMCodeGen.a lib/libLLVMBitWriter.a lib/libLLVMScalarOpts.a lib/libLLVMAggressiveInstCombine.a lib/libLLVMInstCombine.a lib/libLLVMTarget.a lib/libLLVMTransformUtils.a lib/libLLVMAnalysis.a lib/libLLVMObject.a lib/libLLVMBitReader.a lib/libLLVMMCParser.a lib/libLLVMMC.a lib/libLLVMDebugInfoCodeView.a lib/libLLVMDebugInfoMSF.a lib/libLLVMTextAPI.a lib/libLLVMProfileData.a lib/libLLVMCore.a lib/libLLVMBinaryFormat.a lib/libLLVMRemarks.a lib/libLLVMBitstreamReader.a lib/libLLVMSupport.a -lrt -ldl -lpthread -lm /usr/lib64/libz.so lib/libLLVMDemangle.a -lpthread -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/ppc64le-redhat-linux/8/crtend.o /usr/lib/gcc/ppc64le-redhat-linux/8/../../../../lib64/crtn.o 
 #0 0x000000001042e3b8 llvm::sys::PrintStackTrace(llvm::raw_ostream&) (/home/buildbots/ppc64le-lld-multistage-test/ppc64le-lld-multistage-test/install/stage1/bin/ld.lld+0x1042e3b8)
 #1 0x000000001042e4e0 PrintStackTraceSignalHandler(void*) (/home/buildbots/ppc64le-lld-multistage-test/ppc64le-lld-multistage-test/install/stage1/bin/ld.lld+0x1042e4e0)
 #2 0x000000001042bbd4 llvm::sys::RunSignalHandlers() (/home/buildbots/ppc64le-lld-multistage-test/ppc64le-lld-multistage-test/install/stage1/bin/ld.lld+0x1042bbd4)
 #3 0x000000001042bdac SignalHandler(int) (/home/buildbots/ppc64le-lld-multistage-test/ppc64le-lld-multistage-test/install/stage1/bin/ld.lld+0x1042bdac)
 #4 0x00007fff9ff004d8 (linux-vdso64.so.1+0x4d8)
 #5 0x00007fff9f874308 raise (/lib64/libc.so.6+0x44308)
 #6 0x00007fff9f85438c abort (/lib64/libc.so.6+0x2438c)
 #7 0x00007fff9f8678d0 __assert_fail_base (/lib64/libc.so.6+0x378d0)
 #8 0x00007fff9f867974 __assert_fail (/lib64/libc.so.6+0x37974)
 #9 0x000000001048dc8c llvm::DenseMap<llvm::StringRef, llvm::detail::DenseSetEmpty, llvm::DenseMapInfo<llvm::StringRef>, llvm::detail::DenseSetPair<llvm::StringRef> >::grow(unsigned int) (/home/buildbots/ppc64le-lld-multistage-test/ppc64le-lld-multistage-test/install/stage1/bin/ld.lld+0x1048dc8c)
#10 0x00000000105c360c lld::elf::readFile(llvm::StringRef) (/home/buildbots/ppc64le-lld-multistage-test/ppc64le-lld-multistage-test/install/stage1/bin/ld.lld+0x105c360c)
#11 0x000000001054526c lld::elf::LinkerDriver::addFile(llvm::StringRef, bool) (/home/buildbots/ppc64le-lld-multistage-test/ppc64le-lld-multistage-test/install/stage1/bin/ld.lld+0x1054526c)
#12 0x0000000010545858 lld::elf::LinkerDriver::addLibrary(llvm::StringRef) (/home/buildbots/ppc64le-lld-multistage-test/ppc64le-lld-multistage-test/install/stage1/bin/ld.lld+0x10545858)
#13 0x0000000010545dfc lld::elf::LinkerDriver::createFiles(llvm::opt::InputArgList&) (/home/buildbots/ppc64le-lld-multistage-test/ppc64le-lld-multistage-test/install/stage1/bin/ld.lld+0x10545dfc)
#14 0x0000000010309bc0 lld::elf::LinkerDriver::main(llvm::ArrayRef<char const*>) (/home/buildbots/ppc64le-lld-multistage-test/ppc64le-lld-multistage-test/install/stage1/bin/ld.lld+0x10309bc0)
#15 0x00000000105666a4 lld::elf::link(llvm::ArrayRef<char const*>, bool, llvm::raw_ostream&, llvm::raw_ostream&) (/home/buildbots/ppc64le-lld-multistage-test/ppc64le-lld-multistage-test/install/stage1/bin/ld.lld+0x105666a4)
#16 0x0000000010306d0c main (/home/buildbots/ppc64le-lld-multistage-test/ppc64le-lld-multistage-test/install/stage1/bin/ld.lld+0x10306d0c)
#17 0x00007fff9f8549f8 generic_start_main.isra.0 (/lib64/libc.so.6+0x249f8)
#18 0x00007fff9f854be4 __libc_start_main (/lib64/libc.so.6+0x24be4)
clang-12: error: unable to execute command: Aborted (core dumped)
Sun, Aug 2, 2:02 PM · Restricted Project

Fri, Jul 31

phosek added a reverting change for rGb4c7657ba602: [ELF] Add --dependency-file option: rG0bd918c828fe: Revert "[ELF] Add --dependency-file option".
Fri, Jul 31, 1:13 AM
phosek committed rG0bd918c828fe: Revert "[ELF] Add --dependency-file option" (authored by phosek).
Revert "[ELF] Add --dependency-file option"
Fri, Jul 31, 1:13 AM
phosek added a reverting change for D82437: [ELF] Add --dependency-file option: rG0bd918c828fe: Revert "[ELF] Add --dependency-file option".
Fri, Jul 31, 1:13 AM · Restricted Project

Thu, Jul 30

phosek added a comment to D76482: [lld][ELF] Provide optional hidden symbols for build ID.

The proposed solution with an input linker script is a clever kludge, but it's a kludge. There's no way to make that actually general, since there is no particular named section that you can correctly assume is present in all kinds of binaries you might be linking. The kludge could be locally tailored for different cases, but that is even worse. Since the section and layout we're talking about here is entirely synthesized by the linker, it makes a lot more sense to have the linker support convenience features for using that format directly than to require users to build detailed kludges baking in the details of the linker's built-in synthesizing behavior.

This may worth a discussion on binutils. There can be several alternative syntax which may meet your needs.

Thu, Jul 30, 2:47 PM · Restricted Project
phosek committed rG3ff7dcded213: [CMake][Fuchsia] Include additional tools in the toolchain (authored by phosek).
[CMake][Fuchsia] Include additional tools in the toolchain
Thu, Jul 30, 1:08 PM
phosek closed D83999: [CMake][Fuchsia] Include additional tools in the toolchain.
Thu, Jul 30, 1:08 PM · Restricted Project
phosek committed rGb4c7657ba602: [ELF] Add --dependency-file option (authored by phosek).
[ELF] Add --dependency-file option
Thu, Jul 30, 12:56 PM
phosek closed D82437: [ELF] Add --dependency-file option.
Thu, Jul 30, 12:56 PM · Restricted Project
phosek added inline comments to D82437: [ELF] Add --dependency-file option.
Thu, Jul 30, 12:31 PM · Restricted Project
phosek updated the diff for D82437: [ELF] Add --dependency-file option.
Thu, Jul 30, 12:30 PM · Restricted Project

Wed, Jul 29

phosek added a comment to D76482: [lld][ELF] Provide optional hidden symbols for build ID.

I have updated the patch to introduce a pair of __build_id_start and __build_id_end which point at the beginning and the end of the payload so users of these symbols don't need to parse the note headers which simplifies usage.

@mcgrathr's comment https://reviews.llvm.org/D76482#1934097 has not been addressed. I think you can achieve your goal without any new code:

SECTIONS {
  .note.gnu.build-id : {
    __start_note_gnu_build_id = .;
    *(.note.gnu.build-id)
    __stop_note_gnu_build_id = .;
  }
} INSERT BEFORE .dynsym;

INSERT BEFORE|AFTER is special. They are not considered an external linker script (ld.bfd -T a.x --verbose).

If you still want to go down this route, I hope we can see an attempt to sell this idea on binutils side.

In the latest patch __build_id_start and __build_id_end point to the payload, not beginning and end of the section, so users don't have to parse the note header, which is what @mcgrathr mentioned in his comment, or is there something else you have in mind? This is also something you cannot replicate with the linker script, with the linker you can point at the beginning and the end of the section, but not the payload.

Doesn't my INSERT BEFORE example point the symbols at the beginning and the end of the section? You can use HIDDEN or PROVIDE_HIDDEN if you want them to be hidden.

Wed, Jul 29, 10:47 PM · Restricted Project
phosek added a comment to D76482: [lld][ELF] Provide optional hidden symbols for build ID.

I have updated the patch to introduce a pair of __build_id_start and __build_id_end which point at the beginning and the end of the payload so users of these symbols don't need to parse the note headers which simplifies usage.

@mcgrathr's comment https://reviews.llvm.org/D76482#1934097 has not been addressed. I think you can achieve your goal without any new code:

SECTIONS {
  .note.gnu.build-id : {
    __start_note_gnu_build_id = .;
    *(.note.gnu.build-id)
    __stop_note_gnu_build_id = .;
  }
} INSERT BEFORE .dynsym;

INSERT BEFORE|AFTER is special. They are not considered an external linker script (ld.bfd -T a.x --verbose).

If you still want to go down this route, I hope we can see an attempt to sell this idea on binutils side.

Wed, Jul 29, 10:25 PM · Restricted Project
phosek added a comment to D82437: [ELF] Add --dependency-file option.

Ping

Wed, Jul 29, 2:03 PM · Restricted Project
phosek added a comment to D76482: [lld][ELF] Provide optional hidden symbols for build ID.

I have updated the patch to introduce a pair of __build_id_start and __build_id_end which point at the beginning and the end of the payload so users of these symbols don't need to parse the note headers which simplifies usage.

Wed, Jul 29, 9:27 AM · Restricted Project
phosek updated the diff for D76482: [lld][ELF] Provide optional hidden symbols for build ID.
Wed, Jul 29, 9:00 AM · Restricted Project

Tue, Jul 28

phosek updated the diff for D82437: [ELF] Add --dependency-file option.
Tue, Jul 28, 11:02 AM · Restricted Project

Mon, Jul 27

phosek updated the diff for D84563: [CMake] Simplify CMake handling for libxml2.
Mon, Jul 27, 5:17 PM · Restricted Project
phosek committed rG64d99cc6abed: [CMake] Move find_package(ZLIB) to LLVMConfig (authored by phosek).
[CMake] Move find_package(ZLIB) to LLVMConfig
Mon, Jul 27, 5:14 PM
phosek closed D84691: [CMake] Move find_package(ZLIB) to LLVMConfig.
Mon, Jul 27, 5:14 PM · Restricted Project, Restricted Project, Restricted Project, Restricted Project
phosek added inline comments to D79219: [CMake] Simplify CMake handling for zlib.
Mon, Jul 27, 11:59 AM · Restricted Project, Restricted Project, Restricted Project, Restricted Project, Restricted Project
Herald added projects to D84691: [CMake] Move find_package(ZLIB) to LLVMConfig: Restricted Project, Restricted Project, Restricted Project, Restricted Project.
Mon, Jul 27, 11:58 AM · Restricted Project, Restricted Project, Restricted Project, Restricted Project

Fri, Jul 24

phosek updated the diff for D84563: [CMake] Simplify CMake handling for libxml2.
Fri, Jul 24, 3:53 PM · Restricted Project
Herald added a project to D84563: [CMake] Simplify CMake handling for libxml2: Restricted Project.
Fri, Jul 24, 3:52 PM · Restricted Project
phosek committed rGc86f56e32e72: [CMake] Find zlib when building lldb as standalone (authored by phosek).
[CMake] Find zlib when building lldb as standalone
Fri, Jul 24, 1:41 PM
phosek accepted D84543: [compiler-rt][CMake] Remove unused -stdlib when passing -nostdinc++.

LGTM

Fri, Jul 24, 1:30 PM · Restricted Project

Thu, Jul 23

phosek committed rG10b1b4a231a4: [CMake] Simplify CMake handling for zlib (authored by phosek).
[CMake] Simplify CMake handling for zlib
Thu, Jul 23, 11:06 PM
phosek closed D79219: [CMake] Simplify CMake handling for zlib.
Thu, Jul 23, 11:06 PM · Restricted Project, Restricted Project, Restricted Project, Restricted Project, Restricted Project
phosek updated the diff for D79219: [CMake] Simplify CMake handling for zlib.
Thu, Jul 23, 5:51 PM · Restricted Project, Restricted Project, Restricted Project, Restricted Project, Restricted Project
phosek reopened D79219: [CMake] Simplify CMake handling for zlib.
Thu, Jul 23, 5:51 PM · Restricted Project, Restricted Project, Restricted Project, Restricted Project, Restricted Project
phosek added a comment to D82437: [ELF] Add --dependency-file option.

Do you have any other comments? I'd like to see this landed.

Thu, Jul 23, 4:30 PM · Restricted Project
phosek accepted D68880: [libc++] Use generator expression in Linker script generation.

@phosek Can you make sure this works on Linux with the runtimes build?

Thu, Jul 23, 4:13 PM · Restricted Project
phosek committed rG38c71b7c85ca: Revert "[CMake] Simplify CMake handling for zlib" (authored by phosek).
Revert "[CMake] Simplify CMake handling for zlib"
Thu, Jul 23, 3:14 PM
phosek added a reverting change for rG1d09ecf36175: [CMake] Simplify CMake handling for zlib: rG38c71b7c85ca: Revert "[CMake] Simplify CMake handling for zlib".
Thu, Jul 23, 3:14 PM
phosek committed rG1d09ecf36175: [CMake] Simplify CMake handling for zlib (authored by phosek).
[CMake] Simplify CMake handling for zlib
Thu, Jul 23, 2:48 PM
phosek closed D79219: [CMake] Simplify CMake handling for zlib.
Thu, Jul 23, 2:47 PM · Restricted Project, Restricted Project, Restricted Project, Restricted Project, Restricted Project

Tue, Jul 21

phosek accepted D80873: [clang][cmake] Force CMAKE_LINKER for multistage build in case of BOOTSTRAP_LLVM_ENABLE_LLD and MSVC.

LGTM

Tue, Jul 21, 10:52 AM · Restricted Project, Restricted Project

Fri, Jul 17

phosek added a comment to D83247: [compiler-rt][asan][hwasan] Refactor shadow setup into sanitizer_common (NFCI).
Fri, Jul 17, 3:16 PM · Restricted Project
phosek added a comment to D83247: [compiler-rt][asan][hwasan] Refactor shadow setup into sanitizer_common (NFCI).

Sorry about that! I see that this code when it was in asan before my patch was guarded by:
#if !SANITIZER_FUCHSIA && !SANITIZER_RTEMS
so probably I should guard it the same way here.

Also, while the error above doesn't show any undefs coming from ProtectGap, I'm assuming that will give the same issue as it was moved to the same place and references MmapFixedNoAccess. Both were guarded before in asan and I'll add the guard here and commit shortly. I guess hwasan wasn't built on Fuchscia since it didn't have the guards around its version?

Fri, Jul 17, 2:00 PM · Restricted Project
phosek added a comment to D83247: [compiler-rt][asan][hwasan] Refactor shadow setup into sanitizer_common (NFCI).

This broke Fuchsia's toolchain build which is now failing with the following error:

FAILED: /b/s/w/ir/k/recipe_cleanup/clangro8g9J/llvm_build/lib/clang/12.0.0/lib/x86_64-unknown-fuchsia/libclang_rt.ubsan_standalone.so 
: && /b/s/w/ir/k/recipe_cleanup/clangro8g9J/llvm_build/./bin/clang++ --target=x86_64-unknown-fuchsia --sysroot=/b/s/w/ir/k/cipd/sdk/arch/x64/sysroot -fPIC --target=x86_64-unknown-fuchsia -I/b/s/w/ir/k/cipd/sdk/pkg/fdio/include -fPIC -fvisibility-inlines-hidden -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wstring-conversion -ffunction-sections -fdata-sections -ffile-prefix-map=/b/s/w/ir/k/recipe_cleanup/clangro8g9J/llvm_build/runtimes/runtimes-x86_64-unknown-fuchsia-bins=../recipe_cleanup/clangro8g9J/llvm_build/runtimes/runtimes-x86_64-unknown-fuchsia-bins -ffile-prefix-map=/b/s/w/ir/k/llvm-project/= -no-canonical-prefixes -Wall -std=c++14 -Wno-unused-parameter -O2 -g  -L/b/s/w/ir/k/cipd/sdk/arch/x64/lib    -nodefaultlibs -Wl,-z,text -Wl,-z,defs,-z,now,-z,relro -Wl,--version-script,/b/s/w/ir/k/recipe_cleanup/clangro8g9J/llvm_build/runtimes/runtimes-x86_64-unknown-fuchsia-bins/compiler-rt/lib/ubsan/clang_rt.ubsan_standalone-dynamic-x86_64.vers -shared -Wl,-soname,libclang_rt.ubsan_standalone.so -o /b/s/w/ir/k/recipe_cleanup/clangro8g9J/llvm_build/lib/clang/12.0.0/lib/x86_64-unknown-fuchsia/libclang_rt.ubsan_standalone.so compiler-rt/lib/sanitizer_common/CMakeFiles/RTSanitizerCommon.x86_64.dir/sanitizer_allocator.cpp.obj compiler-rt/lib/sanitizer_common/CMakeFiles/RTSanitizerCommon.x86_64.dir/sanitizer_common.cpp.obj compiler-rt/lib/sanitizer_common/CMakeFiles/RTSanitizerCommon.x86_64.dir/sanitizer_deadlock_detector1.cpp.obj compiler-rt/lib/sanitizer_common/CMakeFiles/RTSanitizerCommon.x86_64.dir/sanitizer_deadlock_detector2.cpp.obj compiler-rt/lib/sanitizer_common/CMakeFiles/RTSanitizerCommon.x86_64.dir/sanitizer_errno.cpp.obj compiler-rt/lib/sanitizer_common/CMakeFiles/RTSanitizerCommon.x86_64.dir/sanitizer_file.cpp.obj compiler-rt/lib/sanitizer_common/CMakeFiles/RTSanitizerCommon.x86_64.dir/sanitizer_flags.cpp.obj compiler-rt/lib/sanitizer_common/CMakeFiles/RTSanitizerCommon.x86_64.dir/sanitizer_flag_parser.cpp.obj compiler-rt/lib/sanitizer_common/CMakeFiles/RTSanitizerCommon.x86_64.dir/sanitizer_fuchsia.cpp.obj compiler-rt/lib/sanitizer_common/CMakeFiles/RTSanitizerCommon.x86_64.dir/sanitizer_libc.cpp.obj compiler-rt/lib/sanitizer_common/CMakeFiles/RTSanitizerCommon.x86_64.dir/sanitizer_libignore.cpp.obj compiler-rt/lib/sanitizer_common/CMakeFiles/RTSanitizerCommon.x86_64.dir/sanitizer_linux.cpp.obj compiler-rt/lib/sanitizer_common/CMakeFiles/RTSanitizerCommon.x86_64.dir/sanitizer_linux_s390.cpp.obj compiler-rt/lib/sanitizer_common/CMakeFiles/RTSanitizerCommon.x86_64.dir/sanitizer_mac.cpp.obj compiler-rt/lib/sanitizer_common/CMakeFiles/RTSanitizerCommon.x86_64.dir/sanitizer_netbsd.cpp.obj compiler-rt/lib/sanitizer_common/CMakeFiles/RTSanitizerCommon.x86_64.dir/sanitizer_openbsd.cpp.obj compiler-rt/lib/sanitizer_common/CMakeFiles/RTSanitizerCommon.x86_64.dir/sanitizer_persistent_allocator.cpp.obj compiler-rt/lib/sanitizer_common/CMakeFiles/RTSanitizerCommon.x86_64.dir/sanitizer_platform_limits_freebsd.cpp.obj compiler-rt/lib/sanitizer_common/CMakeFiles/RTSanitizerCommon.x86_64.dir/sanitizer_platform_limits_linux.cpp.obj compiler-rt/lib/sanitizer_common/CMakeFiles/RTSanitizerCommon.x86_64.dir/sanitizer_platform_limits_netbsd.cpp.obj compiler-rt/lib/sanitizer_common/CMakeFiles/RTSanitizerCommon.x86_64.dir/sanitizer_platform_limits_openbsd.cpp.obj compiler-rt/lib/sanitizer_common/CMakeFiles/RTSanitizerCommon.x86_64.dir/sanitizer_platform_limits_posix.cpp.obj compiler-rt/lib/sanitizer_common/CMakeFiles/RTSanitizerCommon.x86_64.dir/sanitizer_platform_limits_solaris.cpp.obj compiler-rt/lib/sanitizer_common/CMakeFiles/RTSanitizerCommon.x86_64.dir/sanitizer_posix.cpp.obj compiler-rt/lib/sanitizer_common/CMakeFiles/RTSanitizerCommon.x86_64.dir/sanitizer_printf.cpp.obj compiler-rt/lib/sanitizer_common/CMakeFiles/RTSanitizerCommon.x86_64.dir/sanitizer_procmaps_common.cpp.obj compiler-rt/lib/sanitizer_common/CMakeFiles/RTSanitizerCommon.x86_64.dir/sanitizer_procmaps_bsd.cpp.obj compiler-rt/lib/sanitizer_common/CMakeFiles/RTSanitizerCommon.x86_64.dir/sanitizer_procmaps_fuchsia.cpp.obj compiler-rt/lib/sanitizer_common/CMakeFiles/RTSanitizerCommon.x86_64.dir/sanitizer_procmaps_linux.cpp.obj compiler-rt/lib/sanitizer_common/CMakeFiles/RTSanitizerCommon.x86_64.dir/sanitizer_procmaps_mac.cpp.obj compiler-rt/lib/sanitizer_common/CMakeFiles/RTSanitizerCommon.x86_64.dir/sanitizer_procmaps_solaris.cpp.obj compiler-rt/lib/sanitizer_common/CMakeFiles/RTSanitizerCommon.x86_64.dir/sanitizer_rtems.cpp.obj compiler-rt/lib/sanitizer_common/CMakeFiles/RTSanitizerCommon.x86_64.dir/sanitizer_solaris.cpp.obj compiler-rt/lib/sanitizer_common/CMakeFiles/RTSanitizerCommon.x86_64.dir/sanitizer_stoptheworld_fuchsia.cpp.obj compiler-rt/lib/sanitizer_common/CMakeFiles/RTSanitizerCommon.x86_64.dir/sanitizer_stoptheworld_mac.cpp.obj compiler-rt/lib/sanitizer_common/CMakeFiles/RTSanitizerCommon.x86_64.dir/sanitizer_suppressions.cpp.obj compiler-rt/lib/sanitizer_common/CMakeFiles/RTSanitizerCommon.x86_64.dir/sanitizer_tls_get_addr.cpp.obj compiler-rt/lib/sanitizer_common/CMakeFiles/RTSanitizerCommon.x86_64.dir/sanitizer_thread_registry.cpp.obj compiler-rt/lib/sanitizer_common/CMakeFiles/RTSanitizerCommon.x86_64.dir/sanitizer_type_traits.cpp.obj compiler-rt/lib/sanitizer_common/CMakeFiles/RTSanitizerCommon.x86_64.dir/sanitizer_win.cpp.obj compiler-rt/lib/sanitizer_common/CMakeFiles/RTSanitizerCommon.x86_64.dir/sanitizer_termination.cpp.obj compiler-rt/lib/sanitizer_common/CMakeFiles/RTSanitizerCommonLibc.x86_64.dir/sanitizer_common_libcdep.cpp.obj compiler-rt/lib/sanitizer_common/CMakeFiles/RTSanitizerCommonLibc.x86_64.dir/sanitizer_allocator_checks.cpp.obj compiler-rt/lib/sanitizer_common/CMakeFiles/RTSanitizerCommonLibc.x86_64.dir/sanitizer_linux_libcdep.cpp.obj compiler-rt/lib/sanitizer_common/CMakeFiles/RTSanitizerCommonLibc.x86_64.dir/sanitizer_mac_libcdep.cpp.obj compiler-rt/lib/sanitizer_common/CMakeFiles/RTSanitizerCommonLibc.x86_64.dir/sanitizer_posix_libcdep.cpp.obj compiler-rt/lib/sanitizer_common/CMakeFiles/RTSanitizerCommonLibc.x86_64.dir/sanitizer_stoptheworld_linux_libcdep.cpp.obj compiler-rt/lib/sanitizer_common/CMakeFiles/RTSanitizerCommonLibc.x86_64.dir/sanitizer_stoptheworld_netbsd_libcdep.cpp.obj compiler-rt/lib/sanitizer_common/CMakeFiles/RTSanitizerCommonCoverage.x86_64.dir/sancov_flags.cpp.obj compiler-rt/lib/sanitizer_common/CMakeFiles/RTSanitizerCommonCoverage.x86_64.dir/sanitizer_coverage_fuchsia.cpp.obj compiler-rt/lib/sanitizer_common/CMakeFiles/RTSanitizerCommonCoverage.x86_64.dir/sanitizer_coverage_libcdep_new.cpp.obj compiler-rt/lib/sanitizer_common/CMakeFiles/RTSanitizerCommonCoverage.x86_64.dir/sanitizer_coverage_win_sections.cpp.obj compiler-rt/lib/sanitizer_common/CMakeFiles/RTSanitizerCommonSymbolizer.x86_64.dir/sanitizer_allocator_report.cpp.obj compiler-rt/lib/sanitizer_common/CMakeFiles/RTSanitizerCommonSymbolizer.x86_64.dir/sanitizer_stackdepot.cpp.obj compiler-rt/lib/sanitizer_common/CMakeFiles/RTSanitizerCommonSymbolizer.x86_64.dir/sanitizer_stacktrace.cpp.obj compiler-rt/lib/sanitizer_common/CMakeFiles/RTSanitizerCommonSymbolizer.x86_64.dir/sanitizer_stacktrace_libcdep.cpp.obj compiler-rt/lib/sanitizer_common/CMakeFiles/RTSanitizerCommonSymbolizer.x86_64.dir/sanitizer_stacktrace_printer.cpp.obj compiler-rt/lib/sanitizer_common/CMakeFiles/RTSanitizerCommonSymbolizer.x86_64.dir/sanitizer_stacktrace_sparc.cpp.obj compiler-rt/lib/sanitizer_common/CMakeFiles/RTSanitizerCommonSymbolizer.x86_64.dir/sanitizer_symbolizer.cpp.obj compiler-rt/lib/sanitizer_common/CMakeFiles/RTSanitizerCommonSymbolizer.x86_64.dir/sanitizer_symbolizer_libbacktrace.cpp.obj compiler-rt/lib/sanitizer_common/CMakeFiles/RTSanitizerCommonSymbolizer.x86_64.dir/sanitizer_symbolizer_libcdep.cpp.obj compiler-rt/lib/sanitizer_common/CMakeFiles/RTSanitizerCommonSymbolizer.x86_64.dir/sanitizer_symbolizer_mac.cpp.obj compiler-rt/lib/sanitizer_common/CMakeFiles/RTSanitizerCommonSymbolizer.x86_64.dir/sanitizer_symbolizer_markup.cpp.obj compiler-rt/lib/sanitizer_common/CMakeFiles/RTSanitizerCommonSymbolizer.x86_64.dir/sanitizer_symbolizer_posix_libcdep.cpp.obj compiler-rt/lib/sanitizer_common/CMakeFiles/RTSanitizerCommonSymbolizer.x86_64.dir/sanitizer_symbolizer_report.cpp.obj compiler-rt/lib/sanitizer_common/CMakeFiles/RTSanitizerCommonSymbolizer.x86_64.dir/sanitizer_symbolizer_win.cpp.obj compiler-rt/lib/sanitizer_common/CMakeFiles/RTSanitizerCommonSymbolizer.x86_64.dir/sanitizer_unwind_linux_libcdep.cpp.obj compiler-rt/lib/sanitizer_common/CMakeFiles/RTSanitizerCommonSymbolizer.x86_64.dir/sanitizer_unwind_win.cpp.obj compiler-rt/lib/ubsan/CMakeFiles/RTUbsan.x86_64.dir/ubsan_diag.cpp.obj compiler-rt/lib/ubsan/CMakeFiles/RTUbsan.x86_64.dir/ubsan_init.cpp.obj compiler-rt/lib/ubsan/CMakeFiles/RTUbsan.x86_64.dir/ubsan_flags.cpp.obj compiler-rt/lib/ubsan/CMakeFiles/RTUbsan.x86_64.dir/ubsan_handlers.cpp.obj compiler-rt/lib/ubsan/CMakeFiles/RTUbsan.x86_64.dir/ubsan_monitor.cpp.obj compiler-rt/lib/ubsan/CMakeFiles/RTUbsan.x86_64.dir/ubsan_value.cpp.obj compiler-rt/lib/ubsan/CMakeFiles/RTUbsan_cxx.x86_64.dir/ubsan_handlers_cxx.cpp.obj compiler-rt/lib/ubsan/CMakeFiles/RTUbsan_cxx.x86_64.dir/ubsan_type_hash.cpp.obj compiler-rt/lib/ubsan/CMakeFiles/RTUbsan_cxx.x86_64.dir/ubsan_type_hash_itanium.cpp.obj compiler-rt/lib/ubsan/CMakeFiles/RTUbsan_cxx.x86_64.dir/ubsan_type_hash_win.cpp.obj compiler-rt/lib/ubsan/CMakeFiles/RTUbsan_standalone.x86_64.dir/ubsan_diag_standalone.cpp.obj compiler-rt/lib/ubsan/CMakeFiles/RTUbsan_standalone.x86_64.dir/ubsan_init_standalone.cpp.obj compiler-rt/lib/ubsan/CMakeFiles/RTUbsan_standalone.x86_64.dir/ubsan_signals_standalone.cpp.obj compiler-rt/lib/interception/CMakeFiles/RTInterception.x86_64.dir/interception_linux.cpp.obj compiler-rt/lib/interception/CMakeFiles/RTInterception.x86_64.dir/interception_mac.cpp.obj compiler-rt/lib/interception/CMakeFiles/RTInterception.x86_64.dir/interception_win.cpp.obj compiler-rt/lib/interception/CMakeFiles/RTInterception.x86_64.dir/interception_type_test.cpp.obj compiler-rt/lib/ubsan/CMakeFiles/RTUbsan_dynamic_version_script_dummy.x86_64.dir/dummy.cpp.obj -L/b/s/w/ir/k/cipd/sdk/arch/x64/lib  -L/b/s/w/ir/k/cipd/sdk/arch/x64/sysroot/lib /b/s/w/ir/k/recipe_cleanup/clangro8g9J/llvm_build/lib/x86_64-unknown-fuchsia/c++/libunwind.a /b/s/w/ir/k/recipe_cleanup/clangro8g9J/llvm_build/lib/x86_64-unknown-fuchsia/c++/libc++abi.so.1.0 -lc -lzircon -ldl -lrt -lpthread /b/s/w/ir/k/recipe_cleanup/clangro8g9J/llvm_build/lib/clang/12.0.0/lib/x86_64-unknown-fuchsia/libclang_rt.builtins.a -lc && :
ld.lld: error: undefined symbol: __sanitizer::MmapFixedSuperNoReserve(unsigned long, unsigned long, char const*)
>>> referenced by sanitizer_common_libcdep.cpp:150 (compiler-rt/lib/sanitizer_common/sanitizer_common_libcdep.cpp:150)
>>>               compiler-rt/lib/sanitizer_common/CMakeFiles/RTSanitizerCommonLibc.x86_64.dir/sanitizer_common_libcdep.cpp.obj:(__sanitizer::ReserveShadowMemoryRange(unsigned long, unsigned long, char const*, bool))
Fri, Jul 17, 1:25 PM · Restricted Project

Thu, Jul 16

Herald added a project to D83999: [CMake][Fuchsia] Include additional tools in the toolchain: Restricted Project.
Thu, Jul 16, 7:52 PM · Restricted Project
phosek added inline comments to D82437: [ELF] Add --dependency-file option.
Thu, Jul 16, 7:40 PM · Restricted Project

Wed, Jul 15

Herald added a reviewer for D83911: [libcxx] Move the libc++ header paths to the common location: Restricted Project.
Wed, Jul 15, 2:36 PM · Restricted Project
phosek committed rG3577317b6d6b: [CMake][runtimes] Pass the CMAKE_ARGS to runtimes build correctly (authored by phosek).
[CMake][runtimes] Pass the CMAKE_ARGS to runtimes build correctly
Wed, Jul 15, 9:25 AM
phosek closed D83842: [CMake][runtimes] Pass the CMAKE_ARGS to runtimes build correctly.
Wed, Jul 15, 9:25 AM · Restricted Project
phosek added a comment to D79219: [CMake] Simplify CMake handling for zlib.

I wouldn't mind separate (internal) cache variable, though I am somewhat surprised by this problem. A (non-cache) variable set in one of the parent scopes should still take precedence over a cache variable with the same name. And since config-ix.cmake is included from the top CMakeLists.txt, the value it defines should be available everywhere. Was this a problem for the regular build, or only for some of the more exotic build setups that don't start with llvm/CMakeLists.txt ?

Wed, Jul 15, 9:17 AM · Restricted Project, Restricted Project, Restricted Project, Restricted Project, Restricted Project
phosek updated the diff for D79219: [CMake] Simplify CMake handling for zlib.
Wed, Jul 15, 9:14 AM · Restricted Project, Restricted Project, Restricted Project, Restricted Project, Restricted Project

Tue, Jul 14

phosek reopened D79219: [CMake] Simplify CMake handling for zlib.

I had to revert this change because it broke bots that don't have zlib installed. What I haven't realized is that the shadowed variable will only be accessible from the same file. I could move the logic from llvm/lib/Support/CMakeLists.txt into llvm/cmake/config-ix.cmake, but that doesn't handle all the other files that need to access that variable, such as all the */test/CMakeLists.txt files. So I don't know if shadowing is the way to go here. Maybe we should set a different internal cached variable (HAVE_LIBZ?) and use that to check if zlib is available. What do you think?

Tue, Jul 14, 8:02 PM · Restricted Project, Restricted Project, Restricted Project, Restricted Project, Restricted Project
phosek committed rGbcd27d9d73f7: Revert "[CMake] Simplify CMake handling for zlib" (authored by phosek).
Revert "[CMake] Simplify CMake handling for zlib"
Tue, Jul 14, 7:56 PM
phosek added a reverting change for rG8c1a79dc12f3: [CMake] Simplify CMake handling for zlib: rGbcd27d9d73f7: Revert "[CMake] Simplify CMake handling for zlib".
Tue, Jul 14, 7:56 PM
phosek committed rG8c1a79dc12f3: [CMake] Simplify CMake handling for zlib (authored by phosek).
[CMake] Simplify CMake handling for zlib
Tue, Jul 14, 7:30 PM
phosek closed D79219: [CMake] Simplify CMake handling for zlib.
Tue, Jul 14, 7:30 PM · Restricted Project, Restricted Project, Restricted Project, Restricted Project, Restricted Project
Herald added a project to D83842: [CMake][runtimes] Pass the CMAKE_ARGS to runtimes build correctly: Restricted Project.
Tue, Jul 14, 7:27 PM · Restricted Project