This is the mail archive of the glibc-bugs@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug libc/19574] glibc should support building static PIE binaries


https://sourceware.org/bugzilla/show_bug.cgi?id=19574

--- Comment #2 from cvs-commit at gcc dot gnu.org <cvs-commit at gcc dot gnu.org> ---
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU C Library master sources".

The branch, hjl/pie/static has been created
        at  54a6ea8dca4a8007925509e5062dad58ad372503 (commit)

- Log -----------------------------------------------------------------
https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=54a6ea8dca4a8007925509e5062dad58ad372503

commit 54a6ea8dca4a8007925509e5062dad58ad372503
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Wed Sep 27 16:47:29 2017 -0700

    Add --enable-static-pie to build-many-glibcs.py

https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=06c90ff31c731f5e9c3d24e760781f18e087c3d6

commit 06c90ff31c731f5e9c3d24e760781f18e087c3d6
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Fri Sep 29 01:07:53 2017 -0700

    tile: Check SHARED instead PIC for SYSCALL_ERROR_NAME

    For static PIE code, PIC is defined and SHARED is undefined.  We
    should check SHARED instead PIC for SYSCALL_ERROR_NAME.

        * sysdeps/unix/sysv/linux/tile/sysdep.h (SYSCALL_ERROR_NAME):
        Check SHARED instead PIC.

https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=f53e358df7532a9f8e8537914f82ceae020e9c49

commit f53e358df7532a9f8e8537914f82ceae020e9c49
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Thu Sep 28 16:13:54 2017 -0700

    sparc: Check PIC instead of SHARED in start.S

    Since start.o may be compiled as PIC, we should check PIC instead of
    SHARED.

        * sysdeps/sparc/sparc32/start.S (_start): Check PIC instead of
        SHARED.
        * sysdeps/sparc/sparc64/start.S (_start): Likewise.

https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=3242c259949f625970d4cb39260958386eae3a6b

commit 3242c259949f625970d4cb39260958386eae3a6b
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Thu Sep 28 16:13:22 2017 -0700

    microblaze: Check PIC instead of SHARED in start.S

    Since start.o may be compiled as PIC, we should check PIC instead of
    SHARED.

        * sysdeps/microblaze/start.S (_start): Check PIC instead of SHARED.

https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=2596f9a1ef039f01093ab12e722a80ba82d49a34

commit 2596f9a1ef039f01093ab12e722a80ba82d49a34
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Thu Sep 28 16:12:52 2017 -0700

    m68k: Check PIC instead of SHARED in start.S

    Since start.o may be compiled as PIC, we should check PIC instead of
    SHARED.

        * sysdeps/m68k/start.S (_start): Check PIC instead of SHARED.

https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=5f6f3d1b97329b69e7e791d5f9966f5a112aa1d3

commit 5f6f3d1b97329b69e7e791d5f9966f5a112aa1d3
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Thu Sep 28 16:12:28 2017 -0700

    hppa: Check PIC instead of SHARED in start.S

    Since start.o may be compiled as PIC, we should check PIC instead of
    SHARED.

        * sysdeps/hppa/start.S (_start): Check PIC instead of SHARED.

https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=53518afc4d43e3d99f7db5399d1588f757128857

commit 53518afc4d43e3d99f7db5399d1588f757128857
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Thu Sep 28 16:11:02 2017 -0700

    aarch64: Check PIC instead of SHARED in start.S

    Since start.o may be compiled as PIC, we should check PIC instead of
    SHARED.

        * sysdeps/aarch64/start.S (_start): Check PIC instead of SHARED.

https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=2fcb20f193be0c02a71e52959059cb9df7dfc3a9

commit 2fcb20f193be0c02a71e52959059cb9df7dfc3a9
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Thu Sep 28 14:59:00 2017 -0700

    tile: Update elf_machine_load_address for static PIE

    tile uses _DYNAMIC to compute load address, which works with static PIE.
    We just need to return 0 if _DYNAMIC is undefined for static executable.

        * sysdeps/tile/dl-machine.h (elf_machine_load_address): Return 0
        if _DYNAMIC is undefined for static executable.

