diff options
author | Paul Brook <paul@codesourcery.com> | 2005-07-05 13:25:56 +0000 |
---|---|---|
committer | Paul Brook <paul@codesourcery.com> | 2005-07-05 13:25:56 +0000 |
commit | 9d8504b17f98d4fc4a524395563fa67a4fe8d2bc (patch) | |
tree | ebcd18202ac1d85cf124bfe08e8765dfd4b71f9f /ld/emulparams | |
parent | a0defb2e2351bd85b729ae294d1b1997f9f4f39b (diff) | |
download | gdb-9d8504b17f98d4fc4a524395563fa67a4fe8d2bc.zip gdb-9d8504b17f98d4fc4a524395563fa67a4fe8d2bc.tar.gz gdb-9d8504b17f98d4fc4a524395563fa67a4fe8d2bc.tar.bz2 |
2005-05-07 Paul Brook <paul@codesourcery.com>
bfd/
* config.bfd: Add separate case for ppc-vxworks.
* configure: Regenerate.
* configure.in: Include elf-vxworks.lo on ppc targets.
* elf-vxworks.c (elf_vxworks_final_write_processing): Handle
.rela.plt.unloaded.
* elf32-ppc.c: Add VxWorks target vec. Include elf-vxworks.h.
(PLT_ENTRY_SIZE, PLT_INITIAL_ENTRY_SIZE, PLT_SLOT_SIZE): Remove.
(VXWORKS_PLT_ENTRY_SIZE, ppc_elf_vxworks_plt_entry,
ppc_elf_vxworks_pic_plt_entry, VXWORKS_PLT_INITIAL_ENTRY_SIZE,
ppc_elf_vxworks_plt0_entry, ppc_elf_vxworks_pic_plt0_entry,
VXWORKS_PLT_NON_JMP_SLOT_RELOCS, VXWORKS_PLTRESOLVE_RELOCS,
VXWORKS_PLTRESOLVE_RELOCS_SHLIB): New.
(ppc_elf_link_hash_table): Add srelplt2, sgotplt, hgot, hplt,
is_vxworks, plt_entry_size, plt_slot_size, plt_initial_entry_size.
(ppc_elf_link_hash_table_create): Initialize hadtab plt fields.
(ppc_elf_create_got): Create .got.plt for VxWorks.
(ppc_elf_create_dynamic_sections): Create unloaded plt relocation
section for VxWorks.
(ppc_elf_select_plt_layout): Handle VxWorks plt format.
(allocate_got): VxWorks does not need a got header.
(allocate_dynrelocs): Handle VxWorks plt format.
(ppc_elf_size_dynamic_sections): Save _G_O_T_ and _P_L_T_ symbols for
VxWorks. Handle VxWorks plt/got.
(ppc_elf_finish_dynamic_sections): Fill in VxWorks plt.
(ppc_elf_vxworks_special_sections): New.
(ppc_elf_vxworks_link_hash_table_create,
ppc_elf_vxworks_add_symbol_hook,
elf_i386_vxworks_link_output_symbol_hook,
ppc_elf_vxworks_final_write_processing): New functions.
* targets.c (bfd_elf32_powerpc_vxworks_vec): Declare.
(_bfd_target_vector): Use it.
gas/
* config/tc-ppc.c (ppc_target_format): Add VxWorks.
gas/testsuite/
* gas/ppc/altivec.d: Match all powerpc target vecs.
* gas/ppc/booke.d: Ditto.
* gas/ppc/e500.d: Ditto.
ld/
* Makefile.am (ALL_EMULATIONS): Add eelf32ppcvxworks.o.
(eelf32ppcvxworks.o): Add dependencies.
* Makefile.in: Regenerate.
* configure.tgt: Add entry for powerpc-vxworks.
* emulparams/elf32-ppc.c: Mention elf32ppcvxworks.sh in comment.
* emulparams/elf32ppcvxworks.sh: New file.
* emultempl/ppc32elf.em (bfd_elf32_powerpc_vxworks_vec): Declare.
(is_ppc_elf32_vec): New function.
(ppc_after_open, ppc_before_allocation,
gld${EMULATION_NAME}_after_allocation): Use it.
Diffstat (limited to 'ld/emulparams')
-rw-r--r-- | ld/emulparams/elf32ppc.sh | 2 | ||||
-rw-r--r-- | ld/emulparams/elf32ppcvxworks.sh | 4 |
2 files changed, 5 insertions, 1 deletions
diff --git a/ld/emulparams/elf32ppc.sh b/ld/emulparams/elf32ppc.sh index 5a38aed..b5abcbf 100644 --- a/ld/emulparams/elf32ppc.sh +++ b/ld/emulparams/elf32ppc.sh @@ -1,5 +1,5 @@ # If you change this file, please also look at files which source this one: -# elf32lppc.sh elf32ppclinux.sh elf32ppcsim.sh +# elf32lppc.sh elf32ppclinux.sh elf32ppcsim.sh elf32ppcvxworks.sh TEMPLATE_NAME=elf32 EXTRA_EM_FILE=ppc32elf diff --git a/ld/emulparams/elf32ppcvxworks.sh b/ld/emulparams/elf32ppcvxworks.sh new file mode 100644 index 0000000..b45a238 --- /dev/null +++ b/ld/emulparams/elf32ppcvxworks.sh @@ -0,0 +1,4 @@ +. ${srcdir}/emulparams/elf32ppc.sh +OUTPUT_FORMAT="elf32-powerpc-vxworks" +unset BSS_PLT +. ${srcdir}/emulparams/vxworks.sh |