BFD: Rename `*_set_reloc' to `*_finalize_section_relocs' The `*_set_reloc' interface is to be called at the conclusion of section relocation processing, however its name reflects a particular action to take rather than the context of invocation. Implementation is already backend-specific. Rename the interface such as not to make its name artificially limit the intended purpose. Update the callers and documentation accordingly. No functional change.
diff --git a/bfd/aout-target.h b/bfd/aout-target.h index c3a4253..fd428be 100644 --- a/bfd/aout-target.h +++ b/bfd/aout-target.h
@@ -444,8 +444,8 @@ #ifndef MY_canonicalize_reloc #define MY_canonicalize_reloc NAME (aout, canonicalize_reloc) #endif -#ifndef MY_set_reloc -#define MY_set_reloc _bfd_generic_set_reloc +#ifndef MY_finalize_section_relocs +#define MY_finalize_section_relocs _bfd_generic_finalize_section_relocs #endif #ifndef MY_make_empty_symbol #define MY_make_empty_symbol NAME (aout, make_empty_symbol)
diff --git a/bfd/bfd-in2.h b/bfd/bfd-in2.h index ba6dca1..131e969 100644 --- a/bfd/bfd-in2.h +++ b/bfd/bfd-in2.h
@@ -2613,11 +2613,12 @@ long bfd_canonicalize_reloc (bfd *abfd, asection *sec, arelent **loc, asymbol **syms); -void bfd_set_reloc +void bfd_finalize_section_relocs (bfd *abfd, asection *sec, arelent **rel, unsigned int count); -#define bfd_set_reloc(abfd, asect, location, count) \ - BFD_SEND (abfd, _bfd_set_reloc, (abfd, asect, location, count)) +#define bfd_finalize_section_relocs(abfd, asect, location, count) \ + BFD_SEND (abfd, _bfd_finalize_section_relocs, \ + (abfd, asect, location, count)) bool bfd_set_file_flags (bfd *abfd, flagword flags); int bfd_get_arch_size (bfd *abfd); @@ -7656,14 +7657,15 @@ #define BFD_JUMP_TABLE_RELOCS(NAME) \ NAME##_get_reloc_upper_bound, \ NAME##_canonicalize_reloc, \ - NAME##_set_reloc, \ + NAME##_finalize_section_relocs, \ NAME##_bfd_reloc_type_lookup, \ NAME##_bfd_reloc_name_lookup long (*_get_reloc_upper_bound) (bfd *, sec_ptr); long (*_bfd_canonicalize_reloc) (bfd *, sec_ptr, arelent **, struct bfd_symbol **); - void (*_bfd_set_reloc) (bfd *, sec_ptr, arelent **, unsigned int); + void (*_bfd_finalize_section_relocs) (bfd *, sec_ptr, arelent **, + unsigned int); /* See documentation on reloc types. */ reloc_howto_type * (*reloc_type_lookup) (bfd *, bfd_reloc_code_real_type);
diff --git a/bfd/bfd.c b/bfd/bfd.c index d1d1df5..0c97a49 100644 --- a/bfd/bfd.c +++ b/bfd/bfd.c
@@ -2199,19 +2199,21 @@ /* FUNCTION - bfd_set_reloc + bfd_finalize_section_relocs SYNOPSIS - void bfd_set_reloc + void bfd_finalize_section_relocs (bfd *abfd, asection *sec, arelent **rel, unsigned int count); DESCRIPTION - Set the relocation pointer and count within - section @var{sec} to the values @var{rel} and @var{count}. - The argument @var{abfd} is ignored. + Set the relocation pointer and count within section @var{sec} + to the values @var{rel} and @var{count}, and take any other + actions required at the conclusion of section relocation + processing. -.#define bfd_set_reloc(abfd, asect, location, count) \ -. BFD_SEND (abfd, _bfd_set_reloc, (abfd, asect, location, count)) +.#define bfd_finalize_section_relocs(abfd, asect, location, count) \ +. BFD_SEND (abfd, _bfd_finalize_section_relocs, \ +. (abfd, asect, location, count)) */ /*
diff --git a/bfd/coff-alpha.c b/bfd/coff-alpha.c index f5089ef..b57ca2b 100644 --- a/bfd/coff-alpha.c +++ b/bfd/coff-alpha.c
@@ -2423,7 +2423,7 @@ #define _bfd_ecoff_bfd_link_check_relocs _bfd_generic_link_check_relocs /* Installing internal relocations in a section is also generic. */ -#define _bfd_ecoff_set_reloc _bfd_generic_set_reloc +#define _bfd_ecoff_finalize_section_relocs _bfd_generic_finalize_section_relocs const bfd_target alpha_ecoff_le_vec = {
diff --git a/bfd/coff-mips.c b/bfd/coff-mips.c index fb8e611..85abe9f 100644 --- a/bfd/coff-mips.c +++ b/bfd/coff-mips.c
@@ -1412,7 +1412,7 @@ #define _bfd_ecoff_bfd_define_common_symbol bfd_generic_define_common_symbol #define _bfd_ecoff_bfd_link_hide_symbol _bfd_generic_link_hide_symbol #define _bfd_ecoff_bfd_define_start_stop bfd_generic_define_start_stop -#define _bfd_ecoff_set_reloc _bfd_generic_set_reloc +#define _bfd_ecoff_finalize_section_relocs _bfd_generic_finalize_section_relocs extern const bfd_target mips_ecoff_be_vec;
diff --git a/bfd/coff-rs6000.c b/bfd/coff-rs6000.c index 74c5bb4..7f3a237 100644 --- a/bfd/coff-rs6000.c +++ b/bfd/coff-rs6000.c
@@ -4506,7 +4506,7 @@ /* For reloc entry points. */ #define _bfd_xcoff_get_reloc_upper_bound coff_get_reloc_upper_bound #define _bfd_xcoff_canonicalize_reloc coff_canonicalize_reloc -#define _bfd_xcoff_set_reloc _bfd_generic_set_reloc +#define _bfd_xcoff_finalize_section_relocs _bfd_generic_finalize_section_relocs #define _bfd_xcoff_bfd_reloc_type_lookup _bfd_xcoff_reloc_type_lookup #define _bfd_xcoff_bfd_reloc_name_lookup _bfd_xcoff_reloc_name_lookup
diff --git a/bfd/coff64-rs6000.c b/bfd/coff64-rs6000.c index f03412a..65159cb 100644 --- a/bfd/coff64-rs6000.c +++ b/bfd/coff64-rs6000.c
@@ -2665,7 +2665,7 @@ /* Reloc */ coff_get_reloc_upper_bound, coff_canonicalize_reloc, - _bfd_generic_set_reloc, + _bfd_generic_finalize_section_relocs, xcoff64_reloc_type_lookup, xcoff64_reloc_name_lookup, @@ -2935,7 +2935,7 @@ /* Reloc */ coff_get_reloc_upper_bound, coff_canonicalize_reloc, - _bfd_generic_set_reloc, + _bfd_generic_finalize_section_relocs, xcoff64_reloc_type_lookup, xcoff64_reloc_name_lookup,
diff --git a/bfd/coffcode.h b/bfd/coffcode.h index 95fc608..7439fca 100644 --- a/bfd/coffcode.h +++ b/bfd/coffcode.h
@@ -5431,8 +5431,8 @@ return section->reloc_count; } -#ifndef coff_set_reloc -#define coff_set_reloc _bfd_generic_set_reloc +#ifndef coff_finalize_section_relocs +#define coff_finalize_section_relocs _bfd_generic_finalize_section_relocs #endif #ifndef coff_reloc16_estimate
diff --git a/bfd/elf64-sparc.c b/bfd/elf64-sparc.c index 16de156..2a192dd 100644 --- a/bfd/elf64-sparc.c +++ b/bfd/elf64-sparc.c
@@ -315,10 +315,10 @@ /* Install a new set of internal relocs. */ static void -elf64_sparc_set_reloc (bfd *abfd ATTRIBUTE_UNUSED, - asection *asect, - arelent **location, - unsigned int count) +elf64_sparc_finalize_section_relocs (bfd *abfd ATTRIBUTE_UNUSED, + asection *asect, + arelent **location, + unsigned int count) { asect->orelocation = location; canon_reloc_count (asect) = count; @@ -908,8 +908,8 @@ elf64_sparc_canonicalize_reloc #define bfd_elf64_canonicalize_dynamic_reloc \ elf64_sparc_canonicalize_dynamic_reloc -#define bfd_elf64_set_reloc \ - elf64_sparc_set_reloc +#define bfd_elf64_finalize_section_relocs \ + elf64_sparc_finalize_section_relocs #define elf_backend_add_symbol_hook \ elf64_sparc_add_symbol_hook #define elf_backend_get_symbol_type \
diff --git a/bfd/elfxx-target.h b/bfd/elfxx-target.h index 48fb308..c190dd3 100644 --- a/bfd/elfxx-target.h +++ b/bfd/elfxx-target.h
@@ -46,8 +46,8 @@ #ifndef bfd_elfNN_canonicalize_reloc #define bfd_elfNN_canonicalize_reloc _bfd_elf_canonicalize_reloc #endif -#ifndef bfd_elfNN_set_reloc -#define bfd_elfNN_set_reloc _bfd_generic_set_reloc +#ifndef bfd_elfNN_finalize_section_relocs +#define bfd_elfNN_finalize_section_relocs _bfd_generic_finalize_section_relocs #endif #ifndef bfd_elfNN_find_nearest_line #define bfd_elfNN_find_nearest_line _bfd_elf_find_nearest_line
diff --git a/bfd/i386msdos.c b/bfd/i386msdos.c index 571988e..f19e2af 100644 --- a/bfd/i386msdos.c +++ b/bfd/i386msdos.c
@@ -260,7 +260,7 @@ #define msdos_minisymbol_to_symbol _bfd_nosymbols_minisymbol_to_symbol #define msdos_canonicalize_reloc _bfd_norelocs_canonicalize_reloc -#define msdos_set_reloc _bfd_norelocs_set_reloc +#define msdos_finalize_section_relocs _bfd_norelocs_finalize_section_relocs #define msdos_get_reloc_upper_bound _bfd_norelocs_get_reloc_upper_bound #define msdos_32_bfd_link_split_section _bfd_generic_link_split_section
diff --git a/bfd/libbfd-in.h b/bfd/libbfd-in.h index 870bd6f..b9a1ca4 100644 --- a/bfd/libbfd-in.h +++ b/bfd/libbfd-in.h
@@ -447,7 +447,7 @@ (bfd *, asection *) ATTRIBUTE_HIDDEN; extern long _bfd_norelocs_canonicalize_reloc (bfd *, asection *, arelent **, asymbol **) ATTRIBUTE_HIDDEN; -extern void _bfd_norelocs_set_reloc +extern void _bfd_norelocs_finalize_section_relocs (bfd *, asection *, arelent **, unsigned int) ATTRIBUTE_HIDDEN; extern reloc_howto_type *_bfd_norelocs_bfd_reloc_type_lookup (bfd *, bfd_reloc_code_real_type) ATTRIBUTE_HIDDEN;
diff --git a/bfd/libbfd.c b/bfd/libbfd.c index 0520602..8be8266 100644 --- a/bfd/libbfd.c +++ b/bfd/libbfd.c
@@ -200,10 +200,10 @@ } void -_bfd_norelocs_set_reloc (bfd *abfd ATTRIBUTE_UNUSED, - asection *sec ATTRIBUTE_UNUSED, - arelent **relptr ATTRIBUTE_UNUSED, - unsigned int count ATTRIBUTE_UNUSED) +_bfd_norelocs_finalize_section_relocs (bfd *abfd ATTRIBUTE_UNUSED, + asection *sec ATTRIBUTE_UNUSED, + arelent **relptr ATTRIBUTE_UNUSED, + unsigned int count ATTRIBUTE_UNUSED) { /* Do nothing. */ }
diff --git a/bfd/libbfd.h b/bfd/libbfd.h index bc6ca4f..5d39478 100644 --- a/bfd/libbfd.h +++ b/bfd/libbfd.h
@@ -453,7 +453,7 @@ (bfd *, asection *) ATTRIBUTE_HIDDEN; extern long _bfd_norelocs_canonicalize_reloc (bfd *, asection *, arelent **, asymbol **) ATTRIBUTE_HIDDEN; -extern void _bfd_norelocs_set_reloc +extern void _bfd_norelocs_finalize_section_relocs (bfd *, asection *, arelent **, unsigned int) ATTRIBUTE_HIDDEN; extern reloc_howto_type *_bfd_norelocs_bfd_reloc_type_lookup (bfd *, bfd_reloc_code_real_type) ATTRIBUTE_HIDDEN; @@ -3530,7 +3530,7 @@ bool relocatable, asymbol **symbols) ATTRIBUTE_HIDDEN; -void _bfd_generic_set_reloc +void _bfd_generic_finalize_section_relocs (bfd *abfd, sec_ptr section, arelent **relptr,
diff --git a/bfd/mach-o-target.c b/bfd/mach-o-target.c index c0b8a39..e1d81d2c0 100644 --- a/bfd/mach-o-target.c +++ b/bfd/mach-o-target.c
@@ -58,7 +58,7 @@ #define bfd_mach_o_bfd_copy_private_bfd_data _bfd_generic_bfd_copy_private_bfd_data #define bfd_mach_o_core_file_matches_executable_p generic_core_file_matches_executable_p #define bfd_mach_o_core_file_pid _bfd_nocore_core_file_pid -#define bfd_mach_o_set_reloc _bfd_generic_set_reloc +#define bfd_mach_o_finalize_section_relocs _bfd_generic_finalize_section_relocs #define bfd_mach_o_get_dynamic_symtab_upper_bound bfd_mach_o_get_symtab_upper_bound #define bfd_mach_o_canonicalize_dynamic_symtab bfd_mach_o_canonicalize_symtab
diff --git a/bfd/reloc.c b/bfd/reloc.c index e3a9a1a..aea90fb 100644 --- a/bfd/reloc.c +++ b/bfd/reloc.c
@@ -8362,10 +8362,10 @@ /* INTERNAL_FUNCTION - _bfd_generic_set_reloc + _bfd_generic_finalize_section_relocs SYNOPSIS - void _bfd_generic_set_reloc + void _bfd_generic_finalize_section_relocs (bfd *abfd, sec_ptr section, arelent **relptr, @@ -8376,10 +8376,10 @@ */ void -_bfd_generic_set_reloc (bfd *abfd ATTRIBUTE_UNUSED, - sec_ptr section, - arelent **relptr, - unsigned int count) +_bfd_generic_finalize_section_relocs (bfd *abfd ATTRIBUTE_UNUSED, + sec_ptr section, + arelent **relptr, + unsigned int count) { section->orelocation = relptr; section->reloc_count = count;
diff --git a/bfd/som.c b/bfd/som.c index 4648f77..d256a66 100644 --- a/bfd/som.c +++ b/bfd/som.c
@@ -6789,7 +6789,7 @@ #define som_bfd_set_private_flags _bfd_generic_bfd_set_private_flags #define som_find_inliner_info _bfd_nosymbols_find_inliner_info #define som_bfd_link_check_relocs _bfd_generic_link_check_relocs -#define som_set_reloc _bfd_generic_set_reloc +#define som_finalize_section_relocs _bfd_generic_finalize_section_relocs const bfd_target hppa_som_vec = {
diff --git a/bfd/targets.c b/bfd/targets.c index 9b1b5b3..864ff62 100644 --- a/bfd/targets.c +++ b/bfd/targets.c
@@ -431,14 +431,15 @@ .#define BFD_JUMP_TABLE_RELOCS(NAME) \ . NAME##_get_reloc_upper_bound, \ . NAME##_canonicalize_reloc, \ -. NAME##_set_reloc, \ +. NAME##_finalize_section_relocs, \ . NAME##_bfd_reloc_type_lookup, \ . NAME##_bfd_reloc_name_lookup . . long (*_get_reloc_upper_bound) (bfd *, sec_ptr); . long (*_bfd_canonicalize_reloc) (bfd *, sec_ptr, arelent **, . struct bfd_symbol **); -. void (*_bfd_set_reloc) (bfd *, sec_ptr, arelent **, unsigned int); +. void (*_bfd_finalize_section_relocs) (bfd *, sec_ptr, arelent **, +. unsigned int); . {* See documentation on reloc types. *} . reloc_howto_type * . (*reloc_type_lookup) (bfd *, bfd_reloc_code_real_type);
diff --git a/bfd/vms-alpha.c b/bfd/vms-alpha.c index c199dda..b17c255 100644 --- a/bfd/vms-alpha.c +++ b/bfd/vms-alpha.c
@@ -5652,7 +5652,7 @@ /* Install a new set of internal relocs. */ -#define alpha_vms_set_reloc _bfd_generic_set_reloc +#define alpha_vms_finalize_section_relocs _bfd_generic_finalize_section_relocs /* This is just copied from ecoff-alpha, needs to be fixed probably. */
diff --git a/binutils/objcopy.c b/binutils/objcopy.c index 7aef75f..aea69ba 100644 --- a/binutils/objcopy.c +++ b/binutils/objcopy.c
@@ -4555,7 +4555,7 @@ } if (relsize == 0) - bfd_set_reloc (obfd, osection, NULL, 0); + bfd_finalize_section_relocs (obfd, osection, NULL, 0); else { if (isection->orelocation != NULL) @@ -4596,7 +4596,8 @@ *w_relpp = 0; } - bfd_set_reloc (obfd, osection, relcount == 0 ? NULL : relpp, relcount); + bfd_finalize_section_relocs (obfd, osection, + relcount == 0 ? NULL : relpp, relcount); } return true; }
diff --git a/binutils/rescoff.c b/binutils/rescoff.c index 4088f20..afeadf1 100644 --- a/binutils/rescoff.c +++ b/binutils/rescoff.c
@@ -685,7 +685,7 @@ return false; } - bfd_set_reloc (abfd, sec, cwi.relocs, cwi.reloc_count); + bfd_finalize_section_relocs (abfd, sec, cwi.relocs, cwi.reloc_count); offset = 0; for (d = cwi.dirs.d; d != NULL; d = d->next)
diff --git a/gas/config/obj-coff.c b/gas/config/obj-coff.c index 3972951..b01ef97 100644 --- a/gas/config/obj-coff.c +++ b/gas/config/obj-coff.c
@@ -1493,7 +1493,7 @@ secsym = section_symbol (sec); /* This is an estimate; we'll plug in the real value using - SET_SECTION_RELOCS later */ + FINALIZE_SECTION_RELOCS later */ #ifdef OBJ_XCOFF if (S_GET_STORAGE_CLASS (secsym) == C_DWARF) SA_SET_SECT_NRELOC (secsym, nrelocs); @@ -1518,11 +1518,12 @@ in its aux entry. */ void -obj_coff_set_section_relocs (asection *sec, arelent **relocs, unsigned int n) +obj_coff_finalize_section_relocs (asection *sec, arelent **relocs, + unsigned int n) { symbolS *sect_sym; - bfd_set_reloc (stdoutput, sec, n ? relocs : NULL, n); + bfd_finalize_section_relocs (stdoutput, sec, n ? relocs : NULL, n); sect_sym = section_symbol (sec); #ifdef OBJ_XCOFF if (S_GET_STORAGE_CLASS (sect_sym) == C_DWARF)
diff --git a/gas/config/obj-coff.h b/gas/config/obj-coff.h index 0e64a8a..8fb39db 100644 --- a/gas/config/obj-coff.h +++ b/gas/config/obj-coff.h
@@ -294,9 +294,10 @@ #define INIT_STAB_SECTION(stab, str) obj_coff_init_stab_section (stab, str) /* We need to store the number of relocations in the section aux entry. */ -#define SET_SECTION_RELOCS(sec, relocs, n) \ - obj_coff_set_section_relocs (sec, relocs, n) -extern void obj_coff_set_section_relocs (asection *, arelent **, unsigned int); +#define FINALIZE_SECTION_RELOCS(sec, relocs, n) \ + obj_coff_finalize_section_relocs (sec, relocs, n) +extern void obj_coff_finalize_section_relocs (asection *, arelent **, + unsigned int); extern int S_SET_DATA_TYPE (symbolS *, int); extern int S_SET_STORAGE_CLASS (symbolS *, int);
diff --git a/gas/config/obj-macho.c b/gas/config/obj-macho.c index cf89f1f..06ace7a 100644 --- a/gas/config/obj-macho.c +++ b/gas/config/obj-macho.c
@@ -1891,7 +1891,7 @@ rels[i] = rels[n - i - 1]; rels[n - i - 1] = r; } - bfd_set_reloc (stdoutput, sec, rels, n); + bfd_finalize_section_relocs (stdoutput, sec, rels, n); } /* Relocation rules are different in frame sections. */
diff --git a/gas/config/obj-macho.h b/gas/config/obj-macho.h index a0e3624..40dd9fb 100644 --- a/gas/config/obj-macho.h +++ b/gas/config/obj-macho.h
@@ -99,7 +99,7 @@ #define obj_frob_file_after_relocs obj_mach_o_frob_file_after_relocs extern void obj_mach_o_frob_file_after_relocs (void); -#define SET_SECTION_RELOCS(sec, relocs, n) \ +#define FINALIZE_SECTION_RELOCS(sec, relocs, n) \ obj_mach_o_reorder_section_relocs (sec, relocs, n) extern void obj_mach_o_reorder_section_relocs (asection *, arelent **, unsigned int);
diff --git a/gas/doc/internals.texi b/gas/doc/internals.texi index 981f864..f840efa 100644 --- a/gas/doc/internals.texi +++ b/gas/doc/internals.texi
@@ -1697,9 +1697,9 @@ If you define this macro, GAS will call it after the relocs have been generated. -@item SET_SECTION_RELOCS (@var{sec}, @var{relocs}, @var{n}) -@cindex SET_SECTION_RELOCS -If you define this, it will be called to set relocations for the section +@item FINALIZE_SECTION_RELOCS (@var{sec}, @var{relocs}, @var{n}) +@cindex FINALIZE_SECTION_RELOCS +If you define this, it will be called to finalize relocations for the section @var{sec}. The list of relocations is in @var{relocs}, and the number of relocations is in @var{n}. @end table
diff --git a/gas/write.c b/gas/write.c index 8869461..b342714 100644 --- a/gas/write.c +++ b/gas/write.c
@@ -28,9 +28,9 @@ #include "compress-debug.h" #include "codeview.h" -#ifndef SET_SECTION_RELOCS -#define SET_SECTION_RELOCS(sec, relocs, n) \ - bfd_set_reloc (stdoutput, sec, n ? relocs : NULL, n) +#ifndef FINALIZE_SECTION_RELOCS +#define FINALIZE_SECTION_RELOCS(sec, relocs, n) \ + bfd_finalize_section_relocs (stdoutput, sec, n ? relocs : NULL, n) #endif #ifndef TC_FORCE_RELOCATION @@ -1419,7 +1419,7 @@ } #endif - SET_SECTION_RELOCS (sec, relocs, n); + FINALIZE_SECTION_RELOCS (sec, relocs, n); #ifdef DEBUG3 {
diff --git a/ld/ldlang.c b/ld/ldlang.c index c1c60b3..c5a1280 100644 --- a/ld/ldlang.c +++ b/ld/ldlang.c
@@ -10640,7 +10640,7 @@ } if (relsize == 0) - bfd_set_reloc (obfd, osection, NULL, 0); + bfd_finalize_section_relocs (obfd, osection, NULL, 0); else { relpp = (arelent **) xmalloc (relsize); @@ -10651,8 +10651,8 @@ goto loser; } - bfd_set_reloc (obfd, osection, - relcount == 0 ? NULL : relpp, relcount); + bfd_finalize_section_relocs (obfd, osection, + relcount == 0 ? NULL : relpp, relcount); if (relcount == 0) free (relpp); }