https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=d4febf8a4f48083bf5cd20ac46f636e24e5497d9

commit d4febf8a4f48083bf5cd20ac46f636e24e5497d9
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Thu Sep 28 14:57:09 2017 -0700

    sparc: Update elf_machine_load_address for static PIE

    sparc uses a local label to compute load address, which works with static
    PIE.  We just need to return 0 if _DYNAMIC is undefined for static
    executable.

        * sysdeps/sparc/sparc32/dl-machine.h (elf_machine_dynamic): Return
        0 if _DYNAMIC is undefined for static executable.
        * sysdeps/sparc/sparc64/dl-machine.h (elf_machine_dynamic):
        Likewise.

https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=33c40ab8b1bf1f47b53f8908163e3a2eaa577c35

commit 33c40ab8b1bf1f47b53f8908163e3a2eaa577c35
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Thu Sep 28 14:55:18 2017 -0700

    sh: Update elf_machine_load_address for static PIE

    When --enable-static-pie is used to configure glibc, we need to use
    _dl_relocate_static_pie to compute load address in static PIE.

        * sysdeps/sh/dl-machine.h (elf_machine_load_address): Use
        _dl_relocate_static_pie instead of _dl_start to compute load
        address in static PIE.  Return 0 if _DYNAMIC is undefined for
        static executable.

https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=adbdf586e7de0bfc248481249eaaa44e16445466

commit adbdf586e7de0bfc248481249eaaa44e16445466
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Thu Sep 28 14:53:06 2017 -0700

    s390: Update elf_machine_load_address for static PIE

    When --enable-static-pie is used to configure glibc, we need to use
    _dl_relocate_static_pie to compute load address in static PIE.

        * sysdeps/s390/s390-32/dl-machine.h (elf_machine_dynamic): Use
        _dl_relocate_static_pie instead of _dl_start to compute load
        address in static PIE.  Return 0 if _DYNAMIC is undefined for
        static executable.
        * sysdeps/s390/s390-64/dl-machine.h (elf_machine_dynamic):
        Likewise.

https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=97457b7992475cd80cef4d709cd10df205703562

commit 97457b7992475cd80cef4d709cd10df205703562
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Thu Sep 28 14:51:41 2017 -0700

    powerpc32: Update elf_machine_load_address for static PIE

    powerpc32 uses _DYNAMIC to compute load address, which works with static
    PIE.  We just need to return 0 if _DYNAMIC is undefined for static
    executable.

        * sysdeps/powerpc/powerpc32/dl-machine.h (elf_machine_load_address):
        Return 0 if _DYNAMIC is undefined for static executable.

https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=7538a7874c483fcf075779152cbca7d51ff1277c

commit 7538a7874c483fcf075779152cbca7d51ff1277c
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Thu Sep 28 14:50:10 2017 -0700

    nios2: Update elf_machine_load_address for static PIE

    nios2 uses a local label to compute load address, which works with static
    PIE.  We just need to return 0 if _DYNAMIC is undefined for static
    executable.

        * sysdeps/nios2/dl-machine.h (elf_machine_dynamic): Return 0 if
        _DYNAMIC is undefined for static executable.

https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=ba237e4b9c3456617dc0d9fd2f43b0ca2726f8c4

commit ba237e4b9c3456617dc0d9fd2f43b0ca2726f8c4
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Thu Sep 28 14:47:20 2017 -0700

    microblaze: Update elf_machine_load_address for static PIE

    microblaze uses _DYNAMIC to compute load address, which works with static
    PIE.  We just need to return 0 if _DYNAMIC is undefined for static
    executable.

        * sysdeps/microblaze/dl-machine.h (elf_machine_load_address):
        Return 0 if _DYNAMIC is undefined for static executable.

https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=b47111243c4581e1171474672a4c26e2e200b41c

