b3d1832c34
* xcofflink.c (xcoff_link_create_extra_sections): Don't create a .loader section for relocatable links. (xcoff_need_ldrel_p): New function. (xcoff_mark): Use it. (bfd_xcoff_link_count_reloc): Only count loader relocs if there's a loader section. (xcoff_build_ldsym): New function, split out from... (xcoff_build_ldsyms): ...here. Rename to... (xcoff_post_gc_symbol): ...this. Only export symbols, and only call xcoff_build_ldsym, if there's a loader section. (xcoff_build_loader_section): New function, extracted verbatim from... (bfd_xcoff_size_dynamic_sections): ...here. Only call it if there's a loader section. Only add an __rtinit loader symbol if there's a loader section. Update after above name change. (xcoff_symbol_section, xcoff_create_ldrel): New functions. (bfd_link_input_bfd): Use xcoff_need_ldrel_p, xcoff_symbol_section and xcoff_create_ldrel. (xcoff_write_global_symbol): Use xcoff_create_ldrel. (xcoff_reloc_link_order): Likewise, but only call it if there's a loader section. Use xcoff_symbol_section. (_bfd_xcoff_bfd_final_link): Only use fdinfo.ldrel and fdinfo.ldsym if there's a loader section. ld/testsuite/ * ld-powerpc/aix-rel-1.s, ld-powerpc/aix-rel-1.od: New test. * ld-powerpc/aix52.exp: Run it.
22 lines
466 B
Text
22 lines
466 B
Text
|
|
.*
|
|
|
|
# It doesn't matter whether .text, .bss and .debug are listed, as long as
|
|
# they're empty. The important thing is that .loader shouldn't appear
|
|
# at all.
|
|
Sections:
|
|
*Idx Name * Size .*
|
|
*0 \.text * 0+0 .*
|
|
*ALLOC, LOAD, CODE
|
|
*1 \.data * 0+8 .*
|
|
*CONTENTS, ALLOC, LOAD, RELOC, DATA
|
|
*2 \.bss * 0+0 .*
|
|
*ALLOC
|
|
*3 \.debug * 0+0 .*
|
|
|
|
RELOCATION RECORDS FOR \[\.data\]:
|
|
OFFSET * TYPE * VALUE
|
|
0+0 R_POS(|_32) * \.puts
|
|
0+4 R_POS(|_32) * foobar
|
|
|
|
|