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

--- Comment #14 from cvs-commit at gcc dot gnu.org <cvs-commit at gcc dot 
gnu.org> ---
The binutils-2_26-branch branch has been updated by H.J. Lu
<h...@sourceware.org>:

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

commit bab518b383819aea3a8d1725f7dfd906b7f34216
Author: H.J. Lu <hjl.to...@gmail.com>
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.

    Backport from master

    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.
_______________________________________________
bug-binutils mailing list
bug-binutils@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-binutils

Reply via email to