commit b47111243c4581e1171474672a4c26e2e200b41c
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Thu Sep 28 14:46:26 2017 -0700

    m68k: Update elf_machine_load_address for static PIE

    When --enable-static-pie is used to configure glibc, we need to use
    _dl_relocate_static_pie to compute load address in static PIE.

        * sysdeps/m68k/dl-machine.h (elf_machine_load_address): Use
        _dl_relocate_static_pie instead of _dl_start to compute load
        address in static PIE.  Return 0 if _DYNAMIC is undefined for
        static executable.

https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=0f44bbea33bae18ce17acee9f09538803c099fad

commit 0f44bbea33bae18ce17acee9f09538803c099fad
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Thu Sep 28 14:44:46 2017 -0700

    ia64: Update elf_machine_load_address for static PIE

    ia64 uses a local label to compute load address, which works with static
    PIE.  We just need to return 0 if _DYNAMIC is undefined for static
    executable.

        * sysdeps/ia64/dl-machine.h (elf_machine_dynamic): Return 0 if
        _DYNAMIC is undefined for static executable.

https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=3994c3090a0026ff9c430c6dc0284133df017b67

commit 3994c3090a0026ff9c430c6dc0284133df017b67
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Thu Sep 28 14:42:18 2017 -0700

    hppa: Update elf_machine_load_address for static PIE

    hppa uses _DYNAMIC to compute load address, which works with static PIE.
    We just need to return 0 if _DYNAMIC is undefined for static executable.

        * sysdeps/hppa/dl-machine.h (elf_machine_load_address): Return 0
        if _DYNAMIC is undefined for static executable.

https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=ec465b0fc04cf2e4020b8ee898b63ba8350b095c

commit ec465b0fc04cf2e4020b8ee898b63ba8350b095c
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Thu Sep 28 14:36:33 2017 -0700

    aarch64: Update elf_machine_load_address for static PIE

    When --enable-static-pie is used to configure glibc, we need to use
    _dl_relocate_static_pie to compute load address in static PIE.

        * sysdeps/aarch64/dl-machine.h (elf_machine_load_address): Use
        _dl_relocate_static_pie instead of _dl_start to compute load
        address in static PIE.  Return 0 if _DYNAMIC is undefined for
        static executable.

https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=9783b57f4852d8d7f79ff1f4b2d5240f5fa4d6e6

commit 9783b57f4852d8d7f79ff1f4b2d5240f5fa4d6e6
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Tue Aug 22 15:37:10 2017 -0700

    Don't use hidden visibility in libc.a with PIE on i386

    On i386, when multi-arch is enabled, all external functions must be
    called via PIC PLT in PIE, which requires setting up EBX register,
    since they may be IFUNC functions.

        * config.h.in (NO_HIDDEN_EXTERN_FUNC_IN_PIE): New.
        * include/libc-symbols.h (__hidden_proto_hiddenattr): Add check
        for PIC and NO_HIDDEN_EXTERN_FUNC_IN_PIE.
        * sysdeps/i386/configure.ac (NO_HIDDEN_EXTERN_FUNC_IN_PIE): New
        AC_DEFINE if multi-arch is enabled.
        * sysdeps/i386/configure: Regenerated.

https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=e4b0d965b31762dee691e663df6e4db339a150dd

