2001-12-18 H.J. Lu <hjl@gnu.org>

* elf-bfd.h (_bfd_elf_copy_private_bfd_data): New. Prototype.
	(_bfd_mips_elf_copy_private_bfd_data): Removed.

	* elf.c (_bfd_elf_copy_private_bfd_data): New. Copy e_flags in
	the ELF header.

	* elf32-i370.c (??_elf_copy_private_bfd_data): Removed.
	(bfd_elf??_bfd_copy_private_bfd_data): Removed.
	* elf32-m32r.c: Likewise.
	* elf32-m68k.c: Likewise.
	* elf32-mcore.c: Likewise.
	* elf32-mips.c: Likewise.
	* elf32-ppc.c: Likewise.
	* elf32-v850.c: Likewise.
	* elf64-ppc.c: Likewise.
	* elf64-sparc.c: Likewise.
	* elfxx-ia64.c: Likewise.

	* elf64-mips.c (bfd_elf64_bfd_copy_private_bfd_data): Removed.

	* elfxx-target.h (bfd_elfNN_bfd_copy_private_bfd_data): Defined
	to _bfd_elf_copy_private_bfd_data.
This commit is contained in:
H.J. Lu 2001-12-18 17:59:59 +00:00
parent db72780896
commit 2d502050c8
15 changed files with 46 additions and 226 deletions

View File

@ -1,3 +1,28 @@
2001-12-18 H.J. Lu <hjl@gnu.org>
* elf-bfd.h (_bfd_elf_copy_private_bfd_data): New. Prototype.
(_bfd_mips_elf_copy_private_bfd_data): Removed.
* elf.c (_bfd_elf_copy_private_bfd_data): New. Copy e_flags in
the ELF header.
* elf32-i370.c (??_elf_copy_private_bfd_data): Removed.
(bfd_elf??_bfd_copy_private_bfd_data): Removed.
* elf32-m32r.c: Likewise.
* elf32-m68k.c: Likewise.
* elf32-mcore.c: Likewise.
* elf32-mips.c: Likewise.
* elf32-ppc.c: Likewise.
* elf32-v850.c: Likewise.
* elf64-ppc.c: Likewise.
* elf64-sparc.c: Likewise.
* elfxx-ia64.c: Likewise.
* elf64-mips.c (bfd_elf64_bfd_copy_private_bfd_data): Removed.
* elfxx-target.h (bfd_elfNN_bfd_copy_private_bfd_data): Defined
to _bfd_elf_copy_private_bfd_data.
2001-12-18 Martin Schwidefsky <schwidefsky@de.ibm.com>
* elf32-s390 (elf_s390_check_relocs): Pass addend to

View File

@ -1147,6 +1147,8 @@ extern char *bfd_elf_string_from_elf_section
extern char *bfd_elf_get_str_section
PARAMS ((bfd *, unsigned));
extern boolean _bfd_elf_copy_private_bfd_data
PARAMS ((bfd *, bfd *));
extern boolean _bfd_elf_print_private_bfd_data
PARAMS ((bfd *, PTR));
extern void bfd_elf_print_symbol
@ -1546,8 +1548,6 @@ extern bfd_reloc_status_type _bfd_mips_elf_gprel32_reloc
PARAMS ((bfd *, arelent *, asymbol *, PTR, asection *, bfd *, char **));
extern boolean _bfd_mips_elf_set_private_flags
PARAMS ((bfd *, flagword));
extern boolean _bfd_mips_elf_copy_private_bfd_data
PARAMS ((bfd *, bfd *));
extern boolean _bfd_mips_elf_merge_private_bfd_data
PARAMS ((bfd *, bfd *));
extern boolean _bfd_mips_elf_find_nearest_line

View File

