- User Since
- Jul 4 2018, 7:23 PM (80 w, 5 d)
Fri, Jan 17
Yes, this is exactly what I had in mind.
Thu, Jan 16
Yes, looks good.
Sat, Jan 11
Yep, this is what I was thinking of (with the lla fixed). Thanks!
Ah yes, good point, looks good to me.
Tue, Jan 7
Ah yes that's nicer having it in kern.pre.mk, I think I naively just assumed kern.mk included kern.pre/post.mk and thus it wouldn't have helped.
Fri, Jan 3
Mon, Dec 30
Wrapped >80-character line.
Sun, Dec 29
Dec 5 2019
Dec 4 2019
Dec 3 2019
Note that this is the same fix as rS339072 for powerpc and rS342671 for powerpc64, and matches the mips implementation, all of which use Variant I TLS and thus should look the same (ignoring the values of the constants themselves).
In this instance it's uses of R_RISCV_JAL/R_RISCV_BRANCH rather than R_RISCV_CALL, but they all behave the same in BFD (plus their compressed variants, and interestingly also R_RISCV_PCREL_HI20). LLD will always error if you use these on undefined/preemptible symbols, much like any other architecture, whereas BFD does the weird resolution as John describes.
This is particularly beneficial as, for PIC code, which this will almost always be, la expands to auipc/ld to index the GOT, so we save a level of unnecessary indirection too. (This could have been lla instead to save the indirection but still take 2 instructions just to do the address calculation.)
Oct 20 2019
Oct 13 2019
We're ditching our extra CHERI_CC/CHERI_LD so this is no longer relevant to us.
Could you please commit this if you believe it is ready to land? Thanks.
Oct 11 2019
Oct 6 2019
Sep 18 2019
(FWIW, to complete the picture, -fPIE *is* accepted since it's still a position-independent code model and thus doesn't upset -mabicalls (though really PIC and ABI calls shouldn't be conflated), and thus overrides the implicit default -fPIC, giving initial exec as the default TLS model, so that might be a nicer way to go...)
Feb 10 2019
Ping? Seems this was never landed.
Dec 4 2018
Nov 2 2018
Do the same for X_LINKER_* too
Aug 10 2018
Fixed powerpc64's rtld_machdep.h (missed in the previous version), and introduced new calculate_tls_post_size MD macro.
Renamed MVPCONF0_PVPE to MVPCONF0_PVPE_MASK.
Aug 9 2018
Boots to userspace with -smp 4 on QEMU:
Removed unused m variable.