commit e4b0d965b31762dee691e663df6e4db339a150dd
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Mon Jul 17 08:17:32 2017 -0700

    Add --enable-static-pie configure option to build static PIE [BZ #19574]

    Dynamic linker, ld.so, is a standalone program which can be loaded at
    any address.  This patch adds a configure option, --enable-static-pie,
    to embed the part of ld.so in static executable to create static position
    independent executable (static PIE).  A static PIE is similar to static
    executable, but can be loaded at any address without help from a dynamic
    linker.  When --enable-static-pie is used to configure glibc, libc.a is
    built as PIE and all static executables, including tests, are built as
    static PIE.  The resulting libc.a can be used together with GCC 8 or
    above to build static PIE with the compiler option, -static-pie.  But
    GCC 8 isn't required to build glibc with --enable-static-pie.  When an
    older GCC is used to build glibc with --enable-static-pie, proper input
    files are passed to linker to create static executables as static PIE,
    together with "-z text" to prevent dynamic relocations in read-only
    segments, which are allowed in static PIE.

    Static PIE can work on all architectures which support PIE, provided

    1. Target must support accessing of local functions without dynamic
    relocations, which is needed in start.S to call __libc_start_main with
    function addresses of __libc_csu_init, __libc_csu_fini and main.  All
    functions in statice PIE are local functions.
    2. start.S is updated to check PIC instead SHARED for PIC code path and
    avoid dynamic relocation, when PIC is defined and SHARED isn't defined,
    to support static PIE.  Patches are submitted for aarch64, arm, hppa,
    m68k, microblaze and sparc.
    3. All assembly codes are updated check PIC instead SHARED for PIC code
    path to avoid dynamic relocations in read-only sections.
    4. All assembly codes are updated check SHARED instead PIC for static
    symbol name.  A patch is submitted for tile.
    5. elf_machine_load_address in dl-machine.h are updated to support static
    PIE.  Patches are submitted for aarch64, arm, hppa, ia64, m68k, microblaze,
    mips, nios2, powerpc, s390, sh, sparc and tile.

    NB: When glibc is built with GCC defaulted to PIE, libc.a is compiled
    with -fPIE, regardless if --enable-static-pie is used to configure glibc.
    When glibc is configured with --enable-static-pie, libc.a is compiled
    with -fPIE, regardless wether GCC defaults to PIE or not.  The same libc.a
    can be used to build both static executable and static PIE.  There is no
    need for separate PIE copy of libc.a.

    Linker requirements to build glibc with --enable-static-pie:

    1. Linker supports --no-dynamic-linker to remove PT_INTERP segment from
    static PIE.
    2. Linker can create working static PIE.  The x86-64 linker needs the
    fix for

    https://sourceware.org/bugzilla/show_bug.cgi?id=21782

    Binutils 2.29 or above are OK for x86-64.  But linker status for other
    targets need to be verified.

    Tested on i686 and x86-64.

    Build results of build-many-glibcs.py with --enable-static-pie with all
    patches for static PIE applied are

    PASS: glibcs-aarch64_be-linux-gnu build
    PASS: glibcs-aarch64-linux-gnu build
    PASS: glibcs-armeb-linux-gnueabi build
    PASS: glibcs-armeb-linux-gnueabi-be8 build
    PASS: glibcs-armeb-linux-gnueabihf build
    PASS: glibcs-armeb-linux-gnueabihf-be8 build
    PASS: glibcs-arm-linux-gnueabi build
    PASS: glibcs-arm-linux-gnueabihf build
    PASS: glibcs-hppa-linux-gnu build
    PASS: glibcs-i486-linux-gnu build
    PASS: glibcs-i586-linux-gnu build
    PASS: glibcs-i686-linux-gnu build
    PASS: glibcs-i686-linux-gnu-disable-multi-arch build
    PASS: glibcs-m68k-linux-gnu build
    PASS: glibcs-microblazeel-linux-gnu build
    PASS: glibcs-microblaze-linux-gnu build
    PASS: glibcs-mips64el-linux-gnu-n64 build
    PASS: glibcs-mips64el-linux-gnu-n64-nan2008 build
    PASS: glibcs-mips64el-linux-gnu-n64-nan2008-soft build
    PASS: glibcs-mips64el-linux-gnu-n64-soft build
    PASS: glibcs-mips64-linux-gnu-n64 build
    PASS: glibcs-mips64-linux-gnu-n64-nan2008 build
    PASS: glibcs-mips64-linux-gnu-n64-nan2008-soft build
    PASS: glibcs-mips64-linux-gnu-n64-soft build
    PASS: glibcs-nios2-linux-gnu build
    PASS: glibcs-powerpc64le-linux-gnu build
    PASS: glibcs-powerpc64-linux-gnu build
    PASS: glibcs-s390x-linux-gnu build
    PASS: glibcs-x86_64-linux-gnu build
    PASS: glibcs-x86_64-linux-gnu-disable-multi-arch build
    PASS: glibcs-x86_64-linux-gnu-x32 build

    FAIL: glibcs-alpha-linux-gnu build

    elf/sln is failed to link due to:

    assertion fail bfd/elf64-alpha.c:4125

    This is caused by linker bug and/or non-PIC code in PIE libc.a.

    FAIL: glibcs-ia64-linux-gnu build

    elf/sln is failed to link due to:

    libc.a(sched_yield.o): non-pic code with imm relocation against dynamic
symbol `_dl_sysinfo'

    This is caused by non-PIC version of DO_CALL macro in ia64 sysdep.h.  PIE
    libc.a should use PIC version of DO_CALL, except during startup in static
    PIE.  An ia64 startup.h, similar to i386 startup.h, is needed to handle
    this.

    FAIL: glibcs-mips64el-linux-gnu-n32 build
    FAIL: glibcs-mips64el-linux-gnu-n32-nan2008 build
    FAIL: glibcs-mips64el-linux-gnu-n32-nan2008-soft build
    FAIL: glibcs-mips64el-linux-gnu-n32-soft build
    FAIL: glibcs-mips64-linux-gnu-n32 build
    FAIL: glibcs-mips64-linux-gnu-n32-nan2008 build
    FAIL: glibcs-mips64-linux-gnu-n32-nan2008-soft build
    FAIL: glibcs-mips64-linux-gnu-n32-soft build
    FAIL: glibcs-mipsel-linux-gnu build
    FAIL: glibcs-mipsel-linux-gnu-nan2008 build
    FAIL: glibcs-mipsel-linux-gnu-nan2008-soft build
    FAIL: glibcs-mipsel-linux-gnu-soft build
    FAIL: glibcs-mips-linux-gnu build
    FAIL: glibcs-mips-linux-gnu-nan2008 build
    FAIL: glibcs-mips-linux-gnu-nan2008-soft build
    FAIL: glibcs-mips-linux-gnu-soft build

    elf/sln is failed to link due to:

    crt1.o: relocation R_MIPS_HI16 against `_gp' can not be used when making a
shared object; recompile with -fPIC

    This is caused by linker bug and/or non-PIC code in crt1.o.

    FAIL: glibcs-powerpc-linux-gnu build
    FAIL: glibcs-powerpc-linux-gnu-soft build
    FAIL: glibcs-powerpc-linux-gnuspe build
    FAIL: glibcs-powerpc-linux-gnuspe-e500v1 build

    elf/sln is failed to link due to:

    ld: read-only segment has dynamic relocations.

    This is caused by linker bug and/or non-PIC code in PIE libc.a.

    FAIL: glibcs-powerpc-linux-gnu-power4 build

    elf/sln is failed to link due to:

    findlocale.c:96:(.text+0x22c): @local call to ifunc memchr

    This is caused by linker bug and/or non-PIC code in PIE libc.a.

    FAIL: glibcs-s390-linux-gnu build

    elf/sln is failed to link due to:

    collect2: fatal error: ld terminated with signal 11 [Segmentation fault],
core dumped

    assertion fail bfd/elflink.c:14242

    This is caused by linker bug and/or non-PIC code in PIE libc.a.

    FAIL: glibcs-sh3eb-linux-gnu build
    FAIL: glibcs-sh3-linux-gnu build
    FAIL: glibcs-sh4eb-linux-gnu build
    FAIL: glibcs-sh4eb-linux-gnu-soft build
    FAIL: glibcs-sh4-linux-gnu build
    FAIL: glibcs-sh4-linux-gnu-soft build

    elf/sln is failed to link due to:

    ld: read-only segment has dynamic relocations.

    This is caused by linker bug and/or non-PIC code in PIE libc.a.

    FAIL: glibcs-sparc64-linux-gnu build
    FAIL: glibcs-sparcv9-linux-gnu build

    elf/sln is failed to link due to:

    ld: read-only segment has dynamic relocations.

    This is caused by linker bug and/or non-PIC code in PIE libc.a.

    FAIL: glibcs-tilegxbe-linux-gnu build
    FAIL: glibcs-tilegxbe-linux-gnu-32 build
    FAIL: glibcs-tilegx-linux-gnu build
    FAIL: glibcs-tilegx-linux-gnu-32 build
    FAIL: glibcs-tilepro-linux-gnu build

    elf/sln is failed to link due to:

    ld: read-only segment has dynamic relocations.

    This is caused by linker bug and/or non-PIC code in PIE libc.a.

        [BZ #19574]
        * INSTALL: Regenerated.
        * Makeconfig (pic-default): Updated for --enable-static-pie.
        (pie-default): New for --enable-static-pie.
        (default-pie-ldflag): Likewise.
        (+link-static-before-libc): Add $(default-pie-ldflag).
        (+prectorT): Updated for --enable-static-pie.
        (+postctorT): Likewise.
        (CFLAGS-.o): Add $(pie-default).
        (CFLAGS-.op): Likewise.
        * NEWS: Mention --enable-static-pie.
        * config.h.in (ENABLE_STATIC_PIE): New.
        * configure.ac (--enable-static-pie): New configure option.
        (have-no-dynamic-linker): New LIBC_CONFIG_VAR.
        (have-static-pie): Likewise.
        Enable static PIE if linker supports --no-dynamic-linker.
        (ENABLE_STATIC_PIE): New AC_DEFINE.
        (enable-static-pie): New LIBC_CONFIG_VAR.
        * configure: Regenerated.
        * csu/libc-start.c (LIBC_START_MAIN): Call _dl_relocate_static_pie
        in libc.a.
        * csu/libc-tls.c (__libc_setup_tls): Add main_map->l_addr to
        initimage.
        * elf/dl-support.c: Include "dynamic-link.h" and don't include
        "get-dynamic-info.h" for --enable-static-pie.
        (_dl_relocate_static_pie): New function for --enable-static-pie.
        (STATIC_PIE_BOOTSTRAP): New for --enable-static-pie.
        (BOOTSTRAP_MAP): Likewise.
        (RESOLVE_MAP): Likewise.
        * elf/dynamic-link.h (ELF_DURING_STARTUP): Also check
        STATIC_PIE_BOOTSTRAP.
        * elf/get-dynamic-info.h (elf_get_dynamic_info): Likewise.
        * manual/install.texi: Document --enable-static-pie.
        * sysdeps/generic/ldsodefs.h (_dl_relocate_static_pie): New.
        * sysdeps/x86_64/configure.ac: Check if linker supports static PIE.
        * sysdeps/x86_64/configure: Regenerated.

https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=029e1197a4e0ace7a0ad18a00540d114926a524b

commit 029e1197a4e0ace7a0ad18a00540d114926a524b
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Fri Sep 29 01:09:48 2017 -0700

    ld.so: Replace (&bootstrap_map) with BOOTSTRAP_MAP

    (&_dl_main_map) is used instead of (&bootstrap_map) to bootstrap static
    PIE.  Define BOOTSTRAP_MAP with (&_dl_main_map) to avoid hardcode to
    (&bootstrap_map).

        * elf/rtld.c (BOOTSTRAP_MAP): New.
        (RESOLVE_MAP): Replace (&bootstrap_map) with BOOTSTRAP_MAP.
        * sysdeps/hppa/dl-machine.h (ELF_MACHINE_BEFORE_RTLD_RELOC):
        Likewise.
        * sysdeps/ia64/dl-machine.h (ELF_MACHINE_BEFORE_RTLD_RELOC):
        Likewise.
        * sysdeps/mips/dl-machine.h (ELF_MACHINE_BEFORE_RTLD_RELOC):
        Likewise.

-----------------------------------------------------------------------

-- 
You are receiving this mail because:
You are on the CC list for the bug.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]