@ -786,6 +786,24 @@ _bfd_elf_merge_sections (abfd, info)
/* Print out the program headers. */
boolean
_bfd_elf_copy_private_bfd_data (ibfd, obfd)
bfd *ibfd;
bfd *obfd;
{
if (bfd_get_flavour (ibfd) != bfd_target_elf_flavour
|| bfd_get_flavour (obfd) != bfd_target_elf_flavour)
return true;
BFD_ASSERT (!elf_flags_init (obfd)
|| (elf_elfheader (obfd)->e_flags
== elf_elfheader (ibfd)->e_flags));
elf_elfheader (obfd)->e_flags = elf_elfheader (ibfd)->e_flags;
elf_flags_init (obfd) = true;
return true;
}
boolean
_bfd_elf_print_private_bfd_data (abfd, farg)
bfd *abfd;

View File

@ -301,7 +301,6 @@ i370_elf_reloc_type_lookup (abfd, code)
return i370_elf_howto_table[ (int)i370_reloc ];
};
static boolean i370_elf_copy_private_bfd_data PARAMS ((bfd *, bfd *));
static boolean i370_elf_merge_private_bfd_data PARAMS ((bfd *, bfd *));
static boolean i370_elf_relocate_section PARAMS ((bfd *,
@ -381,24 +380,6 @@ i370_elf_set_private_flags (abfd, flags)
return true;
}
/* Copy backend specific data from one object module to another */
static boolean
i370_elf_copy_private_bfd_data (ibfd, obfd)
bfd *ibfd;
bfd *obfd;
{
if (bfd_get_flavour (ibfd) != bfd_target_elf_flavour
|| bfd_get_flavour (obfd) != bfd_target_elf_flavour)
return true;
BFD_ASSERT (!elf_flags_init (obfd)
|| elf_elfheader (obfd)->e_flags == elf_elfheader (ibfd)->e_flags);
elf_elfheader (obfd)->e_flags = elf_elfheader (ibfd)->e_flags;
elf_flags_init (obfd) = true;
return true;
}
/* Merge backend specific data from an object file to the output
object file when linking */
static boolean
@ -1675,7 +1656,6 @@ i370_elf_post_process_headers (abfd, link_info)
#define bfd_elf32_bfd_reloc_type_lookup i370_elf_reloc_type_lookup
#define bfd_elf32_bfd_set_private_flags i370_elf_set_private_flags
#define bfd_elf32_bfd_copy_private_bfd_data i370_elf_copy_private_bfd_data
#define bfd_elf32_bfd_merge_private_bfd_data i370_elf_merge_private_bfd_data
#define elf_backend_relocate_section i370_elf_relocate_section

View File

@ -66,8 +66,6 @@ static void m32r_elf_final_write_processing
PARAMS ((bfd *, boolean));
static boolean m32r_elf_set_private_flags
PARAMS ((bfd *, flagword));
static boolean m32r_elf_copy_private_bfd_data
PARAMS ((bfd *, bfd *));
static boolean m32r_elf_merge_private_bfd_data
PARAMS ((bfd *, bfd *));
static boolean m32r_elf_print_private_bfd_data
@ -1951,26 +1949,6 @@ m32r_elf_set_private_flags (abfd, flags)
return true;
}
/* Copy backend specific data from one object module to another */
static boolean
m32r_elf_copy_private_bfd_data (ibfd, obfd)
bfd * ibfd;
bfd * obfd;
{
if ( bfd_get_flavour (ibfd) != bfd_target_elf_flavour
|| bfd_get_flavour (obfd) != bfd_target_elf_flavour)
return true;
BFD_ASSERT (!elf_flags_init (obfd)
|| (elf_elfheader (obfd)->e_flags
== elf_elfheader (ibfd)->e_flags));
elf_gp (obfd) = elf_gp (ibfd);
elf_elfheader (obfd)->e_flags = elf_elfheader (ibfd)->e_flags;
elf_flags_init (obfd) = true;
return true;
}
/* Merge backend specific data from an object file to the output
object file when linking. */
static boolean
@ -2192,7 +2170,6 @@ m32r_elf_check_relocs (abfd, info, sec, relocs)
#define elf_backend_object_p m32r_elf_object_p
#define elf_backend_final_write_processing m32r_elf_final_write_processing
#define bfd_elf32_bfd_copy_private_bfd_data m32r_elf_copy_private_bfd_data
#define bfd_elf32_bfd_merge_private_bfd_data m32r_elf_merge_private_bfd_data
#define bfd_elf32_bfd_set_private_flags m32r_elf_set_private_flags
#define bfd_elf32_bfd_print_private_bfd_data m32r_elf_print_private_bfd_data

