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

H.J. Lu <hjl.tools at gmail dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |WAITING

--- Comment #1 from H.J. Lu <hjl.tools at gmail dot com> ---
(In reply to Matthias Klose from comment #0)
> this is a test case from the 'adequate' testsuite trying to construct a

What is the purpose of this test?

> binary with an unresolved symbol. This worked with 2.28, and works in 2.29

Are you sure it works with 2.28?  I got

[hjl@gnu-6 pr22126]$ cat x.s
        .text
        .globl _start
_start:
        .dc.a this_symbol_might_be_undefined
[hjl@gnu-6 pr22126]$ make LD=./ld-2.28
as   -o x.o x.s
./ld-2.28 --unresolved-symbols=ignore-all -o x x.o
nm x
000000000060007d T __bss_start
000000000060007d T _edata
0000000000600080 T _end
0000000000400078 T _start
[hjl@gnu-6 pr22126]$ ./ld-2.28 -v
GNU ld (GNU Binutils) 2.28.2.20170706
[hjl@gnu-6 pr22126]$ 

> on non-x86 architectures.
> 
> $ cat undef.c        
> extern void this_symbol_might_be_undefined(void);
> 
> int main(int argc, char **argv)
> {
>         this_symbol_might_be_undefined();
>         return 0;
> }
> 
> $ gcc -no-pie -fno-PIE -Wl,--unresolved-symbols,ignore-all -o my-us1 undef.c 
> 
> $ nm my-us1 |grep this_symbol
>                  U this_symbol_might_be_undefined
> 
> with ld 2.29, the undefined reference is not emitted, but it is emitted on
> arm, aarch64, powerpc, s390x

With 2.28, I got


[hjl@gnu-6 pr22126]$ cat x.s
        .text
        .globl _start
_start:
        .dc.a this_symbol_might_be_undefined
[hjl@gnu-6 pr22126]$ make
/export/build/gnu/binutils-cross/build-arm-linux-androideabi/gas/as-new   -o
x.o x.s
/export/build/gnu/binutils-cross/build-arm-linux-androideabi/ld/ld-new
--unresolved-symbols=ignore-all -o x x.o
/export/build/gnu/binutils-cross/build-arm-linux-androideabi/binutils/nm-new x
00020058 T __bss_end__
00020058 T _bss_end__
00020058 T __bss_start
00020058 T __bss_start__
00020058 T _edata
00020058 T _end
00020058 T __end__
00010054 T _start
[hjl@gnu-6 pr22126]$ 

The undefined symbol was removed by

ommit d983c8c5503d680c6d4955ceb610a9beebc64460
Author: Alan Modra <amo...@gmail.com>
Date:   Wed Feb 18 17:02:39 2015 +1030

    Strip undefined symbols from .symtab

    bfd/
            PR ld/4317
            * elflink.c (elf_link_input_bfd): Drop undefined local syms.
            (elf_link_output_extsym): Drop local and global undefined syms.
            Tidy.  Expand comment.

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