bug-binutils
[Top][All Lists]
Advanced

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

[Bug gold/19567] Symbol_value::value doesn't support x32 overflow check


From: cvs-commit at gcc dot gnu.org
Subject: [Bug gold/19567] Symbol_value::value doesn't support x32 overflow check
Date: Sat, 06 Feb 2016 22:47:54 +0000

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

--- Comment #12 from cvs-commit at gcc dot gnu.org <cvs-commit at gcc dot 
gnu.org> ---
The master branch has been updated by Cary Coutant <address@hidden>:

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

commit 19ef3f4d2eaac10e98c7ba3f9eace8609ab5278e
Author: Cary Coutant <address@hidden>
Date:   Sat Feb 6 14:47:05 2016 -0800

    Fix overflow checking for 32-bit pc-relative relocations on x32.

    The problem here is that x32 is really using 64-bit addressing,
    while pretending to be 32-bit. Even though the object file format
    is 32-bit, we need to do the overflow checking with 64-bit
    arithmetic (because that's what the hardware will be using).
    This patch overrides the pcrela32_check functions in reloc.h
    with target-specific versions that do 64-bit checking.

    I've also updated the test case to use -Tdata instead of adding
    a huge .space directive, to reduce the size of the .o files.

    gold/
        PR gold/19567
        * reloc.h (Relocate_functions::Overflow_check): Add comments.
        * x86_64.cc (X86_64_relocate_functions): New class.
        (Target_x86_64::Relocate::relocate): Use the new class.
        * testsuite/Makefile.am (x86_64_overflow_pc32): Add -Tdata option.
        (x32_overflow_pc32): New test case.
        * testsuite/Makefile.in: Regenerate.
        * testsuite/x32_overflow_pc32.sh: New script.
        * testsuite/x86_64_overflow_pc32.s: Remove .space directive.

-- 
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]