This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
PATCH: Don't share ELF target backend data
- From: "H. J. Lu" <hjl at lucon dot org>
- To: binutils at sources dot redhat dot com
- Date: Sat, 27 Jan 2007 18:36:58 -0800
- Subject: PATCH: Don't share ELF target backend data
I think sharing ELF target backend data is a bad idea. Linux target
uses netbsd target backend data in elf64-sh64.c. It is quite confusing.
This patch removes this feature.
H.J.
----
2076-01-27 H.J. Lu <hongjiu.lu@intel.com>
* elf32-cris.c (INCLUDED_TARGET_FILE): Removed.
(elf32_bed): Defined for elf32-us-cris.
* elf64-sh64.c (elf64_bed): Defined for Linux.
(INCLUDED_TARGET_FILE): Removed.
* elfxx-target.h (elfNN_bed): Always define. Don't check
INCLUDED_TARGET_FILE.
--- bfd/elf32-cris.c.bed 2006-10-22 11:44:52.000000000 -0700
+++ bfd/elf32-cris.c 2007-01-27 18:20:36.000000000 -0800
@@ -3428,8 +3428,6 @@ elf_cris_reloc_type_class (rela)
#include "elf32-target.h"
-#define INCLUDED_TARGET_FILE
-
#undef TARGET_LITTLE_SYM
#undef TARGET_LITTLE_NAME
#undef elf_symbol_leading_char
@@ -3437,5 +3435,7 @@ elf_cris_reloc_type_class (rela)
#define TARGET_LITTLE_SYM bfd_elf32_us_cris_vec
#define TARGET_LITTLE_NAME "elf32-us-cris"
#define elf_symbol_leading_char '_'
+#undef elf32_bed
+#define elf32_bed elf32_us_cris_bed
#include "elf32-target.h"
--- bfd/elf64-sh64.c.bed 2006-10-22 11:44:54.000000000 -0700
+++ bfd/elf64-sh64.c 2007-01-27 18:19:15.000000000 -0800
@@ -4136,6 +4136,7 @@ static const struct bfd_elf_special_sect
#define TARGET_LITTLE_SYM bfd_elf64_sh64lin_vec
#undef TARGET_LITTLE_NAME
#define TARGET_LITTLE_NAME "elf64-sh64-linux"
+#undef elf64_bed
+#define elf64_bed elf64_sh64_linux_bed
-#define INCLUDED_TARGET_FILE
#include "elf64-target.h"
--- bfd/elfxx-target.h.bed 2006-12-25 07:17:10.000000000 -0800
+++ bfd/elfxx-target.h 2007-01-27 18:22:48.000000000 -0800
@@ -576,7 +576,6 @@
extern const struct elf_size_info _bfd_elfNN_size_info;
-#ifndef INCLUDED_TARGET_FILE
static struct elf_backend_data elfNN_bed =
{
ELF_ARCH, /* arch */
@@ -682,7 +681,6 @@ static struct elf_backend_data elfNN_bed
elf_backend_want_dynbss,
elf_backend_want_p_paddr_set_to_zero
};
-#endif
/* Forward declaration for use when initialising alternative_target field. */
#ifdef TARGET_LITTLE_SYM