git: binutils221: final solution to start/stop label generation

John Marino marino at crater.dragonflybsd.org
Thu Apr 7 15:18:39 PDT 2011


commit c358eb24ed69d493089dc69ed5b81a7d5f804fa1
Author: John Marino <draco at marino.st>
Date:   Fri Apr 8 00:14:07 2011 +0200

    binutils221: final solution to start/stop label generation
    
    During discussion on binutils mail list about preserving the
    __start_* and __stop_* section labels, Dimitry Andric indicated that
    FreeBSD had the same exact issue when they recently upgraded to
    binutils 2.17.50.  The solution they chose was to declare these section
    labels as global symbols, and the stock version of ld will retain them.
    
    This commit implements the FreeBSD solution.  Besides the obvious
    benefit of having minimalist shared objects, it also "fixes" binutils
    2.20 which, until this commit, failed to generate the start/stop section
    labels.
    
    Commit f070647cc5317c4924be4dd60563fc39c18094cf has been reverted to
    convert binutils 2.21 to a completely stock ld.  Some whitespace cleanup
    of linker_set.h was done while modifying __MAKE_SET macro.

Summary of changes:
 contrib/binutils-2.21/README.DRAGONFLY |    1 -
 contrib/binutils-2.21/ld/ldlang.c      |   23 +++++++----------------
 sys/sys/cdefs.h                        |    8 ++++++++
 sys/sys/linker_set.h                   |    6 ++++--
 usr.sbin/mfiutil/mfiutil.h             |    2 ++
 5 files changed, 21 insertions(+), 19 deletions(-)

http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/c358eb24ed69d493089dc69ed5b81a7d5f804fa1


-- 
DragonFly BSD source repository





More information about the Commits mailing list