- User Since
- Apr 15 2014, 12:19 PM (201 w, 2 d)
Sat, Feb 17
Remove the __LAHFSAHF__ predefined macro.
Fri, Feb 16
Added the sahf feature for knm, knl and amdfam10 too.
Tue, Feb 13
Mon, Feb 12
Sun, Feb 11
LGTM minus a few nits, though it would be nice if you can verify that all the changed headers still compile in -std=c++98 and/or -std=gnu++98 mode.
Update to use a for loop for iterating over CMAKE_DL_LIBS, and while we are here, also use CMake's FindThreads module and CMAKE_THREAD_LIBS_INIT (this will contain -lpthread, if it is necessary for the target system).
It looks like test-suite has some sort of special handling for test executables, where it uses LDFLAGS instead of target_link_libraries():
One other problem is that CMAKE_DL_LIBS is meant for adding to cmake targets, e.g. it only contains the string "dl" on Linux. This means that you would have to add some sort of transformation to change it into "-ldl"... Way too complicated, if you ask me. :)
Sat, Feb 10
Wed, Feb 7
FWIW, this allows me to build wine again for x86_64, without any crashes or assertions. So that looks good, in any case.
Tue, Feb 6
LGTM, though a test case would be nice (could be added to tools/clang/test/Driver/freebsd.c)
Thu, Feb 1
Hmm, apparently CMake *always* returns a full path for find_library(), but we seem to ignore those, by doing (for example in libclang's CMakeLists.txt):
Tue, Jan 30
Jan 20 2018
Jan 18 2018
Jan 16 2018
LGTM, works for all my test cases.
Jan 13 2018
This has been committed as rL321657, closing.
Jan 12 2018
Jan 11 2018
Jan 9 2018
Jan 7 2018
Jan 6 2018
Jan 1 2018
For me, this works fine. Further reviews would be appreciated :)
Dec 29 2017
It looks like GNU bfd/elf.c looks at the MemSiz field in the program header, then adds that to PhysAddr to get the end address of the segment (see line 5541 in bfd/elf.c). In case of .init_array, .fini_array, .data.rel.ro and .preinit_array, the load address is before the end of the address, and that causes it to complain:
$ readelf -lSW /usr/obj/share/dim/src/freebsd/clang600-import/amd64.amd64/sys/GENERIC/kernel.full There are 68 section headers, starting at offset 0x642dc08:
This makes libelf (and thus ctfmerge and elftoolchain objcopy) accept the lld-linked kernel, and building succeeds. GNU objcopy still shows that it is adjusting sections:
$ /usr/local/bin/objcopy /usr/obj/share/dim/src/freebsd/clang600-import/amd64.amd64/sys/GENERIC/kernel.full kernel.test /usr/local/bin/objcopy: kernel.test: section .init_array lma 0x1734000 adjusted to 0x17340f0 /usr/local/bin/objcopy: kernel.test: section .fini_array lma 0x1734000 adjusted to 0x17340f0 /usr/local/bin/objcopy: kernel.test: section .data.rel.ro lma 0x1734000 adjusted to 0x17340f0 /usr/local/bin/objcopy: kernel.test: section .preinit_array lma 0x1734000 adjusted to 0x17340f0
However, that may be some quirk of GNU binutils's ELF handling...
Dec 28 2017
Dec 26 2017
Works for me too.
Dec 24 2017
Oops, checked in wrong revision. This has both fixes:
- Add NO_EXEC_STACK_DIRECTIVE, that can never hurt
- Remove chkstk*.S from non-Windows targets
Do not build chkstk.S and chkstk2.S for non-Windows targets.
Actually, having thought about it a little more, if the warning is "rather broken", or even "completely broken", depending on one's point of view, then maybe it is better not have it under -Wextra either? E.g. somebody has to ask for the warning specifically, using -Wtautological-constant-compare, or use -Weverything?
Yes, please. Rather sooner than later, the warning itself can be fixed post-6.0.0.
Dec 19 2017
Let's indeed drop this, since upstream readelf has been fixed.
Dec 18 2017
Dec 14 2017
Dec 11 2017
Add a test case.
Abandoned in favor of D41080.
Updated to also include <chrono> and <complex>. I think all cases are
Dec 10 2017
When I patch lld trunk rL320307 with this, executables linked by it make readelf (from binutils 2.28) produce a warning:
readelf: Warning: : Info field (0) should index a relocatable section.
And I still don't see any _end symbol in the executable.
Dec 8 2017
For the rest, LGTM. It fixes the segfault, for both the full original test case, and my reduced version.