View File

@ -57,8 +57,6 @@ static boolean elf_m68k_finish_dynamic_sections
static boolean elf32_m68k_set_private_flags
PARAMS ((bfd *, flagword));
static boolean elf32_m68k_copy_private_bfd_data
PARAMS ((bfd *, bfd *));
static boolean elf32_m68k_merge_private_bfd_data
PARAMS ((bfd *, bfd *));
static boolean elf32_m68k_print_private_bfd_data
@ -367,26 +365,6 @@ elf32_m68k_set_private_flags (abfd, flags)
return true;
}
/* Copy m68k-specific data from one module to another */
static boolean
elf32_m68k_copy_private_bfd_data (ibfd, obfd)
bfd *ibfd;
bfd *obfd;
{
flagword in_flags;
if (bfd_get_flavour (ibfd) != bfd_target_elf_flavour
|| bfd_get_flavour (obfd) != bfd_target_elf_flavour)
return true;
in_flags = elf_elfheader (ibfd)->e_flags;
elf_elfheader (obfd)->e_flags = in_flags;
elf_flags_init (obfd) = true;
return true;
}
/* Merge backend specific data from an object file to the output
object file when linking. */
static boolean
@ -2329,8 +2307,6 @@ elf32_m68k_reloc_type_class (rela)
elf_m68k_finish_dynamic_sections
#define elf_backend_gc_mark_hook elf_m68k_gc_mark_hook
#define elf_backend_gc_sweep_hook elf_m68k_gc_sweep_hook
#define bfd_elf32_bfd_copy_private_bfd_data \
elf32_m68k_copy_private_bfd_data
#define bfd_elf32_bfd_merge_private_bfd_data \
elf32_m68k_merge_private_bfd_data
#define bfd_elf32_bfd_set_private_flags \

View File

@ -39,8 +39,6 @@ static void mcore_elf_info_to_howto
PARAMS ((bfd *, arelent *, Elf32_Internal_Rela *));
static boolean mcore_elf_set_private_flags
PARAMS ((bfd *, flagword));
static boolean mcore_elf_copy_private_bfd_data
PARAMS ((bfd *, bfd *));
static boolean mcore_elf_merge_private_bfd_data
PARAMS ((bfd *, bfd *));
static bfd_reloc_status_type mcore_elf_unsupported_reloc
@ -301,24 +299,6 @@ mcore_elf_set_private_flags (abfd, flags)
return true;
}
/* Copy backend specific data from one object module to another. */
static boolean
mcore_elf_copy_private_bfd_data (ibfd, obfd)
bfd * ibfd;
bfd * obfd;
{
if ( bfd_get_flavour (ibfd) != bfd_target_elf_flavour
|| bfd_get_flavour (obfd) != bfd_target_elf_flavour)
return true;
BFD_ASSERT (! elf_flags_init (obfd)
|| elf_elfheader (obfd)->e_flags == elf_elfheader (ibfd)->e_flags);
elf_elfheader (obfd)->e_flags = elf_elfheader (ibfd)->e_flags;
elf_flags_init (obfd) = true;
return true;
}
/* Merge backend specific data from an object file to the output
object file when linking. */
static boolean
@ -737,7 +717,6 @@ mcore_elf_check_relocs (abfd, info, sec, relocs)
#define elf_info_to_howto mcore_elf_info_to_howto
#define elf_info_to_howto_rel NULL
#define bfd_elf32_bfd_copy_private_bfd_data mcore_elf_copy_private_bfd_data
#define bfd_elf32_bfd_merge_private_bfd_data mcore_elf_merge_private_bfd_data
#define bfd_elf32_bfd_set_private_flags mcore_elf_set_private_flags
#define bfd_elf32_bfd_reloc_type_lookup mcore_elf_reloc_type_lookup

View File

