This is the mail archive of the binutils@sourceware.org mailing list for the binutils project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
The patch in http://sourceware.org/ml/binutils/2005-04/msg00325.html causes local absolute symbols, including .file ones, to be removed from the linker output. This patch tries to adjust this. Built and tested on i686-pc-linux-gnu, x86_64-unknown-linux-gnu, ia64-unknown-linux-gnu, and for a large number of cross targets. Jan bfd/ 2005-10-21 Jan Beulich <jbeulich@novell.com> * elflink.c (elf_link_input_bfd): Check for absolute symbols before deciding to remove those not in any output section. ld/testsuite/ 2005-10-21 Jan Beulich <jbeulich@novell.com> * ld-elf/empty2.[sd]: New. --- /home/jbeulich/src/binutils/mainline/2005-10-20/bfd/elflink.c 2005-09-28 17:30:35.000000000 +0200 +++ 2005-10-20/bfd/elflink.c 2005-10-20 16:59:37.552695912 +0200 @@ -6871,8 +6871,9 @@ elf_link_input_bfd (struct elf_final_lin continue; /* If the section is not in the output BFD's section list, it is not - being output. */ - if (bfd_section_removed_from_list (output_bfd, isec->output_section)) + being output. But don't consider the *ABS* section here. */ + if (bfd_section_removed_from_list (output_bfd, isec->output_section) + && !bfd_is_abs_section (isec->output_section)) continue; /* Get the name of the symbol. */ --- /home/jbeulich/src/binutils/mainline/2005-10-20/ld/testsuite/ld-elf/empty2.d 1970-01-01 01:00:00.000000000 +0100 +++ 2005-10-20/ld/testsuite/ld-elf/empty2.d 2005-10-21 10:22:36.000000000 +0200 @@ -0,0 +1,11 @@ +#source: empty2.s +#ld: +#readelf: -s +#xfail: "d30v-*-*" "dlx-*-*" "hppa*-*-*" "i960-*-*" "or32-*-*" "pj-*-*" + +#... +[ ]+[0-9]+:[ ]+0+[ ]+0[ ]+FILE[ ]+LOCAL[ ]+DEFAULT[ ]+ABS empty2.s +[ ]+[0-9]+:[ ]+0*12345678[ ]+0[ ]+NOTYPE[ ]+LOCAL[ ]+DEFAULT[ ]+ABS constant +#... +[ ]+[0-9]+:[ ]+[0-9a-f]+[ ]+[0-9]+[ ]+FUNC[ ]+GLOBAL[ ]+DEFAULT[ ]+[1-9] _start +#pass --- /home/jbeulich/src/binutils/mainline/2005-10-20/ld/testsuite/ld-elf/empty2.s 1970-01-01 01:00:00.000000000 +0100 +++ 2005-10-20/ld/testsuite/ld-elf/empty2.s 2005-10-21 10:22:43.000000000 +0200 @@ -0,0 +1,18 @@ + .file "empty2.s" + .equiv constant, 0x12345678 + .section .bss +bar: + .text + .type start,"function" + .global start +start: + .type _start,"function" + .global _start +_start: + .type __start,"function" + .global __start +__start: + .type main,"function" + .global main +main: + .long constant
Attachment:
binutils-mainline-ld-local-absolute.patch
Description: Binary data
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |