User Details
- User Since
- Dec 20 2016, 2:51 AM (326 w, 5 d)
Jan 13 2022
Jul 30 2018
LGTM
Nothing significant from my original diff survives, so as far as copyright is concerned, this can totally be considered to be Peter's work.
May 17 2018
Would one of you be so kind to commit this for me?
May 15 2018
New diff that fixes the regression test.
May 14 2018
Mar 8 2018
As @rafael noticed in a follow-up by mail, OpenBSD doesn't implement support for DF_TEXTREL. I don't see a reason why we couldn't so I've implemented support and expect it to be committed before OpenBSD 6.3 is released.
Mar 1 2018
Nov 22 2017
Looks like a good improvement to me.
Nov 2 2017
Jul 25 2017
I added support for .init_array and .fini_array to OpenBSD's ld.so almost a year ago. It hasn't been extensively tested on architectures other than arm64, but there is no reason why it shouldn't work on other architectures. We don't really have any ABI concerns.
Jul 1 2017
Diff has been committed in r304008.
Jun 29 2017
It is not completely obvious to me that this is indeed equivalent as the semantics of R_GOTONLY_PC, but it seems to work. I think it works because we define _GLOBAL_OFFSET_TABLE_ as hidden. This no longer forces the creation of an empty GOT but I think the use of these relocation implies that there is a non-empty GOT already.
Jun 28 2017
New diff that addresses the comments raised so far.
Jun 27 2017
Jun 26 2017
Was thinking about the older SPARCV7 CPUs used in the sun4 and sun4c machines when I made that remark. But it seems that even the SPARCV8 reference MMU uses a 4K page size. Nevertheless one would probably still use 8K as the "minimum" page size for 32-bit code to allow code to run on SPARCV9 hardware. That is what the GNU toolchain does.
For 64-bit SPARC (SPARCV9) the relevant document is https://sparc.org/wp-content/uploads/2014/01/SCD.2.4.1.pdf.gz. Older versions and related documents are available at https://sparc.org/technical-documents/specifications/.
May 24 2017
May 23 2017
Updated diff adapted to the changes that have been made to the function that determines the section ordering. Also adjusts the testsuite for the changed ordering,
May 1 2017
Apr 25 2017
Apr 24 2017
Apr 23 2017
Apr 20 2017
Generally looks reasonable to me. A few comments inline.
Mar 29 2017
The core file reading bits look ok to me.
Mar 26 2017
On OpenBSD the register context used in core dumps uses the same layout as ptrace(2). That's not the case on all OSes, but I believe that is the case for NetBSD as well. Would it be possible to re-use the register context data structures defined in the source/Plugins/Process/Utility/ directory?
Can somebody commit this diff for me?
Mar 24 2017
Updated diff to account for the FileSpec.h move.
Mar 23 2017
Apologies. Previous diff contained a bogus change to DYLDRendezvous.cpp and a formatting botch. Please review this updated version instead,
New diff. This one adds support for OpenBSD/amd64, OpenBSD/arm, OpenBSD/arm64 and OpenBSD/i386. I'm holding off on resorting existing code. I'm willing to do that in a separate diff.
Mar 20 2017
Will revise the diff based on your comments. Thanks!
Mar 19 2017
Feb 27 2017
Could you commit this for me?
Feb 25 2017
Thanks for the review. This new version expands the comment to explain why we're adding the terminator.
Feb 24 2017
Jan 23 2017
Thanks. I don't have commit access, so I'd appreciate it if somebody could commit this for me.
Apologies. Forgot to add a test. The test now also tests the --no-define-common option.
New diff that addresses the issues raised by Rui.
Jan 22 2017
New diff that return zero as the VA but sets st_value to the alignment for SHN_COMMON symbols.
Now also includes a test case.
Jan 21 2017
h>>! In D28984#652498, @ruiu wrote:
Can you add a test?
Jan 5 2017
FWIW, the Solaris linker doesn't merge sections purely on based on name, but the GNU linker does so there probably is plenty of code that depends on this "feature".
Dec 21 2016
Rafael pointed out that the current behaviour matches the ELF specification.
Rafael pointed out that the current behaviour matches the ELF specification.
My guess is that it is an (undocumented) GNU extension. FreeBSD's libarchive-based cpio obviously attempts to implement the GNU extensions.
OpenBSD used a different cpio implementation inherited from NetBSD, and we generally avoid implementing GNU extensions to encourage our
users to write portable code/scripts. FWIW, the Solaris cpio doesn't accept -t without -i either.
Dec 20 2016
Note that the cited PR is about merging segments instead of sections; a not entirely unrelated, but different issue.
Added a test case.
Didn't write a test for this yet as I couldn't figure out how to create a test with multiple input object files
Is there an example of such a test in the lld test suite?