@ -3036,27 +3036,6 @@ _bfd_mips_elf_set_private_flags (abfd, flags)
return true;
}
/* Copy backend specific data from one object module to another */
boolean
_bfd_mips_elf_copy_private_bfd_data (ibfd, obfd)
bfd *ibfd;
bfd *obfd;
{
if (bfd_get_flavour (ibfd) != bfd_target_elf_flavour
|| bfd_get_flavour (obfd) != bfd_target_elf_flavour)
return true;
BFD_ASSERT (!elf_flags_init (obfd)
|| (elf_elfheader (obfd)->e_flags
== elf_elfheader (ibfd)->e_flags));
elf_gp (obfd) = elf_gp (ibfd);
elf_elfheader (obfd)->e_flags = elf_elfheader (ibfd)->e_flags;
elf_flags_init (obfd) = true;
return true;
}
/* Merge backend specific data from an object file to the output
object file when linking. */
@ -10145,8 +10124,6 @@ static const struct ecoff_debug_swap mips_elf32_ecoff_debug_swap = {
#define bfd_elf32_bfd_link_hash_table_create \
_bfd_mips_elf_link_hash_table_create
#define bfd_elf32_bfd_final_link _bfd_mips_elf_final_link
#define bfd_elf32_bfd_copy_private_bfd_data \
_bfd_mips_elf_copy_private_bfd_data
#define bfd_elf32_bfd_merge_private_bfd_data \
_bfd_mips_elf_merge_private_bfd_data
#define bfd_elf32_bfd_set_private_flags _bfd_mips_elf_set_private_flags

View File

@ -44,7 +44,6 @@ static boolean ppc_elf_relax_section
static bfd_reloc_status_type ppc_elf_addr16_ha_reloc
PARAMS ((bfd *, arelent *, asymbol *, PTR, asection *, bfd *, char **));
static boolean ppc_elf_set_private_flags PARAMS ((bfd *, flagword));
static boolean ppc_elf_copy_private_bfd_data PARAMS ((bfd *, bfd *));
static boolean ppc_elf_merge_private_bfd_data PARAMS ((bfd *, bfd *));
static int ppc_elf_additional_program_headers PARAMS ((bfd *));
@ -1394,24 +1393,6 @@ ppc_elf_set_private_flags (abfd, flags)
return true;
}
/* Copy backend specific data from one object module to another */
static boolean
ppc_elf_copy_private_bfd_data (ibfd, obfd)
bfd *ibfd;
bfd *obfd;
{
if (bfd_get_flavour (ibfd) != bfd_target_elf_flavour
|| bfd_get_flavour (obfd) != bfd_target_elf_flavour)
return true;
BFD_ASSERT (!elf_flags_init (obfd)
|| elf_elfheader (obfd)->e_flags == elf_elfheader (ibfd)->e_flags);
elf_elfheader (obfd)->e_flags = elf_elfheader (ibfd)->e_flags;
elf_flags_init (obfd) = true;
return true;
}
/* Merge backend specific data from an object file to the output
object file when linking */
static boolean
@ -3799,7 +3780,6 @@ ppc_elf_grok_psinfo (abfd, note)
#define elf_backend_got_header_size 12
#define elf_backend_plt_header_size PLT_INITIAL_ENTRY_SIZE
#define bfd_elf32_bfd_copy_private_bfd_data ppc_elf_copy_private_bfd_data
#define bfd_elf32_bfd_merge_private_bfd_data ppc_elf_merge_private_bfd_data
#define bfd_elf32_bfd_relax_section ppc_elf_relax_section
#define bfd_elf32_bfd_reloc_type_lookup ppc_elf_reloc_type_lookup

View File

