- User Since
- Jun 6 2018, 11:31 PM (89 w, 1 d)
Wed, Feb 19
Boots OK on my RB800.
Mon, Feb 17
Wed, Feb 12
(A blatant error in that document is that it defines that the resolver takes no parameters. Given the resolver is called before the PLT is up and running, this is stupid, because on non x86* cpus, the cpu model information is coming from the auxv and is not directly available through an unprivileged instruction, so the workaround on x86* of __builtin_cpu_supports() calls is nonsensical. FreeBSD ifuncs always pass the available cpu feature flags in as parameters to the resolver, even on x86* where you can theoretically get it from a compiler builtin)
Is there any case where IRELATIVE is used outside of GNU IFUNC btw?
fwiw I believe obj->gnu_ifunc is a vestigial bit of an earlier attempt to do non-plt ifuncs that got killed off in rS343484 and is the same as you are doing now (i.e. non-plt ifuncs)
Tue, Feb 11
OK, that appears to do the trick.
Mon, Feb 10
yep, I moved the setting of addr up a bit and I no longer crash.
Ahh, right below. So I guess we're using it unitialized, so it uses a random pointer from the stack.
It did not.
I will be working on this offline in the background after reviewing the relevant past conversations.
Well, because I'm planning on removing the interface once I have converted everything over to INTRNG.
Fri, Feb 7
I kinda wonder if what I'm running into is a corner case where the main program has no TLS section yet still creates threads.
Putting myself on the review list becasue this has been part of my local patchset for a long time.
Wed, Feb 5
Tue, Feb 4
ah, misread IRC, it was luporl who jhibbits was asking regarding debugging rust.
Sun, Feb 2
OK. Got sidetracked by other float failures, but I might as well get this one in separately.
This is working nicely for me.
Thu, Jan 30
Yeah, I used to see this too (on either power9 or amigaone x5000, can't remember which.) IIRC, the problem is that if the tb is significantly unsynced, the callwheel algorithm falls over and misses wakeups for things.
Wed, Jan 29
Tested -j1024 /stand builds for powerpc, powerpc64, amd64, i386, aarch64, armv7, and riscv. No failures, significant speed improvement.
Tue, Jan 28
This removes the public kernel function stack_save() from some of the platforms.
Ohhhhhh, so THAT is why this has been such a headache?
Mon, Jan 27
Acknowleged. It looks to me like this one got missed in rS355656. Will take a proper look later.
Jan 22 2020
Jan 19 2020
Jan 18 2020
Invert the variable so it ends up in bss.
Works on my X5000, and looks good to me (other than needing to add that missing newline in the license in both cases)
I *meant* to alphabetize this in the first place.
This puts TRAP_GENTRAP back at its original address, too.
Use different address. I meant to have them next to each other but I jumped from f to d.
Hide the clamping code behind powerpc64 so 32-bit booke compiles.
Jan 17 2020
cpld0: <AmigaOne Cyrus CPLD> mem 0x4000000002010000-0x400000000201ffff on lbc0
cpld0: Build date: 2015-05-06
cpld0: Build time: 17:17:17
cpld0: Hardware revision: 8720
moving clamp down as per suggestion.
Looks good to me too. Thanks for putting this together!
Jan 13 2020
Jan 10 2020
libc itself calls _elf_aux_info directly instead of the weak elf_aux_info, so will *never* call _powerpc_elf_aux_info.
Jan 8 2020
Jan 7 2020
Jan 6 2020
Remove incorrect comments from original patch, add comment to describe why we're exiting instead.
OK, so my comments are incorrect in general. The nop still needs to go though.
Jan 3 2020
The changes look good to me as well.
Jan 2 2020
Dec 30 2019
Dec 27 2019
Tests went good.
Not sure who else I should be tagging on this. Almost added core as a group reviewer but changed my mind at the last minute, this seems too obvious and straightforward of a change to waste their time.
Dec 24 2019
Dec 17 2019
Yeah, been running with it for over a month.
Dec 14 2019
Dec 13 2019
Address review comments, separate the actual kmod changes so I can get the kernel linker bits in separately from the actual switch-to-PIC.
The reason I was sitting on this for so long is that I kept getting distracted with other things and never found the time to revisit this, and I was never quite happy with it.
Dec 12 2019
Needs reroll after rS355646.
Abandoning, after further thought, I'd really rather have it there so I know what the interface is capable of anyway.
Closing, as this was independently addressed in D22607.
This depends on the ifunc support code landing first, of course.