- User Since
- Sep 4 2015, 4:18 PM (123 w, 3 d)
Sun, Jan 14
Wed, Jan 10
I would be really great if this patch could be added to LLD soon. I believe this is the last change needed before we can use LLD to build the whole FreeBSD MIPS base system.
Mon, Jan 8
Mon, Dec 18
This will also be very useful for CHERI clang. It will allow me to remove some hacks I had to add in order to get information from the subtarget in the assembler backend.
Dec 12 2017
True, I didn't think of that. For us this will almost always work without adding an additional offset but I am not sure what the correct way to fix this is.
Dec 11 2017
Updated error message
Simplified ternary expression
I have added a similar patch to our CHERI clang fork and we have been using IAS to compile FreeBSD&CheriBSD for n64 for a while now.
I believe we have a branch where n32 almost works but for now we could just add -no-integrated-as in that case.
Dec 9 2017
Speed up lld invocation in test/ELF/many-alloc-sections.s lld invocation from 290s to <1s by not checking empty sections
Dec 8 2017
Addressed review comments
Dec 7 2017
Will keep this as a CHERI specific patch in our fork instead
Nov 30 2017
I checked Linux, FreeBSD and MacOS and only found it one Linux so I assumed it was Linux specific (especially since the commit that introduced it (r228767) only mentions Linux.
Should I just add || defined(__NetBSD__) or are there any other systems that might have it?
Nov 20 2017
Nov 17 2017
- merged with the other cases
- added both --sysroot=<path> and --sysroot <path> to the test
Nov 16 2017
Nov 14 2017
Nov 9 2017
I just tried applying this patch locally and compiling the FreeBSD kernel again. The runtime crash that goes away if I revert https://reviews.llvm.org/rL314794 is still present even with this patch.
Nov 7 2017
We could do it in the load however we would then have to hardcode a list of all special symbol names there. Also this will not work for static linking because we don't have a loader there and need LLD to fill in that information.
Originally we used a standalone tool that extracted the information from the symbol table because we had to use BFD for linking. Now we can use LLD (as long as we apply the multi-GOT patch D31528) for building all of FreeBSD (CheriBSD) so I have integrated the __cap_relocs generation into our fork of LLD. For some build we still use the standalone tool but we are now migrating towards using the integrated one for everything.
Nov 6 2017
We don't do any special casing based on symbol names, we only look at the information from the symbol table. I think having special cases based on the symbol name is very fragile so I'd rather set a size on all linker defined symbols that are used as dereferenceable pointers.
Nov 4 2017
- minor simplification
- updated all the tests
Nov 2 2017
Oct 25 2017
Thanks for the quick fix! I can confirm that we can now build all of CheriBSD with clang again.
Oct 20 2017
Oct 18 2017
Oct 17 2017
With this patch applied I can successfully compile the source file that was crashing. Thanks!
Oct 15 2017
Oct 13 2017
- Keep old behaviour for clang_getAddressSpace()
- renamed to getLangASFromTargetAS()
- rebased on latest trunk
Oct 12 2017
Removed the additional namespace
Oct 11 2017
Oct 6 2017
Added a test case.