public inbox for archer-commits@sourceware.org
help / color / mirror / Atom feed
* [SCM] archer-jankratochvil-ifunc: Merge commit 'eaa3448219665a05f0575f044d53aaf95190af93' into archer-jankratochvil-ifunc
@ 2011-04-11 14:00 jkratoch
0 siblings, 0 replies; only message in thread
From: jkratoch @ 2011-04-11 14:00 UTC (permalink / raw)
To: archer-commits
The branch, archer-jankratochvil-ifunc has been updated
via 9d5ed16925bdf84252a144b42a3fa7a0339d1fc0 (commit)
via eaa3448219665a05f0575f044d53aaf95190af93 (commit)
via 97cf887e13f14106042c7175bdde8853b0dc4a08 (commit)
via 0ee9a5101d6a996d5cb8aab34ac90e9515faef58 (commit)
via 0946a6c4c570b397e25048f38208d96c1b46a6c7 (commit)
via ae53f7074eb545f994701ed9afa36c8b0a92aaa9 (commit)
via 5d93c17f2c02725b105c2aa00163cf92d06fa7bd (commit)
via 19d59c935ab746cb4a3e3aa24fa4a32ed9d673a2 (commit)
via 15715ce4d9bd657be2e00b57c80061929cd5d3eb (commit)
via d2b961aba3296deff699885ffbf56acfd5efd034 (commit)
via 367907c752a4ac44ffcccc366b37f561fb59a0a0 (commit)
via 764098bb20b9cf2b6b0a70fc457f1f89675df80f (commit)
via f7f2045cc6367f4649c175a078fedef4fd3c71d4 (commit)
via f98cb7f1ea3bde0982fad8bf22cc3d360e4596d4 (commit)
via 6261f7a3e2bcf19b77ef98c9ca9899f355f045a4 (commit)
via 7cd8c59cfcc957d5acf634273f555a57efd8e49e (commit)
via 108f86840c09e3f7c6974c2ba572e8975994df1e (commit)
via 05fbf2a14f81b90cce734fad62a49510b480defc (commit)
via e127a5a3d793c289742e9ab5c53fbef1119b7eee (commit)
via f630103a91d4fb3aad4e1b2aca6dae4dded1b8ba (commit)
via 4370d34a6eea399b82017da7868a86f3cfe96b45 (commit)
via 7c037eb62ae1e33acd235746fb32dca3513d4c09 (commit)
via a0a832c9e97e681a6bdd4bc03fa2b6cfe902b8ad (commit)
via eb706c8f92aa03ae30f09cb6a3007694c3cb466a (commit)
via c73dde705c3b163b5101ed4cc4506cef6cc58905 (commit)
via 4914bcad48ce9954d04060c9ebee4913d9986402 (commit)
via 21192aa39602417cda3955c84cbc907cbb4b92fe (commit)
via 837e99b31775e6a75a593259738924bf050650d2 (commit)
via 50ccabd1e18b52b76f4689f1cfc5ca4a45a44684 (commit)
via 42ac289de899a434022493617ef60366b4669e53 (commit)
via cf3e165766ccc18f274ebb6333dd6978de6672ab (commit)
via fdf29c2fe62b1f842b39afafb0094674bc8c9232 (commit)
via 6be74f3b359a6ef32f2793cbb5ff8f508e76c3f9 (commit)
via 6ed71368ed1d5810d719698771dc5c311eefd347 (commit)
via 7e6091ae1221d7c25408c714fcf0c8a2d1e13a0d (commit)
via 495a23f22b2acfa6229375452c74bb8b26f80b78 (commit)
via 0a52d8392d9e9108ce6c60ab274a0385f549f8ac (commit)
via c5087150a4d364df07815f6c6a64df4f480e5852 (commit)
via fd1db100cfd461a52ca4ca968e095b5e2662f029 (commit)
via 9b876dcd8d8e6d206a6921b01bd043d8017297e0 (commit)
via 221cec844b1bb20a7ff86d35daa313b79b6c8449 (commit)
via ba51018223ab3f1aba4a69516ed5141bcdb005b3 (commit)
via a1a5d13ca27815995ee9f931320c6656d8670146 (commit)
via fdf117869705c0e6744bab05fe92b70790da40ac (commit)
via 9b9fa3798041fc8b358af973bdc4196eac88ebd6 (commit)
via 900f0ecd1da20717845fd87bea5f24aded2be6bb (commit)
via bb118d5980f3eacbba72eb60d592cffdea214ab8 (commit)
via d6fbdd5927497cd45fe3d0330f0a4afc539c335b (commit)
via be177a22adad8cf0368274b5e39da0819daeaf1a (commit)
via 1796f3f8f7bfb229334ba0fdfdc52460b6a1fe44 (commit)
via 5dc781f27f0b60eeaa9708550da85468c4ca555f (commit)
via 6ca7b05525cfc99257d1e176df71218802f5e045 (commit)
via 4e7850e84c4eae566fe46728f0e6b142e0b942b2 (commit)
via 6ba5eb5df77405dd00ab23afd9730ebd517b3894 (commit)
via 573f1965d26f0d23d5dff4a5e55a004418b328b7 (commit)
via 2853cad470dff5b52d7c94e93e33da98bca10434 (commit)
via 96bfe92de6c67763182b1492c24c8edea9e00e1b (commit)
via 0ecf976175b6f125db5959c8eeeaca2f35299e6e (commit)
via 4c462005aa957b25047076fba4d8cec2e16acc11 (commit)
via b7467f3e967dee490d66c25c3356bca48d54908a (commit)
via 627e5e91c2e37cee6e6657b8a561abaadce03a99 (commit)
via de78bbdb6c79cf25c0fbc9b756fd35ff5964c517 (commit)
via 7e744f02a86123c23e69e566616214b8c651bff1 (commit)
via 48ccae6422ee8e4025e0ff4b35668672a58e0d53 (commit)
via b5f799550a4d17b2820b5f0b27dabe1833188564 (commit)
via e4ad4000154dfd6b4a4e1cacde400441ebca608f (commit)
via 26d160eaebc737c1a45f07f99c80cce979874aac (commit)
via f10617c2cd5f8a2951fba9b3a256726f8e0dec8a (commit)
via be30267300397d0fef6ec261d91864f0d837124e (commit)
via e02d3cc0fc7e6e1ad50b49945c28620568f3f2f8 (commit)
via 6e1991d4baf179528193e885bf0ae5a2034384fe (commit)
via 18444b46717da61b1ef977891fa163ed74a94a88 (commit)
via 628f295c973dfb00698e5593476cd46bcac5520a (commit)
from f707ead0759aea0a9fdef94c0dc162ac190c3ded (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email.
- Log -----------------------------------------------------------------
commit 9d5ed16925bdf84252a144b42a3fa7a0339d1fc0
Merge: f707ead eaa3448
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date: Mon Apr 11 15:59:58 2011 +0200
Merge commit 'eaa3448219665a05f0575f044d53aaf95190af93' into archer-jankratochvil-ifunc
Conflicts:
gdb/breakpoint.c
gdb/breakpoint.h
gdb/elfread.c
-----------------------------------------------------------------------
Summary of changes:
ChangeLog | 71 +
Makefile.in | 2 +-
Makefile.tpl | 2 +-
bfd/ChangeLog | 95 +
bfd/bfd-in2.h | 4 +
bfd/coffcode.h | 5 +
bfd/config.bfd | 2 +-
bfd/configure.com | 11 +-
bfd/elf32-tic6x.c | 1922 ++++++-
bfd/elf32-tic6x.h | 11 +-
bfd/elf64-alpha.c | 93 +-
bfd/elfxx-ia64.c | 1 +
bfd/libbfd.h | 4 +
bfd/libcoff-in.h | 1 -
bfd/libcoff.h | 1 -
bfd/makefile.vms | 3 +-
bfd/po/da.po | 6502 +++++++++++++++-----
bfd/reloc.c | 10 +-
bfd/version.h | 2 +-
bfd/vms-alpha.c | 6 +-
configure | 283 +-
configure.ac | 282 +-
gdb/.gitignore | 17 +
gdb/ChangeLog | 339 +
gdb/Makefile.in | 27 +-
gdb/NEWS | 8 +
gdb/ada-lang.c | 93 +-
gdb/arm-linux-tdep.c | 38 +-
gdb/arm-tdep.c | 112 +-
gdb/arm-tdep.h | 3 +
gdb/breakpoint.c | 687 ++-
gdb/breakpoint.h | 36 +-
gdb/defs.h | 6 +
gdb/doc/ChangeLog | 22 +-
gdb/doc/gdb.texinfo | 28 +-
gdb/dwarf2read.c | 97 +-
gdb/elfread.c | 5 +-
gdb/i386-tdep.c | 5 +-
gdb/infcall.c | 3 +-
gdb/macroexp.c | 2 +-
gdb/ppc-linux-nat.c | 46 +-
gdb/python/py-prettyprint.c | 2 +-
gdb/remote-mips.c | 3 +-
gdb/target.c | 16 +
gdb/target.h | 6 +
gdb/testsuite/ChangeLog | 59 +
gdb/testsuite/gdb.ada/arrayparam.exp | 11 +-
gdb/testsuite/gdb.ada/arrayptr.exp | 9 +
gdb/testsuite/gdb.ada/arrayptr/foo.adb | 7 +
gdb/testsuite/gdb.ada/mi_catch_ex.exp | 137 +
.../gdb.ada/{arrayptr => mi_catch_ex}/foo.adb | 35 +-
gdb/testsuite/gdb.ada/str_ref_cmp.exp | 13 +
gdb/testsuite/gdb.ada/sym_print_name.exp | 10 +-
gdb/testsuite/gdb.ada/sym_print_name/foo.adb | 4 +-
gdb/testsuite/gdb.ada/sym_print_name/pck.ads | 4 +-
.../testsuite/gdb.arch/thumb-singlestep.S | 34 +-
gdb/testsuite/gdb.arch/thumb-singlestep.exp | 38 +
.../testsuite/gdb.cp/anon-struct.cc | 52 +-
gdb/testsuite/gdb.cp/anon-struct.exp | 31 +
gdb/testsuite/gdb.cp/cpexprs.exp | 7 +-
gdb/testsuite/gdb.python/py-mi.exp | 9 +
gdb/testsuite/gdb.python/py-prettyprint.c | 4 +-
gdb/testsuite/gdb.python/py-prettyprint.py | 5 +
gdb/ui-out.c | 19 +-
gdb/utils.c | 25 +-
gdb/valops.c | 19 +-
gdb/varobj.c | 53 +-
gdb/version.in | 2 +-
include/ChangeLog | 4 +
include/coff/ChangeLog | 4 +
include/coff/internal.h | 2 +
include/dwarf2.h | 8 +
include/elf/ChangeLog | 14 +
include/elf/ia64.h | 24 +
include/elf/tic6x.h | 13 +-
libdecnumber/.gitignore | 1 +
libdecnumber/ChangeLog | 4 +
libiberty/ChangeLog | 4 +
libiberty/makefile.vms | 2 +-
sim/bfin/ChangeLog | 16 +
sim/bfin/bfin-sim.c | 11 +-
sim/bfin/configure | 2 +-
sim/bfin/dv-bfin_otp.c | 7 +
sim/common/ChangeLog | 31 +
sim/common/Make-common.in | 3 +
sim/common/aclocal.m4 | 2 +-
sim/common/dv-cfi.c | 799 +++
sim/common/dv-cfi.h | 60 +
sim/common/dv-glue.c | 41 +-
sim/common/hw-alloc.c | 3 +-
sim/common/hw-base.c | 30 +-
sim/common/hw-device.h | 9 +-
sim/common/hw-events.c | 6 +-
sim/common/hw-handles.c | 6 +-
sim/common/hw-instances.c | 3 +-
sim/common/hw-instances.h | 3 +-
sim/common/hw-main.h | 6 +-
sim/common/hw-ports.c | 9 +-
sim/common/hw-ports.h | 3 +-
sim/common/hw-properties.c | 3 +-
sim/common/hw-properties.h | 15 +-
sim/common/hw-tree.c | 100 +-
102 files changed, 10401 insertions(+), 2348 deletions(-)
create mode 100644 gdb/.gitignore
create mode 100644 gdb/testsuite/gdb.ada/mi_catch_ex.exp
copy gdb/testsuite/gdb.ada/{arrayptr => mi_catch_ex}/foo.adb (61%)
copy bfd/elf32-tic6x.h => gdb/testsuite/gdb.arch/thumb-singlestep.S (54%)
create mode 100644 gdb/testsuite/gdb.arch/thumb-singlestep.exp
copy bfd/elf32-tic6x.h => gdb/testsuite/gdb.cp/anon-struct.cc (54%)
create mode 100644 gdb/testsuite/gdb.cp/anon-struct.exp
create mode 100644 libdecnumber/.gitignore
create mode 100644 sim/common/dv-cfi.c
create mode 100644 sim/common/dv-cfi.h
First 500 lines of diff:
diff --git a/ChangeLog b/ChangeLog
index 281c2a2..c5b9053 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,74 @@
+2011-04-01 Joseph Myers <joseph@codesourcery.com>
+
+ * configure.ac (avr-*-*): Add comment about why libssp is disabled.
+ (microblaze*): Don't disable libssp.
+ * configure: Regenerate.
+
+2011-04-01 Joseph Myers <joseph@codesourcery.com>
+
+ * configure.ac: Remove code setting CONFIG_SHELL, config_shell and
+ moveifchange.
+ * configure: Regenerate.
+ * Makefile.tpl: Use @SHELL@ not @config_shell@.
+ * Makefile.in: Regenerate.
+
+2011-04-01 Joseph Myers <joseph@codesourcery.com>
+
+ * configure.ac (*-*-sysv4*): Don't enable libgomp.
+ (alpha*-*-*vms*, i[[34567]]86-*-sco3.2v5*, mn10300-*-*,
+ powerpc-*-chorusos*, powerpc*-*-eabi*, powerpc*-*-sysv*,
+ powerpc*-*-kaos*, s390x-ibm-tpf*, sparc64-*-elf*, v850*-*-*,
+ xtensa*-*-elf*, *-*-beos*, *-*-elf*, *-*-netware*, *-*-rtems*,
+ *-*-sysv[[45]]*, *-*-vxworks*, *-wrs-windiss): Remove
+ md_exec_prefix cases.
+ * configure: Regenerate.
+
+2011-04-01 Joseph Myers <joseph@codesourcery.com>
+
+ * configure.ac: Separate cases disabling target-libssp,
+ target-libiberty, target-libstdc++-v3 and Fortran from general
+ case over targets.
+ * configure: Regenerate.
+
+2011-04-01 Joseph Myers <joseph@codesourcery.com>
+
+ * configure.ac (*-*-chorusos): Don't disable libgcj.
+ (*-*-freebsd[[12]] | *-*-freebsd[[12]].* | *-*-freebsd*aout*):
+ Remove case.
+ (*-*-kaos*): Don't disable GCC libraries, zlib or fastjar.
+ (arm-*-coff): Don't disable libgcj.
+ (arm*-*-linux-gnueabi): Remove useless assignment.
+ (arm-*-riscix*): Don't disable libgcj.
+ (bfin-*-*): Don't enable target-bsp and target-cygmon depending on
+ configuration.
+ (c4x-*-* | tic4x-*-*): Don't disable GCC libraries.
+ (c54x*-*-*): Remove case.
+ (tic54x-*-*): Don't disable GCC or GCC libraries.
+ (cris-*-* | crisv32-*-*): Don't handle *-*-aout. Change *-*-elf
+ to *.
+ (d10v-*-*): Don't disable GCC libraries.
+ (d30v-*-*): Don't disable libgcj.
+ (h8500-*-*): Don't disable GCC libraries.
+ (i960-*-*): Don't disable libgcj.
+ (i[[3456789]]86-*-linux*): Don't handle *-*-*libc1*.
+ (i[[3456789]]86-*-sco3.2v5*, i[[3456789]]86-*-sco*,
+ i[[3456789]]86-*-sysv4*, i[[3456789]]86-*-beos*): Don't disable
+ libgcj.
+ (m68k-*-coff*): Remove case.
+ (mmix-*-*): Don't disable libgloss on host.
+ (mn10200-*-*, mn10300-*-*): Remove cases.
+ (powerpc*-*-winnt* | powerpc*-*-pe*, powerpcle-*-solaris*,
+ powerpc-*-beos*, m68k-apollo-*, mips*-*-irix5*, mips*-*-bsd*):
+ Don't disable libgcj.
+ (romp-*-*): Remove case.
+ (sparclite-*-*, sparc-*-sunos4*): Don't disable libgcj.
+ (sparc-*-solaris2.[[0-6]] | sparc-*-solaris2.[[0-6]].*): Remove
+ case.
+ (v810-*-*): Don't disable GCC libraries.
+ (v850*-*-*, vax-*-vms, xtensa*-*-*): Remove cases.
+ (ip2k-*-*): Don't disable GCC libraries.
+ * configure: Regenerate.
+
2011-03-28 Joseph Myers <joseph@codesourcery.com>
* configure.ac (i[[3456789]]86-*-msdosdjgpp*): Don't disable
diff --git a/Makefile.in b/Makefile.in
index 128691f..e64f076 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -320,7 +320,7 @@ HOST_LIBELFINC = @libelfinc@
# Programs producing files for the BUILD machine
# ----------------------------------------------
-SHELL = @config_shell@
+SHELL = @SHELL@
# pwd command to use. Allow user to override default by setting PWDCMD in
# the environment to account for automounters. The make variable must not
diff --git a/Makefile.tpl b/Makefile.tpl
index 09ac863..f7312d9 100644
--- a/Makefile.tpl
+++ b/Makefile.tpl
@@ -323,7 +323,7 @@ HOST_LIBELFINC = @libelfinc@
# Programs producing files for the BUILD machine
# ----------------------------------------------
-SHELL = @config_shell@
+SHELL = @SHELL@
# pwd command to use. Allow user to override default by setting PWDCMD in
# the environment to account for automounters. The make variable must not
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index 80fa801..1c34293 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,3 +1,98 @@
+2011-04-01 Tristan Gingold <gingold@adacore.com>
+
+ * elfxx-ia64.c: include bfd_stdint.h
+
+2011-03-31 Jan Kratochvil <jan.kratochvil@redhat.com>
+
+ * elf32-tic6x.c (elf32_tic6x_relocate_section): Remove unused variable
+ dynobj and its initialization.
+
+2011-03-31 Tristan Gingold <gingold@adacore.com>
+
+ * makefile.vms (DEFS): Add HAVE_bfd_elf64_ia64_vms_vec.
+ * configure.com: Set BFD_HOST_64BIT_LONG_LONG and
+ BFD_HOST_LONG_LONG to 1.
+
+2011-03-31 Tristan Gingold <gingold@adacore.com>
+
+ * vms-alpha.c (vms_get_remaining_object_record): Fix dec-c warning.
+ (_bfd_vms_write_etir): Ditto.
+ (_bfd_vms_slurp_etir): Avoid to use intptr_t
+ * configure.com: Generate bfd_stdint.h
+
+2011-03-31 Bernd Schmidt <bernds@codesourcery.com>
+
+ * elf32-tic6x.h (struct elf32_tic6x_params): New.
+ (elf32_tic6x_setup): Declare.
+ * elf32-tic6x.c: Include <limits.h>.
+ (ELF_DYNAMIC_LINKER, DEFAULT_STACK_SIZE, PLT_ENTRY_SIZE): Define.
+ (struct elf32_tic6x_link_hash_table, struct elf32_link_hash_entry):
+ New structures.
+ (elf32_tic6x_link_hash_table, is_tic6x_elf): New macros.
+ (tic6x_elf_scom_section, tic6x_elf_scom_symbol,
+ tic6x_elf_scom_symbol_ptr): New static variables.
+ (elf32_tic6x_howto_table, elf32_tic6x_howto_table_rel,
+ elf32_tic6x_reloc_map): Add R_C6000_JUMP_SLOT, R_C6000_EHTYPE,
+ R_C6000_PCR_H16 and R_C6000_PCR_L16.
+ (elf32_tic6x_link_hash_newfunc, elf32_tic6x_link_hash_table_create,
+ elf32_tic6x_link_hash_table_free, elf32_tic6x_setup,
+ elf32_tic6x_using_dsbt, elf32_tic6x_install_rela,
+ elf32_tic6x_create_dynamic_sections, elf32_tic6x_make_got_dynreloc,
+ elf32_tic6x_finish_dynamic_symbol, elf32_tic6x_gc_sweep_hook,
+ elf32_tic6x_adjust_dynamic_symbol): New static functions.
+ (elf32_tic6x_relocate_section): For R_C6000_PCR_S21, convert branches
+ to weak symbols as required by the ABI.
+ Handle GOT and DSBT_INDEX relocs, and copy relocs to the output file
+ as needed when generating DSBT output.
+ (elf32_tic6x_check_relocs, elf32_tic6x_add_symbol_hook,
+ elf32_tic6x_symbol_processing, elf32_tic6x_section_from_bfd_section,
+ elf32_tic6x_allocate_dynrelocs, elf32_tic6x_size_dynamic_sections,
+ elf32_tic6x_always_size_sections, elf32_tic6x_modify_program_headers,
+ elf32_tic6x_finish_dynamic_sections, elf32_tic6x_plt_sym_val,
+ elf32_tic6x_copy_private_data, elf32_tic6x_link_omit_section_dynsym):
+ New static functions.
+ (ELF_MAXPAGESIZE): Define to 0x1000.
+ (bfd_elf32_bfd_copy_private_bfd_data,
+ bfd_elf32_bfd_link_hash_table_create,
+ bfd_elf32_bfd_link_hash_table_free, elf_backend_can_refcount,
+ elf_backend_want_got_plt, elf_backend_want_dynbss,
+ elf_backend_plt_readonly, elf_backend_got_header_size,
+ elf_backend_gc_sweep_hook, elf_backend_modify_program_headers,
+ elf_backend_create_dynamic_sections, elf_backend_adjust_dynamic_symbol,
+ elf_backend_check_relocs, elf_backend_add_symbol_hook,
+ elf_backend_symbol_processing, elf_backend_link_output_symbol_hook,
+ elf_backend_section_from_bfd_section,
+ elf_backend_finish_dynamic_symbol, elf_backend_always_size_sections,
+ elf32_tic6x_size_dynamic_sections, elf_backend_finish_dynamic_sections,
+ elf_backend_omit_section_dynsym, elf_backend_plt_sym_val): Define.
+
+ * bfd/reloc.c (BFD_RELOC_C6000_JUMP_SLOT, BFD_RELOC_C6000_EHTYPE,
+ BFD_RELOC_C6000_PCR_H16, BFD_RELOC_C6000_PCR_S16): Add.
+ * bfd/bfd-in2.h: Regenerate.
+ * bfd/libbfd.h: Regenerate.
+ * config.bfd: Accept tic6x-*-* instead of tic6x-*-elf.
+
+2011-03-31 Tristan Gingold <gingold@adacore.com>
+
+ * coffcode.h (coff_slurp_symbol_table): Silently discard C_NULL
+ entry on xcoff when value is C_NULL_VALUE.
+
+2011-03-31 Tristan Gingold <gingold@adacore.com>
+
+ * libcoff-in.h (exec_hdr): Remove.
+ * libcoff.h: Regenerate.
+
+2011-03-30 Nick Clifton <nickc@redhat.com>
+
+ * po/da.po: Updated Danish translation.
+
+2011-03-29 Richard Henderson <rth@redhat.com>
+
+ * elf64-alpha.c (elf64_alpha_gc_mark_hook): New.
+ (elf64_alpha_gc_sweep_hook): New.
+ (elf_backend_gc_mark_hook, elf_backend_gc_sweep_hook): New.
+ (elf_backend_can_gc_sections): New.
+
2011-03-26 John Marino <binutils@marino.st>
* config.bfd: Add x86_64-*-dragonfly*, fix i386-*-dragonfly*.
diff --git a/bfd/bfd-in2.h b/bfd/bfd-in2.h
index 9a470ae..a1ef1c1 100644
--- a/bfd/bfd-in2.h
+++ b/bfd/bfd-in2.h
@@ -3774,6 +3774,10 @@ the opcode. */
BFD_RELOC_C6000_DSBT_INDEX,
BFD_RELOC_C6000_PREL31,
BFD_RELOC_C6000_COPY,
+ BFD_RELOC_C6000_JUMP_SLOT,
+ BFD_RELOC_C6000_EHTYPE,
+ BFD_RELOC_C6000_PCR_H16,
+ BFD_RELOC_C6000_PCR_L16,
BFD_RELOC_C6000_ALIGN,
BFD_RELOC_C6000_FPHEAD,
BFD_RELOC_C6000_NOCMP,
diff --git a/bfd/coffcode.h b/bfd/coffcode.h
index 0fbaa97..6ee3db9 100644
--- a/bfd/coffcode.h
+++ b/bfd/coffcode.h
@@ -4896,6 +4896,11 @@ coff_slurp_symbol_table (bfd * abfd)
&& src->u.syment.n_value == 0
&& src->u.syment.n_scnum == 0)
break;
+#ifdef RS6000COFF_C
+ /* XCOFF specific: deleted entry. */
+ if (src->u.syment.n_value == C_NULL_VALUE)
+ break;
+#endif
/* Fall through. */
case C_EXTDEF: /* External definition. */
case C_ULABEL: /* Undefined label. */
diff --git a/bfd/config.bfd b/bfd/config.bfd
index 5e67d6b..76d1927 100644
--- a/bfd/config.bfd
+++ b/bfd/config.bfd
@@ -1505,7 +1505,7 @@ case "${targ}" in
;;
#endif
- tic6x-*-elf)
+ tic6x-*-*)
targ_defvec=bfd_elf32_tic6x_le_vec
targ_selvecs=bfd_elf32_tic6x_be_vec
;;
diff --git a/bfd/configure.com b/bfd/configure.com
index 2102415..a19dadd 100644
--- a/bfd/configure.com
+++ b/bfd/configure.com
@@ -70,13 +70,13 @@ $DECK
IF match_pos <> 0 THEN;
POSITION(BEGINNING_OF(match_pos));
ERASE(match_pos);
- COPY_TEXT('0');
+ COPY_TEXT('1');
ENDIF;
match_pos := SEARCH_QUIETLY('@BFD_HOST_64BIT_LONG_LONG@', FORWARD, EXACT, rang);
IF match_pos <> 0 THEN;
POSITION(BEGINNING_OF(match_pos));
ERASE(match_pos);
- COPY_TEXT('0');
+ COPY_TEXT('1');
ENDIF;
match_pos := SEARCH_QUIETLY('@BFD_HOST_64_BIT_DEFINED@', FORWARD, EXACT, rang);
IF match_pos <> 0 THEN;
@@ -257,6 +257,13 @@ $DECK
$ EOD
$!
$!
+$! create bfd_stdint.h
+$!
+$ write sys$output "Generate `bfd_stdint.h'"
+$ create []bfd_stdint.h
+#include <inttypes.h>
+$!
+$!
$! create targmatch.h
$!
$ write sys$output "Generate `targmatch.h'"
diff --git a/bfd/elf32-tic6x.c b/bfd/elf32-tic6x.c
index 3674a3a..4836d88 100644
--- a/bfd/elf32-tic6x.c
+++ b/bfd/elf32-tic6x.c
@@ -1,5 +1,5 @@
/* 32-bit ELF support for TI C6X
- Copyright 2010
+ Copyright 2010, 2011
Free Software Foundation, Inc.
Contributed by Joseph Myers <joseph@codesourcery.com>
Bernd Schmidt <bernds@codesourcery.com>
@@ -29,6 +29,52 @@
#include "elf/tic6x.h"
#include "elf32-tic6x.h"
+#define ELF_DYNAMIC_INTERPRETER "/lib/ld-uClibc.so.0"
+
+/* DSBT binaries have a default 128K stack. */
+#define DEFAULT_STACK_SIZE 0x20000
+
+/* The size in bytes of an entry in the procedure linkage table. */
+#define PLT_ENTRY_SIZE 24
+
+/* TI C6X ELF linker hash table. */
+
+struct elf32_tic6x_link_hash_table
+{
+ struct elf_link_hash_table elf;
+
+ /* Short-cuts to get to dynamic linker sections. */
+ asection *sdynbss;
+ asection *srelbss;
+
+ /* C6X specific command line arguments. */
+ struct elf32_tic6x_params params;
+
+ /* Small local sym cache. */
+ struct sym_cache sym_cache;
+
+ /* The output BFD, for convenience. */
+ bfd *obfd;
+
+ /* The .dsbt section. */
+ asection *dsbt;
+};
+
+/* Get the TI C6X ELF linker hash table from a link_info structure. */
+
+#define elf32_tic6x_hash_table(p) \
+ ((struct elf32_tic6x_link_hash_table *) ((p)->hash))
+
+/* TI C6X ELF linker hash entry. */
+
+struct elf32_tic6x_link_hash_entry
+{
+ struct elf_link_hash_entry elf;
+
+ /* Track dynamic relocs copied for this symbol. */
+ struct elf_dyn_relocs *dyn_relocs;
+};
+
struct elf32_tic6x_obj_tdata
{
struct elf_obj_tdata root;
@@ -42,6 +88,20 @@ struct elf32_tic6x_obj_tdata
#define elf32_tic6x_tdata(abfd) \
((struct elf32_tic6x_obj_tdata *) (abfd)->tdata.any)
+#define is_tic6x_elf(bfd) \
+ (bfd_get_flavour (bfd) == bfd_target_elf_flavour \
+ && elf_tdata (bfd) != NULL \
+ && elf_object_id (bfd) == TIC6X_ELF_DATA)
+
+/* C6X ELF uses two common sections. One is the usual one, and the
+ other is for small objects. All the small objects are kept
+ together, and then referenced via the gp pointer, which yields
+ faster assembler code. This is what we use for the small common
+ section. This approach is copied from ecoff.c. */
+static asection tic6x_elf_scom_section;
+static asymbol tic6x_elf_scom_symbol;
+static asymbol *tic6x_elf_scom_symbol_ptr;
+
static reloc_howto_type elf32_tic6x_howto_table[] =
{
HOWTO (R_C6000_NONE, /* type */
@@ -395,7 +455,19 @@ static reloc_howto_type elf32_tic6x_howto_table[] =
0, /* src_mask */
0xffffffff, /* dst_mask */
FALSE), /* pcrel_offset */
- EMPTY_HOWTO (27),
+ HOWTO (R_C6000_JUMP_SLOT, /* type */
+ 0, /* rightshift */
+ 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 32, /* bitsize */
+ FALSE, /* pc_relative */
+ 0, /* bitpos */
+ complain_overflow_dont,/* complain_on_overflow */
+ bfd_elf_generic_reloc, /* special_function */
+ "R_C6000_JUMP_SLOT", /* name */
+ FALSE, /* partial_inplace */
+ 0, /* src_mask */
+ 0xffffffff, /* dst_mask */
+ FALSE), /* pcrel_offset */
EMPTY_HOWTO (28),
EMPTY_HOWTO (29),
EMPTY_HOWTO (30),
@@ -955,7 +1027,19 @@ static reloc_howto_type elf32_tic6x_howto_table_rel[] =
0, /* src_mask */
0xffffffff, /* dst_mask */
FALSE), /* pcrel_offset */
- EMPTY_HOWTO (27),
+ HOWTO (R_C6000_JUMP_SLOT, /* type */
+ 0, /* rightshift */
+ 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 32, /* bitsize */
+ FALSE, /* pc_relative */
+ 0, /* bitpos */
+ complain_overflow_dont,/* complain_on_overflow */
+ bfd_elf_generic_reloc, /* special_function */
+ "R_C6000_JUMP_SLOT", /* name */
+ FALSE, /* partial_inplace */
+ 0, /* src_mask */
+ 0xffffffff, /* dst_mask */
+ FALSE), /* pcrel_offset */
EMPTY_HOWTO (28),
EMPTY_HOWTO (29),
EMPTY_HOWTO (30),
@@ -1259,6 +1343,10 @@ static const tic6x_reloc_map elf32_tic6x_reloc_map[] =
{ BFD_RELOC_C6000_DSBT_INDEX, R_C6000_DSBT_INDEX },
{ BFD_RELOC_C6000_PREL31, R_C6000_PREL31 },
{ BFD_RELOC_C6000_COPY, R_C6000_COPY },
+ { BFD_RELOC_C6000_JUMP_SLOT, R_C6000_JUMP_SLOT },
+ { BFD_RELOC_C6000_EHTYPE, R_C6000_EHTYPE },
+ { BFD_RELOC_C6000_PCR_H16, R_C6000_PCR_H16 },
+ { BFD_RELOC_C6000_PCR_L16, R_C6000_PCR_L16 },
{ BFD_RELOC_C6000_ALIGN, R_C6000_ALIGN },
{ BFD_RELOC_C6000_FPHEAD, R_C6000_FPHEAD },
{ BFD_RELOC_C6000_NOCMP, R_C6000_NOCMP }
@@ -1349,6 +1437,130 @@ elf32_tic6x_set_use_rela_p (bfd *abfd, bfd_boolean use_rela_p)
elf32_tic6x_tdata (abfd)->use_rela_p = use_rela_p;
}
+/* Create an entry in a C6X ELF linker hash table. */
+
+static struct bfd_hash_entry *
+elf32_tic6x_link_hash_newfunc (struct bfd_hash_entry *entry,
+ struct bfd_hash_table *table,
+ const char *string)
+{
+ /* Allocate the structure if it has not already been allocated by a
+ subclass. */
+ if (entry == NULL)
+ {
+ entry = bfd_hash_allocate (table,
+ sizeof (struct elf32_tic6x_link_hash_entry));
+ if (entry == NULL)
+ return entry;
+ }
+
+ /* Call the allocation method of the superclass. */
+ entry = _bfd_elf_link_hash_newfunc (entry, table, string);
+ if (entry != NULL)
+ {
+ struct elf32_tic6x_link_hash_entry *eh;
+
+ eh = (struct elf32_tic6x_link_hash_entry *) entry;
+ eh->dyn_relocs = NULL;
+ }
+
+ return entry;
+}
+
+/* Create a C6X ELF linker hash table. */
+
+static struct bfd_link_hash_table *
+elf32_tic6x_link_hash_table_create (bfd *abfd)
+{
+ struct elf32_tic6x_link_hash_table *ret;
+ bfd_size_type amt = sizeof (struct elf32_tic6x_link_hash_table);
+
+ ret = bfd_malloc (amt);
+ if (ret == NULL)
+ return NULL;
+
+ if (!_bfd_elf_link_hash_table_init (&ret->elf, abfd,
+ elf32_tic6x_link_hash_newfunc,
+ sizeof (struct elf32_tic6x_link_hash_entry),
+ TIC6X_ELF_DATA))
+ {
+ free (ret);
+ return NULL;
+ }
+
+ ret->sym_cache.abfd = NULL;
+ ret->obfd = abfd;
+ ret->elf.is_relocatable_executable = 1;
+
+ return &ret->elf.root;
+}
+
+/* Destroy a C6X ELF linker hash table. */
+
+static void
+elf32_tic6x_link_hash_table_free (struct bfd_link_hash_table *hash)
+{
+ _bfd_generic_link_hash_table_free (hash);
+}
+
+/* Called to pass PARAMS to the backend. We store them in the hash table
+ associated with INFO. */
+
+void
+elf32_tic6x_setup (struct bfd_link_info *info,
+ struct elf32_tic6x_params *params)
hooks/post-receive
--
Repository for Project Archer.
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2011-04-11 14:00 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-04-11 14:00 [SCM] archer-jankratochvil-ifunc: Merge commit 'eaa3448219665a05f0575f044d53aaf95190af93' into archer-jankratochvil-ifunc jkratoch
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).