diff options
author | Alan Modra <amodra@gmail.com> | 2003-01-23 11:51:35 +0000 |
---|---|---|
committer | Alan Modra <amodra@gmail.com> | 2003-01-23 11:51:35 +0000 |
commit | f0abc2a11f47c3ecdfe0b54421092d17c70fc5f2 (patch) | |
tree | 8e22fc0b8a4086a9c0f64272619db724cc6b1123 /ld | |
parent | 489d0400afe4b18c94ce8b6195fa3d91978ecb08 (diff) | |
download | gdb-f0abc2a11f47c3ecdfe0b54421092d17c70fc5f2.zip gdb-f0abc2a11f47c3ecdfe0b54421092d17c70fc5f2.tar.gz gdb-f0abc2a11f47c3ecdfe0b54421092d17c70fc5f2.tar.bz2 |
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.
Diffstat (limited to 'ld')
-rw-r--r-- | ld/ChangeLog | 7 | ||||
-rw-r--r-- | ld/emultempl/sh64elf.em | 19 |
2 files changed, 17 insertions, 9 deletions
diff --git a/ld/ChangeLog b/ld/ChangeLog index 8bf5234..992a4b9 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -1,3 +1,10 @@ +2003-01-23 Alan Modra <amodra@bigpond.net.au> + + * 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. + 2003-01-23 Wu Yongwei <adah@netstd.com> * ld.texinfo: Remove an extra "i" in --dll-search-prefix. diff --git a/ld/emultempl/sh64elf.em b/ld/emultempl/sh64elf.em index 8ec2c31..066cab8 100644 --- a/ld/emultempl/sh64elf.em +++ b/ld/emultempl/sh64elf.em @@ -1,5 +1,5 @@ # This shell script emits a C file. -*- C -*- -# Copyright 2000, 2001, 2002 Free Software Foundation, Inc. +# Copyright 2000, 2001, 2002, 2003 Free Software Foundation, Inc. # # This file is part of GLD, the Gnu Linker. # @@ -31,6 +31,7 @@ cat >>e${EMULATION_NAME}.c <<EOF #include "libbfd.h" #include "elf-bfd.h" #include "elf/sh.h" +#include "elf32-sh64.h" static void sh64_elf_${EMULATION_NAME}_before_allocation PARAMS ((void)); static void sh64_elf_${EMULATION_NAME}_after_allocation PARAMS ((void)); @@ -129,7 +130,7 @@ sh64_elf_${EMULATION_NAME}_before_allocation () if (bfd_get_flavour (output_bfd) != bfd_target_elf_flavour) einfo (_("%FError: non-ELF output formats are not supported by this target's linker.\n")); - sh64_sec_data = sh64_elf_section_data (osec); + sh64_sec_data = sh64_elf_section_data (osec)->sh64_info; /* Omit excluded or garbage-collected sections. */ if (bfd_get_section_flags (output_bfd, osec) & SEC_EXCLUDE) @@ -139,7 +140,7 @@ sh64_elf_${EMULATION_NAME}_before_allocation () if (sh64_sec_data == NULL) { sh64_sec_data = xcalloc (1, sizeof (struct sh64_section_data)); - sh64_elf_section_data (osec) = sh64_sec_data; + sh64_elf_section_data (osec)->sh64_info = sh64_sec_data; } /* First find an input section so we have flags to compare with; the @@ -330,9 +331,9 @@ sh64_elf_${EMULATION_NAME}_after_allocation () { oflags_isa = SHF_SH5_ISA32_MIXED; - BFD_ASSERT (sh64_elf_section_data (osec) != NULL); + BFD_ASSERT (sh64_elf_section_data (osec)->sh64_info); - sh64_elf_section_data (osec)->contents_flags + sh64_elf_section_data (osec)->sh64_info->contents_flags = SHF_SH5_ISA32_MIXED; need_check_cranges = TRUE; goto break_2; @@ -378,7 +379,7 @@ sh64_elf_${EMULATION_NAME}_after_allocation () } BFD_ASSERT (cranges->contents == NULL); - BFD_ASSERT (sh64_elf_section_data (cranges) != NULL); + BFD_ASSERT (sh64_elf_section_data (cranges)->sh64_info != NULL); /* Make sure we have .cranges in memory even if there were only assembler-generated .cranges. */ @@ -395,7 +396,7 @@ sh64_elf_${EMULATION_NAME}_after_allocation () out the number of generated .cranges. */ if (new_cranges == 0) { - sh64_elf_section_data (cranges)->cranges_growth = 0; + sh64_elf_section_data (cranges)->sh64_info->cranges_growth = 0; return; } @@ -415,7 +416,7 @@ sh64_elf_${EMULATION_NAME}_after_allocation () /* Omit excluded or garbage-collected sections, and output sections which were not marked as needing further processing. */ if ((bfd_get_section_flags (output_bfd, osec) & SEC_EXCLUDE) != 0 - || (sh64_elf_section_data (osec)->contents_flags + || (sh64_elf_section_data (osec)->sh64_info->contents_flags != SHF_SH5_ISA32_MIXED)) continue; @@ -561,7 +562,7 @@ sh64_elf_${EMULATION_NAME}_after_allocation () Sorting before writing is done by sh64_elf_final_write_processing. */ cranges->_cooked_size = crangesp - cranges->contents; - sh64_elf_section_data (cranges)->cranges_growth + sh64_elf_section_data (cranges)->sh64_info->cranges_growth = cranges->_cooked_size - cranges->_raw_size; cranges->_raw_size = cranges->_cooked_size; } |