DragonFly-2.1.1.328.gd9f47 master contrib/binutils-2.17/ld/emulparams sort-sections.sh gnu/usr.bin/binutils217/ld Makefile.amd64 Makefile.i386

Simon Schubert corecode at crater.dragonflybsd.org
Tue Jan 6 04:39:57 PST 2009


commit d9f47b9b82dc9e762119fd00267eef9a0268680a
Author: Simon Schubert <corecode at dragonflybsd.org>
Date:   Tue Jan 6 13:27:38 2009 +0100

    Sort the .note.ABI-tag section always to the front of a binary.
    
    Our kernel uses a special note section in the elf header to determine
    which ABI emulation to use.  However the kernel code expects this
    section to reside in the first page of a binary.
    Up to now, we were just lucky to get most of our binaries linked in a
    way so that the note section by chance wound up in the first page.
    Yet, this was never guaranteed to happen.
    
    Recent changes to the static library build pushed the note section
    after the first page (3rd order effect), so that the kernel could not
    determine the correct ABI emulation anymore.
    
    There are two possible fixes:
    For one, the kernel could be changed to accept note sections located
    anywhere in the binary.  This however does not apply to already deployed
    systems, which could face problems when upgrading.
    
    Second, we could ensure that the note tag always winds up in the first
    page of a binary.  We take this approach by changing our linker scripts
    to sort the .note.ABI-tag section to the front.

Summary of changes:
 .../binutils-2.17/ld/emulparams/sort-sections.sh   |   10 +++++++++
 gnu/usr.bin/binutils217/ld/Makefile.amd64          |   22 ++++++++++++-------
 gnu/usr.bin/binutils217/ld/Makefile.i386           |   11 ++++++---
 3 files changed, 31 insertions(+), 12 deletions(-)
 create mode 100644 contrib/binutils-2.17/ld/emulparams/sort-sections.sh

http://gitweb.dragonflybsd.org/?p=dragonfly.git;a=commitdiff;h=d9f47b9b82dc9e762119fd00267eef9a0268680a


-- 
DragonFly BSD source repository





More information about the Commits mailing list