@ -64,8 +64,6 @@ static void v850_elf_final_write_processing
PARAMS ((bfd *, boolean));
static boolean v850_elf_set_private_flags
PARAMS ((bfd *, flagword));
static boolean v850_elf_copy_private_bfd_data
PARAMS ((bfd *, bfd *));
static boolean v850_elf_merge_private_bfd_data
PARAMS ((bfd *, bfd *));
static boolean v850_elf_print_private_bfd_data
@ -1832,28 +1830,6 @@ v850_elf_set_private_flags (abfd, flags)
return true;
}
/* Copy backend specific data from one object module to another. */
static boolean
v850_elf_copy_private_bfd_data (ibfd, obfd)
bfd * ibfd;
bfd * obfd;
{
if ( bfd_get_flavour (ibfd) != bfd_target_elf_flavour
|| bfd_get_flavour (obfd) != bfd_target_elf_flavour)
return true;
BFD_ASSERT (!elf_flags_init (obfd)
|| (elf_elfheader (obfd)->e_flags
== elf_elfheader (ibfd)->e_flags));
elf_gp (obfd) = elf_gp (ibfd);
elf_elfheader (obfd)->e_flags = elf_elfheader (ibfd)->e_flags;
elf_flags_init (obfd) = true;
return true;
}
/* Merge backend specific data from an object file
to the output object file when linking. */
static boolean
@ -2238,7 +2214,6 @@ v850_elf_fake_sections (abfd, hdr, sec)
#define bfd_elf32_bfd_is_local_label_name v850_elf_is_local_label_name
#define bfd_elf32_bfd_reloc_type_lookup v850_elf_reloc_type_lookup
#define bfd_elf32_bfd_copy_private_bfd_data v850_elf_copy_private_bfd_data
#define bfd_elf32_bfd_merge_private_bfd_data v850_elf_merge_private_bfd_data
#define bfd_elf32_bfd_set_private_flags v850_elf_set_private_flags
#define bfd_elf32_bfd_print_private_bfd_data v850_elf_print_private_bfd_data

View File

@ -7026,8 +7026,6 @@ const struct elf_size_info mips_elf64_size_info =
#define bfd_elf64_bfd_link_hash_table_create \
mips_elf64_link_hash_table_create
#define bfd_elf64_bfd_final_link mips_elf64_final_link
#define bfd_elf64_bfd_copy_private_bfd_data \
_bfd_mips_elf_copy_private_bfd_data
#define bfd_elf64_bfd_merge_private_bfd_data \
_bfd_mips_elf_merge_private_bfd_data
#define bfd_elf64_bfd_set_private_flags _bfd_mips_elf_set_private_flags

View File

@ -42,8 +42,6 @@ static bfd_reloc_status_type ppc64_elf_addr16_ha_reloc
PARAMS ((bfd *, arelent *, asymbol *, PTR, asection *, bfd *, char **));
static boolean ppc64_elf_set_private_flags
PARAMS ((bfd *, flagword));
static boolean ppc64_elf_copy_private_bfd_data
PARAMS ((bfd *, bfd *));
static boolean ppc64_elf_merge_private_bfd_data
PARAMS ((bfd *, bfd *));
static boolean ppc64_elf_section_from_shdr
@ -1427,24 +1425,6 @@ ppc64_elf_set_private_flags (abfd, flags)
return true;
}
/* Copy backend specific data from one object module to another. */
static boolean
ppc64_elf_copy_private_bfd_data (ibfd, obfd)
bfd *ibfd;
bfd *obfd;
{
if (bfd_get_flavour (ibfd) != bfd_target_elf_flavour
|| bfd_get_flavour (obfd) != bfd_target_elf_flavour)
return true;
BFD_ASSERT (!elf_flags_init (obfd)
|| elf_elfheader (obfd)->e_flags == elf_elfheader (ibfd)->e_flags);
elf_elfheader (obfd)->e_flags = elf_elfheader (ibfd)->e_flags;
elf_flags_init (obfd) = true;
return true;
}
/* Merge backend specific data from an object file to the output
object file when linking. */
static boolean
@ -3990,7 +3970,6 @@ ppc64_elf_finish_dynamic_sections (output_bfd, info)
#define bfd_elf64_bfd_reloc_type_lookup ppc64_elf_reloc_type_lookup
#define bfd_elf64_bfd_set_private_flags ppc64_elf_set_private_flags
#define bfd_elf64_bfd_copy_private_bfd_data ppc64_elf_copy_private_bfd_data
#define bfd_elf64_bfd_merge_private_bfd_data ppc64_elf_merge_private_bfd_data
#define bfd_elf64_bfd_link_hash_table_create ppc64_elf_link_hash_table_create
#define bfd_elf64_bfd_final_link ppc64_elf_final_link

