include/elf/ChangeLog

* sh.h: Split out various bits to bfd/elf32-sh64.h.

include/opcode/ChangeLog
	* m68hc11.h (cpu6812s): Define.

bfd/ChangeLog
	* elf-bfd.h (struct bfd_elf_section_data): Remove tdata.  Change
	dynindx to an int.  Rearrange for better packing.
	* elf.c (_bfd_elf_new_section_hook): Don't alloc if already done.
	* elf32-mips.c (bfd_elf32_new_section_hook): Define.
	* elf32-sh64.h: New.  Split out from include/elf/sh.h.
	(struct _sh64_elf_section_data): New struct.
	(sh64_elf_section_data): Don't dereference sh64_info (was tdata).
	* elf32-sh64-com.c: Include elf32-sh64.h.
	* elf32-sh64.c: Likewise.
	(sh64_elf_new_section_hook): New function.
	(bfd_elf32_new_section_hook): Define.
	(sh64_elf_fake_sections): Adjust for sh64_elf_section_data change.
	(sh64_bfd_elf_copy_private_section_data): Likewise.
	(sh64_elf_final_write_processing): Likewise.
	* elf32-sparc.c (struct elf32_sparc_section_data): New.
	(elf32_sparc_new_section_hook): New function.
	(SET_SEC_DO_RELAX, SEC_DO_RELAX): Delete.
	(sec_do_relax): Define.
	(elf32_sparc_relax_section): Adjust to use sec_do_relax.
	(elf32_sparc_relocate_section): Likewise.
	* elf64-mips.c (bfd_elf64_new_section_hook): Define.
	* elf64-mmix.c (struct _mmix_elf_section_data): New.
	(mmix_elf_section_data): Define.  Use throughout file.
	(mmix_elf_new_section_hook): New function.
	(bfd_elf64_new_section_hook): Define.
	* elf64-ppc.c (struct _ppc64_elf_section_data): New.
	(ppc64_elf_section_data): Define.  Use throughout.
	(ppc64_elf_new_section_hook): New function.
	(bfd_elf64_new_section_hook): Define.
	* elf64-sparc.c (struct sparc64_elf_section_data): New.
	(sparc64_elf_new_section_hook): New function.
	(SET_SEC_DO_RELAX, SEC_DO_RELAX): Delete.
	(sec_do_relax): Define.
	(sparc64_elf_relax_section): Adjust to use sec_do_relax.
	(sparc64_elf_relocate_section): Likewise.
	(bfd_elf64_new_section_hook): Define.
	* elfn32-mips.c (bfd_elf32_new_section_hook): Define.
	* elfxx-mips.c (struct _mips_elf_section_data): New.
	(mips_elf_section_data): Define.  Use throughout.
	(_bfd_mips_elf_new_section_hook): New function.
	(mips_elf_create_got_section): Don't alloc used_by_bfd.
	* elfxx-mips.h (_bfd_mips_elf_new_section_hook): Declare.
	* elfxx-target.h (bfd_elfNN_new_section_hook): Add #ifndef.
	* Makefile.am: Run "make dep-am".
	* Makefile.in: Regenerate.

opcodes/ChangeLog
	* sh64-dis.c: Include elf32-sh64.h.
	* Makefile.am: Run "make dep-am".
	* Makefile.in: Regenerate.

gas/ChangeLog
	* config/tc-sh64.c (shmedia_frob_section_type): Adjust for changed
	sh64_elf_section_data.
	* config/tc-sh64.h: Include elf32-sh64.h.
	* config/tc-m68hc11.c: Don't include stdio.h.
	(md_show_usage): Fix missing continuation.
	* Makefile.am: Run "make dep-am".
	* Makefile.in: Regenerate.

ld/ChangeLog
	* emultempl/sh64elf.em: Include elf32-sh64.h.
	(sh64_elf_${EMULATION_NAME}_before_allocation): Adjust for changed
	sh64_elf_section_data.
	(sh64_elf_${EMULATION_NAME}_after_allocation): Likewise.
This commit is contained in:
Alan Modra 2003-01-23 11:51:31 +00:00
parent ea35a5e4ae
commit ba6064d7f8
4 changed files with 11 additions and 58 deletions

