Richard Sandiford
910600e9c7
bfd/
* config.bfd (sparc-*-vxworks*): New stanza.
* configure.in (bfd_elf32_sparc_vxworks_vec): New stanza.
(bfd_elf32_sparc_vec, bfd_elf64_sparc_vec): Add elf-vxworks.lo.
* configure: Regenerate.
* elf32-sparc.c: Include elf-vxworks.h.
(elf32_sparc_vxworks_link_hash_table_create: New.
(elf32_sparc_vxworks_final_write_processing): New.
(TARGET_BIG_SYM): Override for VxWorks.
(TARGET_BIG_NAME, ELF_MINPAGESIZE): Likewise.
(bfd_elf32_bfd_link_hash_table_create): Likewise.
(elf_backend_want_got_plt, elf_backend_plt_readonly): Likewise.
(elf_backend_got_header_size, elf_backend_add_symbol_hook): Likewise.
(elf_backend_link_output_symbol_hook): Likewise.
(elf_backend_emit_relocs): Likewise.
(elf_backend_final_write_processing, elf32_bed): Likewise.
* elfxx-sparc.c: Include libiberty.h and elf-vxworks.h.
(sparc_vxworks_exec_plt0_entry, sparc_vxworks_exec_plt_entry): New.
(sparc_vxworks_shared_plt0_entry, sparc_vxworks_shared_plt_entry): New.
(_bfd_sparc_elf_link_hash_table_create): Don't initialize
build_plt_entry here.
(create_got_section): Initialize sgotplt for VxWorks.
(_bfd_sparc_elf_create_dynamic_sections): Initialize build_plt_entry,
plt_header_size and plt_entry_size, with new VxWorks-specific settings.
Call elf_vxworks_create_dynamic_sections for VxWorks.
(allocate_dynrelocs): Use plt_header_size and plt_entry_size.
Allocate room for .got.plt and .rela.plt.unloaded entries on VxWorks.
(_bfd_sparc_elf_size_dynamic_sections): Don't allocate a nop in .plt
for VxWorks. Check for the .got.plt section.
(sparc_vxworks_build_plt_entry): New function.
(_bfd_sparc_elf_finish_dynamic_symbol): Add handling of VxWorks PLTs.
Don't make _GLOBAL_OFFSET_TABLE_ and _PROCEDURE_LINKAGE_TABLE_
absolute on VxWorks.
(sparc32_finish_dyn): Add special handling for DT_RELASZ
and DT_PLTGOT on VxWorks.
(sparc_vxworks_finish_exec_plt): New.
(sparc_vxworks_finish_shared_plt): New.
(_bfd_sparc_elf_finish_dynamic_sections): Call them.
Use plt_header_size and plt_entry_size.
* elfxx-sparc.h (_bfd_sparc_elf_link_hash_table): Add is_vxworks,
srelplt2, sgotplt, plt_header_size and plt_entry_size fields.
* Makefile.am (elfxx-sparc.lo): Depend on elf-vxworks.h.
(elf32-sparc.lo): Likewise.
* Makefile.in: Regenerate.
* targets.c (bfd_elf32_sparc_vxworks_vec): Declare.
(_bfd_target_vector): Add a pointer to it.
gas/
* config/tc-sparc.c (sparc_target_format): Handle TE_VXWORKS.
(GOTT_BASE, GOTT_INDEX): New.
(tc_gen_reloc): Don't alter relocations against GOTT_BASE and
GOTT_INDEX when generating VxWorks PIC.
* configure.tgt (sparc*-*-vxworks*): Remove this special case;
use the generic *-*-vxworks* stanza instead.
gas/testsuite/
* gas/sparc/vxworks-pic.s, gas/sparc/vxworks-pic.d: New test.
* gas/sparc/sparc.exp: Run it. Remove sparc*-*-vxworks* XFAILs.
ld/
* configure.tgt (sparc*-*-vxworks*): New stanza.
* emulparams/elf32_sparc_vxworks.sh: New file.
* Makefile.am (ALL_EMULATIONS): Add eelf32_sparc_vxworks.o.
(eelf32_sparc_vxworks.c): New rule.
* Makefile.in: Regenerate.
ld/testsuite/
* ld-sparc/vxworks1.dd, ld-sparc/vxworks1.ld, ld-sparc/vxworks1-lib.dd,
* ld-sparc/vxworks1-lib.nd, ld-sparc/vxworks1-lib.rd,
* ld-sparc/vxworks1-lib.s, ld-sparc/vxworks1.rd, ld-sparc/vxworks1.s,
* ld-sparc/vxworks1-static.d, ld-sparc/vxworks2.s,
* ld-sparc/vxworks2.sd, ld-sparc/vxworks2-static.sd: New tests.
* ld-sparc/sparc.exp: Run them.
2006-04-05 12:41:59 +00:00
..
2002-03-18 12:46:27 +00:00
2002-03-18 12:46:27 +00:00
2002-03-18 12:46:27 +00:00
2002-03-18 12:46:27 +00:00
1999-05-03 07:29:11 +00:00
1999-05-03 07:29:11 +00:00
2004-09-28 19:14:29 +00:00
1999-05-03 07:29:11 +00:00
1999-05-03 07:29:11 +00:00
1999-05-03 07:29:11 +00:00
2004-09-17 12:18:19 +00:00
2004-11-19 19:28:40 +00:00
2005-08-05 04:29:57 +00:00
2004-09-17 12:18:19 +00:00
2006-03-07 08:39:21 +00:00
2005-10-19 14:43:21 +00:00
2005-01-22 01:50:35 +00:00
2003-05-09 20:05:04 +00:00
2002-05-21 15:11:04 +00:00
2003-05-09 20:05:04 +00:00
1999-08-24 15:17:23 +00:00
2005-08-05 04:29:57 +00:00
2004-09-28 19:14:29 +00:00
2005-01-26 06:10:45 +00:00
2002-05-16 19:51:08 +00:00
2002-05-16 19:51:08 +00:00
2002-05-16 19:51:08 +00:00
2002-05-16 19:51:08 +00:00
2002-05-16 19:51:08 +00:00
2006-03-26 00:46:13 +00:00
2003-08-06 02:19:05 +00:00
1999-05-03 07:29:11 +00:00
2000-07-20 17:16:06 +00:00
2005-08-05 04:29:57 +00:00
2005-08-05 04:29:57 +00:00
2002-06-17 14:08:40 +00:00
1999-05-03 07:29:11 +00:00
1999-05-03 07:29:11 +00:00
1999-05-03 07:29:11 +00:00
1999-05-03 07:29:11 +00:00
2002-08-13 02:08:26 +00:00
2003-11-04 23:08:03 +00:00
1999-05-27 21:49:21 +00:00
2006-04-05 12:41:59 +00:00
2003-05-30 15:50:12 +00:00
2003-07-10 04:45:16 +00:00
2002-11-30 08:39:46 +00:00
2006-03-29 14:17:57 +00:00
2005-07-05 12:17:55 +00:00
2005-07-05 12:17:55 +00:00
2004-04-08 14:52:44 +00:00
2004-04-08 14:52:44 +00:00
2005-06-01 19:26:25 +00:00
2004-02-09 17:54:25 +00:00
2004-03-30 14:04:32 +00:00
2004-07-07 17:28:53 +00:00
2001-11-22 09:08:05 +00:00
2006-03-22 09:28:15 +00:00
2001-11-22 09:08:05 +00:00
2006-03-22 09:28:15 +00:00
2005-08-05 04:29:57 +00:00
2005-08-03 05:09:49 +00:00
2004-06-21 14:45:42 +00:00
2000-02-23 13:52:23 +00:00
2003-08-29 00:34:27 +00:00
2003-01-04 02:04:44 +00:00
2003-01-04 02:04:44 +00:00
2001-11-22 09:08:05 +00:00
2001-11-22 09:08:05 +00:00
2001-11-22 09:08:05 +00:00
2002-08-09 15:38:24 +00:00
2001-11-22 09:08:05 +00:00
2001-11-22 09:08:05 +00:00
2001-11-22 09:08:05 +00:00
2002-07-30 23:48:30 +00:00
2005-07-20 19:33:18 +00:00
2005-08-05 04:29:57 +00:00
2003-10-30 09:47:15 +00:00
2005-12-16 10:23:12 +00:00
2001-05-02 18:14:31 +00:00
2002-02-18 09:38:01 +00:00
2006-03-02 08:50:04 +00:00
2006-03-02 08:50:04 +00:00
2005-08-03 05:09:49 +00:00
2002-08-09 15:38:24 +00:00
2001-11-22 09:08:05 +00:00
2006-03-02 08:50:04 +00:00
2002-04-30 17:49:01 +00:00
2002-05-30 02:40:03 +00:00
2006-02-17 14:36:28 +00:00
2006-02-17 14:36:28 +00:00
2006-02-17 14:36:28 +00:00
2001-12-08 03:46:03 +00:00
2005-05-12 00:31:22 +00:00
2003-01-06 16:14:01 +00:00
2004-10-14 17:00:16 +00:00
2004-10-14 17:00:16 +00:00
2004-05-11 17:08:38 +00:00
2002-02-18 09:38:01 +00:00
2003-05-30 15:50:12 +00:00
2002-09-17 02:24:40 +00:00
2001-12-17 23:54:58 +00:00
2005-05-29 23:16:09 +00:00
2004-04-08 14:52:44 +00:00
2003-10-13 19:48:39 +00:00
2003-01-06 16:14:01 +00:00
2001-08-27 10:45:55 +00:00
2001-11-22 09:08:05 +00:00
2005-08-05 04:29:57 +00:00
2005-11-18 04:26:29 +00:00
2002-02-18 09:38:01 +00:00
2001-11-27 19:06:07 +00:00
2002-05-27 17:52:56 +00:00
2002-09-17 02:24:40 +00:00
2001-11-27 19:06:07 +00:00
2005-05-05 14:37:27 +00:00
2004-05-11 17:08:38 +00:00
2004-05-11 17:08:38 +00:00
2002-02-18 09:38:01 +00:00
2005-08-05 13:42:22 +00:00
2003-10-16 08:46:35 +00:00
2003-10-16 08:46:35 +00:00
2005-12-22 17:43:34 +00:00
2005-12-22 17:43:34 +00:00
1999-05-03 07:29:11 +00:00
2001-11-22 09:08:05 +00:00
2003-04-24 15:25:24 +00:00
2003-04-24 15:25:24 +00:00
1999-05-03 07:29:11 +00:00
2001-11-22 09:08:05 +00:00
2003-04-24 15:25:24 +00:00
2003-04-24 15:25:24 +00:00
2003-06-03 21:43:52 +00:00
2005-12-22 17:43:34 +00:00
2003-06-10 07:09:31 +00:00
2003-06-10 07:09:31 +00:00
1999-05-03 07:29:11 +00:00
1999-05-03 07:29:11 +00:00
1999-05-03 07:29:11 +00:00
1999-05-03 07:29:11 +00:00
1999-05-03 07:29:11 +00:00
1999-05-03 07:29:11 +00:00
1999-05-03 07:29:11 +00:00
2005-08-09 03:45:55 +00:00
2000-07-28 01:33:14 +00:00
2005-07-04 14:36:02 +00:00
2004-07-27 22:30:25 +00:00
2003-10-06 11:01:36 +00:00
1999-05-03 07:29:11 +00:00
1999-05-03 07:29:11 +00:00
1999-05-03 07:29:11 +00:00
1999-05-03 07:29:11 +00:00
1999-05-03 07:29:11 +00:00
1999-05-03 07:29:11 +00:00
2004-05-17 19:50:16 +00:00
1999-05-03 07:29:11 +00:00
2001-08-17 09:51:08 +00:00
1999-05-03 07:29:11 +00:00
1999-05-03 07:29:11 +00:00
2002-05-31 03:02:35 +00:00
2001-08-17 09:51:08 +00:00
2004-09-28 19:14:29 +00:00
2004-09-28 19:14:29 +00:00
2003-10-16 08:46:35 +00:00
2005-07-04 13:54:36 +00:00
2005-08-05 04:29:57 +00:00
2003-12-19 11:44:01 +00:00
2003-12-19 11:44:01 +00:00
2003-04-21 13:29:05 +00:00
2003-04-21 13:29:05 +00:00
2003-04-21 13:29:05 +00:00
2003-04-21 13:29:05 +00:00
1999-05-03 07:29:11 +00:00
1999-05-03 07:29:11 +00:00
1999-05-03 07:29:11 +00:00
2000-07-21 23:31:53 +00:00
2001-11-27 19:06:07 +00:00
2001-12-18 13:26:26 +00:00
1999-05-03 07:29:11 +00:00
1999-05-03 07:29:11 +00:00
1999-05-03 07:29:11 +00:00
2003-10-16 08:46:35 +00:00
2004-11-08 13:17:43 +00:00
2004-09-28 19:14:29 +00:00
1999-05-03 07:29:11 +00:00
1999-05-03 07:29:11 +00:00
2004-04-21 20:52:31 +00:00
2004-04-21 20:52:31 +00:00
1999-05-03 07:29:11 +00:00
1999-05-03 07:29:11 +00:00
2004-09-28 19:14:29 +00:00
2001-10-30 15:20:14 +00:00
2001-11-22 09:08:05 +00:00
2003-07-10 03:20:26 +00:00
2005-08-08 17:08:04 +00:00
1999-05-03 07:29:11 +00:00
2002-07-31 12:50:09 +00:00
2002-01-31 17:33:08 +00:00
2002-01-31 17:33:08 +00:00
1999-05-03 07:29:11 +00:00
2001-02-18 23:33:11 +00:00
1999-09-04 17:37:36 +00:00
1999-09-04 17:37:36 +00:00
2004-05-17 19:50:16 +00:00
2002-03-18 12:46:27 +00:00
1999-05-03 07:29:11 +00:00
2004-09-28 19:14:29 +00:00
1999-05-03 07:29:11 +00:00
1999-05-03 07:29:11 +00:00
2001-11-22 09:08:05 +00:00
2002-10-09 19:09:59 +00:00
2003-10-13 05:09:21 +00:00
2003-07-30 02:22:07 +00:00
2002-06-04 02:57:44 +00:00
2003-07-30 02:22:07 +00:00
2001-11-22 09:08:05 +00:00
2002-06-26 15:42:33 +00:00
2002-08-22 17:27:20 +00:00
2004-12-23 12:27:45 +00:00
2001-11-22 09:08:05 +00:00
2004-07-02 11:25:54 +00:00
2002-06-04 02:57:44 +00:00
2002-02-08 06:39:01 +00:00
2002-06-04 02:57:44 +00:00
2002-02-08 06:39:01 +00:00
2004-02-09 17:54:25 +00:00
2002-01-08 04:23:02 +00:00
2002-08-22 17:27:20 +00:00
2001-11-22 09:08:05 +00:00
2004-07-06 16:58:43 +00:00
2004-09-28 19:14:29 +00:00
1999-05-03 07:29:11 +00:00
1999-05-03 07:29:11 +00:00
1999-05-03 07:29:11 +00:00
1999-05-03 07:29:11 +00:00
1999-05-03 07:29:11 +00:00
1999-05-03 07:29:11 +00:00
2003-04-04 08:15:15 +00:00
2003-04-04 08:15:15 +00:00
2003-04-04 08:15:15 +00:00
1999-05-03 07:29:11 +00:00
1999-05-03 07:29:11 +00:00
2000-06-20 13:29:07 +00:00
1999-05-03 07:29:11 +00:00
2002-09-02 17:03:30 +00:00
2003-10-16 08:46:35 +00:00
2002-07-01 08:32:30 +00:00
2002-05-30 02:40:03 +00:00
1999-05-03 07:29:11 +00:00
2006-03-07 08:39:21 +00:00
1999-05-03 07:29:11 +00:00
2003-04-02 16:56:56 +00:00
2005-10-25 17:40:19 +00:00
1999-05-03 07:29:11 +00:00
1999-05-03 07:29:11 +00:00