View File

@ -69,8 +69,6 @@ static boolean sparc64_elf_output_arch_syms
static void sparc64_elf_symbol_processing
PARAMS ((bfd *, asymbol *));
static boolean sparc64_elf_copy_private_bfd_data
PARAMS ((bfd *, bfd *));
static boolean sparc64_elf_merge_private_bfd_data
PARAMS ((bfd *, bfd *));
@ -2942,24 +2940,6 @@ sparc64_elf_reloc_type_class (rela)
/* Functions for dealing with the e_flags field. */
/* Copy backend specific data from one object module to another */
static boolean
sparc64_elf_copy_private_bfd_data (ibfd, obfd)
bfd *ibfd, *obfd;
{
if ( bfd_get_flavour (ibfd) != bfd_target_elf_flavour
|| bfd_get_flavour (obfd) != bfd_target_elf_flavour)
return true;
BFD_ASSERT (!elf_flags_init (obfd)
|| (elf_elfheader (obfd)->e_flags
== elf_elfheader (ibfd)->e_flags));
elf_elfheader (obfd)->e_flags = elf_elfheader (ibfd)->e_flags;
elf_flags_init (obfd) = true;
return true;
}
/* Merge backend specific data from an object file to the output
object file when linking. */
@ -3181,8 +3161,6 @@ const struct elf_size_info sparc64_elf_size_info =
sparc64_elf_print_symbol_all
#define elf_backend_output_arch_syms \
sparc64_elf_output_arch_syms
#define bfd_elf64_bfd_copy_private_bfd_data \
sparc64_elf_copy_private_bfd_data
#define bfd_elf64_bfd_merge_private_bfd_data \
sparc64_elf_merge_private_bfd_data

View File

@ -301,8 +301,6 @@ static boolean elfNN_ia64_finish_dynamic_sections
PARAMS ((bfd *abfd, struct bfd_link_info *info));
static boolean elfNN_ia64_set_private_flags
PARAMS ((bfd *abfd, flagword flags));
static boolean elfNN_ia64_copy_private_bfd_data
PARAMS ((bfd *ibfd, bfd *obfd));
static boolean elfNN_ia64_merge_private_bfd_data
PARAMS ((bfd *ibfd, bfd *obfd));
static boolean elfNN_ia64_print_private_bfd_data
@ -4262,24 +4260,6 @@ elfNN_ia64_set_private_flags (abfd, flags)
return true;
}
/* Copy backend specific data from one object module to another */
static boolean
elfNN_ia64_copy_private_bfd_data (ibfd, obfd)
bfd *ibfd, *obfd;
{
if ( bfd_get_flavour (ibfd) != bfd_target_elf_flavour
|| bfd_get_flavour (obfd) != bfd_target_elf_flavour)
return true;
BFD_ASSERT (!elf_flags_init (obfd)
|| (elf_elfheader (obfd)->e_flags
== elf_elfheader (ibfd)->e_flags));
elf_elfheader (obfd)->e_flags = elf_elfheader (ibfd)->e_flags;
elf_flags_init (obfd) = true;
return true;
}
/* Merge backend specific data from an object file to the output
object file when linking. */
static boolean
@ -4470,8 +4450,6 @@ elfNN_ia64_reloc_type_class (rela)
#define bfd_elfNN_bfd_final_link \
elfNN_ia64_final_link
#define bfd_elfNN_bfd_copy_private_bfd_data \
elfNN_ia64_copy_private_bfd_data
#define bfd_elfNN_bfd_merge_private_bfd_data \
elfNN_ia64_merge_private_bfd_data
#define bfd_elfNN_bfd_set_private_flags \

View File

@ -142,7 +142,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#endif
#ifndef bfd_elfNN_bfd_copy_private_bfd_data
#define bfd_elfNN_bfd_copy_private_bfd_data \
((boolean (*) PARAMS ((bfd *, bfd *))) bfd_true)
_bfd_elf_copy_private_bfd_data
#endif
#ifndef bfd_elfNN_bfd_print_private_bfd_data
#define bfd_elfNN_bfd_print_private_bfd_data \