bug-binutils
[Top][All Lists]
Advanced

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

[Bug ld/14591] Wrong symbol type with common symbol and weak function


From: cvs-commit at gcc dot gnu.org
Subject: [Bug ld/14591] Wrong symbol type with common symbol and weak function
Date: Wed, 19 Sep 2012 00:53:38 +0000

http://sourceware.org/bugzilla/show_bug.cgi?id=14591

--- Comment #3 from cvs-commit at gcc dot gnu.org <cvs-commit at gcc dot 
gnu.org> 2012-09-19 00:53:38 UTC ---
CVSROOT:    /cvs/src
Module name:    src
Changes by:    address@hidden    2012-09-19 00:53:31

Modified files:
    bfd            : ChangeLog elf-bfd.h elf32-sh-symbian.c 
                     elflink.c 
    ld/testsuite   : ChangeLog 
    ld/testsuite/ld-elf: comm-data.exp 
    ld/testsuite/ld-ifunc: ifunc.exp 
Added files:
    ld/testsuite/ld-elf: comm-data3.sd comm-data3a.s comm-data3b.s 
    ld/testsuite/ld-ifunc: ifunc-17a-i386.d ifunc-17a-x86-64.d 
                           ifunc-17a.s ifunc-17b-i386.d 
                           ifunc-17b-x86-64.d ifunc-17b.s 
                           ifunc-common-1.out ifunc-common-1a.c 
                           ifunc-common-1b.c 

Log message:
    Properly handle common symbol and weak function

    bfd/

    PR ld/14591
    * elf-bfd.h (_bfd_elf_merge_symbol): Add an argument to return
    if the old symbol is weak.

    * elf32-sh-symbian.c (sh_symbian_relocate_section): Update
    _bfd_elf_merge_symbol call.

    * elflink.c (_bfd_elf_merge_symbol): Add an argument to return
    if the old symbol is weak.
    (_bfd_elf_add_default_symbol): Update _bfd_elf_merge_symbol
    call.
    (elf_link_add_object_symbols): Don't update symbol type from a
    weak definition.  Update symbol type from a common symbol when
    overriding a weak symbol.

    ld/testsuite/

    PR ld/14591
    * ld-elf/comm-data.exp (run_ld_link_tests): Add comm-data3a and
    comm-data3b tests.

    * ld-ifunc/ifunc.exp (run_ld_link_exec_tests): New.

    * ld-elf/comm-data3.sd: New file.
    * ld-elf/comm-data3a.s: Likewise.
    * ld-elf/comm-data3b.s: Likewise.
    * ld-ifunc/ifunc-17a-i386.d: Likewise.
    * ld-ifunc/ifunc-17a-x86-64.d: Likewise.
    * ld-ifunc/ifunc-17a.s: Likewise.
    * ld-ifunc/ifunc-17b-i386.d: Likewise.
    * ld-ifunc/ifunc-17b-x86-64.d: Likewise.
    * ld-ifunc/ifunc-17b.s: Likewise.
    * ld-ifunc/ifunc-common-1.out: Likewise.
    * ld-ifunc/ifunc-common-1a.c: Likewise.
    * ld-ifunc/ifunc-common-1b.c: Likewise.

Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/src/bfd/ChangeLog.diff?cvsroot=src&r1=1.5809&r2=1.5810
http://sourceware.org/cgi-bin/cvsweb.cgi/src/bfd/elf-bfd.h.diff?cvsroot=src&r1=1.346&r2=1.347
http://sourceware.org/cgi-bin/cvsweb.cgi/src/bfd/elf32-sh-symbian.c.diff?cvsroot=src&r1=1.15&r2=1.16
http://sourceware.org/cgi-bin/cvsweb.cgi/src/bfd/elflink.c.diff?cvsroot=src&r1=1.453&r2=1.454
http://sourceware.org/cgi-bin/cvsweb.cgi/src/ld/testsuite/ChangeLog.diff?cvsroot=src&r1=1.1605&r2=1.1606
http://sourceware.org/cgi-bin/cvsweb.cgi/src/ld/testsuite/ld-elf/comm-data3.sd.diff?cvsroot=src&r1=NONE&r2=1.1
http://sourceware.org/cgi-bin/cvsweb.cgi/src/ld/testsuite/ld-elf/comm-data3a.s.diff?cvsroot=src&r1=NONE&r2=1.1
http://sourceware.org/cgi-bin/cvsweb.cgi/src/ld/testsuite/ld-elf/comm-data3b.s.diff?cvsroot=src&r1=NONE&r2=1.1
http://sourceware.org/cgi-bin/cvsweb.cgi/src/ld/testsuite/ld-elf/comm-data.exp.diff?cvsroot=src&r1=1.3&r2=1.4
http://sourceware.org/cgi-bin/cvsweb.cgi/src/ld/testsuite/ld-ifunc/ifunc-17a-i386.d.diff?cvsroot=src&r1=NONE&r2=1.1
http://sourceware.org/cgi-bin/cvsweb.cgi/src/ld/testsuite/ld-ifunc/ifunc-17a-x86-64.d.diff?cvsroot=src&r1=NONE&r2=1.1
http://sourceware.org/cgi-bin/cvsweb.cgi/src/ld/testsuite/ld-ifunc/ifunc-17a.s.diff?cvsroot=src&r1=NONE&r2=1.1
http://sourceware.org/cgi-bin/cvsweb.cgi/src/ld/testsuite/ld-ifunc/ifunc-17b-i386.d.diff?cvsroot=src&r1=NONE&r2=1.1
http://sourceware.org/cgi-bin/cvsweb.cgi/src/ld/testsuite/ld-ifunc/ifunc-17b-x86-64.d.diff?cvsroot=src&r1=NONE&r2=1.1
http://sourceware.org/cgi-bin/cvsweb.cgi/src/ld/testsuite/ld-ifunc/ifunc-17b.s.diff?cvsroot=src&r1=NONE&r2=1.1
http://sourceware.org/cgi-bin/cvsweb.cgi/src/ld/testsuite/ld-ifunc/ifunc-common-1.out.diff?cvsroot=src&r1=NONE&r2=1.1
http://sourceware.org/cgi-bin/cvsweb.cgi/src/ld/testsuite/ld-ifunc/ifunc-common-1a.c.diff?cvsroot=src&r1=NONE&r2=1.1
http://sourceware.org/cgi-bin/cvsweb.cgi/src/ld/testsuite/ld-ifunc/ifunc-common-1b.c.diff?cvsroot=src&r1=NONE&r2=1.1
http://sourceware.org/cgi-bin/cvsweb.cgi/src/ld/testsuite/ld-ifunc/ifunc.exp.diff?cvsroot=src&r1=1.13&r2=1.14

-- 
Configure bugmail: http://sourceware.org/bugzilla/userprefs.cgi?tab=email
------- 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]