View File

@ -1,3 +1,7 @@
2003-01-23 Alan Modra <amodra@bigpond.net.au>
* sh.h: Split out various bits to bfd/elf32-sh64.h.
2003-01-20 Martin Schwidefsky <schwidefsky@de.ibm.com>
* s390.h: Rename R_390_GOTOFF to R_390_GOTOFF32. Add new gotoff,

View File

@ -1,5 +1,5 @@
/* SH ELF support for BFD.
Copyright 1998, 2000, 2001, 2002 Free Software Foundation, Inc.
Copyright 1998, 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
This file is part of BFD, the Binary File Descriptor library.
@ -71,61 +71,6 @@
symbols). */
#define STT_DATALABEL STT_LOPROC
#define SH64_CRANGES_SECTION_NAME ".cranges"
enum sh64_elf_cr_type {
CRT_NONE = 0,
CRT_DATA = 1,
CRT_SH5_ISA16 = 2,
CRT_SH5_ISA32 = 3
};
/* The official definition is this:
typedef struct {
Elf32_Addr cr_addr;
Elf32_Word cr_size;
Elf32_Half cr_type;
} Elf32_CRange;
but we have no use for that exact type. Instead we use this struct for
the internal representation. */
typedef struct {
bfd_vma cr_addr;
bfd_size_type cr_size;
enum sh64_elf_cr_type cr_type;
} sh64_elf_crange;
#define SH64_CRANGE_SIZE (4 + 4 + 2)
#define SH64_CRANGE_CR_ADDR_OFFSET 0
#define SH64_CRANGE_CR_SIZE_OFFSET 4
#define SH64_CRANGE_CR_TYPE_OFFSET (4 + 4)
/* Get the contents type of an arbitrary address, or return CRT_NONE. */
extern enum sh64_elf_cr_type sh64_get_contents_type
PARAMS ((asection *, bfd_vma, sh64_elf_crange *));
/* Simpler interface.
FIXME: This seems redundant now that we export the interface above. */
extern bfd_boolean sh64_address_is_shmedia PARAMS ((asection *, bfd_vma));
extern int _bfd_sh64_crange_qsort_cmpb PARAMS ((const void *, const void *));
extern int _bfd_sh64_crange_qsort_cmpl PARAMS ((const void *, const void *));
extern int _bfd_sh64_crange_bsearch_cmpb PARAMS ((const void *, const void *));
extern int _bfd_sh64_crange_bsearch_cmpl PARAMS ((const void *, const void *));
/* We put this in elf_section_data (section)->tdata. */
struct sh64_section_data
{
flagword contents_flags;
/* Only used in the cranges section, but we don't have an official
backend-specific bfd field. */
bfd_size_type cranges_growth;
};
#define sh64_elf_section_data(sec) \
((struct sh64_section_data *) ((elf_section_data (sec))->tdata))
#include "elf/reloc-macros.h"
/* Relocations. */

View File

@ -1,3 +1,7 @@
2003-01-23 Alan Modra <amodra@bigpond.net.au>
* m68hc11.h (cpu6812s): Define.
2003-01-07 Chris Demetriou <cgd@broadcom.com>
* mips.h: Fix missing space in comment.

View File

@ -1,5 +1,5 @@
/* m68hc11.h -- Header file for Motorola 68HC11 & 68HC12 opcode table
Copyright 1999, 2000, 2002 Free Software Foundation, Inc.
Copyright 1999, 2000, 2002, 2003 Free Software Foundation, Inc.
Written by Stephane Carrez (stcarrez@nerim.fr)
This file is part of GDB, GAS, and the GNU binutils.
@ -388,6 +388,7 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
/* CPU identification. */
#define cpu6811 0x01
#define cpu6812 0x02
#define cpu6812s 0x04
/* The opcode table is an array of struct m68hc11_opcode. */
struct m68hc11_opcode {
@ -424,4 +425,3 @@ extern const struct m68hc12_opcode_alias m68hc12_alias[];
extern const int m68hc12_num_alias;
#endif /* _OPCODE_M68HC11_H */