bug-binutils
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Bug gas/19520] [2.26 regression] R_386_GOT32X relocation breaks gcc boo


From: cvs-commit at gcc dot gnu.org
Subject: [Bug gas/19520] [2.26 regression] R_386_GOT32X relocation breaks gcc bootstrap with non-gld/gold linker
Date: Wed, 03 Feb 2016 16:26:55 +0000

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

--- Comment #13 from cvs-commit at gcc dot gnu.org <cvs-commit at gcc dot 
gnu.org> ---
The master branch has been updated by H.J. Lu <address@hidden>:

https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=0cb4071ef9e10f703220f5e731141bf438aca16e

commit 0cb4071ef9e10f703220f5e731141bf438aca16e
Author: H.J. Lu <address@hidden>
Date:   Wed Feb 3 08:25:15 2016 -0800

    Add -mrelax-relocations= to x86 assembler

    The x86 relax relocations introduced in binutils 2.26 aren't supported
    by linker on Solaris older than Solaris 12.  To use x86 assembler with
    older Solaris linker, this patch adds

    1. A command line option -mrelax-relocations= to x86 assembler to
    control whether to generate relax relocations.
    2. A configure option --enable-x86-relax-relocations to decide whether
    x86 assembler should generate relax relocations by default.  It is
    defaulted to yes, except for x86 Solaris targets older than Solaris 12.

    gas/

        PR gas/19520
        * NEWS: Mention new command line option -mrelax-relocations and
        new configure option --enable-x86-relax-relocations for x86
        target.
        * config.in: Regenerated.
        * configure.ac: Add --enable-x86-relax-relocations.
        (ac_default_x86_relax_relocations): New.  Default to 1 except
        for x86 Solaris targets older than Solaris 12.
        (DEFAULT_GENERATE_X86_RELAX_RELOCATIONS): Define.
        * configure: Likewise.
        * config/tc-i386.c (generate_relax_relocations): New.
        (OPTION_MRELAX_RELOCATIONS): Likewise.
        (output_disp): Don't generate relax relocations if
        generate_relax_relocations is 0.
        (md_longopts): Add -mrelax-relocations.
        (md_show_usage): Likewise.
        (md_parse_option): Handle OPTION_MRELAX_RELOCATIONS.
        * doc/c-i386.texi: Document -mrelax-relocations=.
        * testsuite/gas/i386/got-no-relax.d: New file.
        * testsuite/gas/i386/x86-64-gotpcrel-no-relax.d: Likewise.
        * testsuite/gas/i386/got.d: Pass -mrelax-relocations=yes to as.
        * testsuite/gas/i386/localpic.d: Likewise.
        * testsuite/gas/i386/mixed-mode-reloc32.d: Likewise.
        * testsuite/gas/i386/reloc32.d: Likewise.
        * testsuite/gas/i386/x86-64-gotpcrel.d: Likewise.
        * testsuite/gas/i386/x86-64-localpic.d: Likewise.
        * testsuite/gas/i386/ilp32/x86-64-gotpcrel.d: Likewise.
        * testsuite/gas/i386/ilp32/x86-64-localpic.d: Likewise.
        * testsuite/gas/i386/i386.exp: Run got-no-relax and
        x86-64-gotpcrel-no-relax.

    ld/

        PR gas/19520
        * testsuite/ld-i386/branch1.d: Pass -mrelax-relocations=yes to as.
        * testsuite/ld-i386/call1.d: Likewise.
        * testsuite/ld-i386/call2.d: Likewise.
        * testsuite/ld-i386/call3a.d: Likewise.
        * testsuite/ld-i386/call3b.d: Likewise.
        * testsuite/ld-i386/call3c.d: Likewise.
        * testsuite/ld-i386/call3d.d: Likewise.
        * testsuite/ld-i386/call3e.d: Likewise.
        * testsuite/ld-i386/call3f.d: Likewise.
        * testsuite/ld-i386/call3g.d: Likewise.
        * testsuite/ld-i386/call3h.d: Likewise.
        * testsuite/ld-i386/jmp1.d: Likewise.
        * testsuite/ld-i386/jmp2.d: Likewise.
        * testsuite/ld-i386/lea1c.d: Likewise.
        * testsuite/ld-i386/load1.d: Likewise.
        * testsuite/ld-i386/load2.d: Likewise.
        * testsuite/ld-i386/load3.d: Likewise.
        * testsuite/ld-i386/load4a.d: Likewise.
        * testsuite/ld-i386/load5a.d: Likewise.
        * testsuite/ld-i386/mov2b.d: Likewise.
        * testsuite/ld-i386/mov3.d: Likewise.
        * testsuite/ld-ifunc/ifunc-21-x86-64.d: Likewise.
        * testsuite/ld-ifunc/ifunc-22-x86-64.d: Likewise.
        * testsuite/ld-ifunc/ifunc-5r-local-x86-64.d: Likewise.
        * testsuite/ld-x86-64/call1a.d: Likewise.
        * testsuite/ld-x86-64/call1b.d: Likewise.
        * testsuite/ld-x86-64/call1c.d: Likewise.
        * testsuite/ld-x86-64/call1d.d: Likewise.
        * testsuite/ld-x86-64/call1e.d: Likewise.
        * testsuite/ld-x86-64/call1f.d: Likewise.
        * testsuite/ld-x86-64/call1h.d: Likewise.
        * testsuite/ld-x86-64/call1i.d: Likewise.
        * testsuite/ld-x86-64/load1a.d: Likewise.
        * testsuite/ld-x86-64/load1b.d: Likewise.
        * testsuite/ld-i386/got1a.S: Load GOT into %ecx and use it.
        * testsuite/ld-i386/got1.dd: Updated.
        * testsuite/ld-i386/got1d.S (1): Removed.
        * testsuite/ld-i386/i386.exp: Add -Wa,-mrelax-relocations=yes.
        * testsuite/ld-x86-64/x86-64.exp: Likewise.

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


reply via email to

[Prev in Thread] Current Thread [Next in Thread]