public inbox for archer-commits@sourceware.org help / color / mirror / Atom feed
From: pmuldoon@sourceware.org To: archer-commits@sourceware.org Subject: [SCM] master: Merge remote branch 'gdb/master' Date: Fri, 22 Oct 2010 14:28:00 -0000 [thread overview] Message-ID: <20101022142852.8088.qmail@sourceware.org> (raw) The branch, master has been updated via 891eaafc8685002d1c8a5169053c86256f5e9ddc (commit) via 859bf2bfae8e797048278bd9c195bd0cac2d7650 (commit) via 8cc6a10b9e6f99eb81b60807d076aafecb0c0e31 (commit) via ee5cf7d013bae34f525f169e0f3823a012a5871e (commit) via 48a7534346e7531457ec11ec543ac839097a9fc9 (commit) via be23213b0255aa5124ce0475ec66b113973a108a (commit) via 33f2256080e6494abc9d63c589d3459279723b23 (commit) via 07bb390d0d100d7a5046861d2bd9deabffae64ca (commit) via b723d3e94bf135c3c59b7b7cafba4baae355df4a (commit) via 0e03e762f44581936efa72e245065fe05a16ff84 (commit) via ee9092a331d74142b74657051ceca14f36a333d4 (commit) via e7d22f507fcee4dd8c7869e30d197e4079356d3a (commit) via 6737b3df32e5f18e441bffa81670cad040a4e8bd (commit) via e1eeda55629ae072081070ef7901b68576a67107 (commit) via ab621c2d5de88a3141c9d39592e4a061136a71af (commit) from f03cfcef631b8b709a61f9c62e980a8e9b2df1ba (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email. - Log ----------------------------------------------------------------- commit 891eaafc8685002d1c8a5169053c86256f5e9ddc Merge: f03cfce 859bf2b Author: Phil Muldoon <pmuldoon@redhat.com> Date: Fri Oct 22 15:28:42 2010 +0100 Merge remote branch 'gdb/master' commit 859bf2bfae8e797048278bd9c195bd0cac2d7650 Author: Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> Date: Fri Oct 22 12:08:24 2010 +0000 ld: * emulparams/elf32_sparc_sol2.sh (OUTPUT_FORMAT): Set to elf32-sparc-sol2. * emulparams/elf64_sparc_sol2.sh (OUTPUT_FORMAT): Set to elf64-sparc-sol2. gas: * config/tc-sparc.h [TE_SOLARIS] (ELF_TARGET_FORMAT): Define as elf32-sparc-sol2. (ELF64_TARGET_FORMAT): Define as elf64-sparc-sol2. bfd: * elfxx-sparc.c (tpoff): Define bed, static_tls_size. Consider static_tls_alignment. * elf32-sparc.c (TARGET_BIG_SYM): Redefine to bfd_elf32_sparc_sol2_vec. (TARGET_BIG_NAME): Redefine to elf32-sparc-sol2. (elf32_bed): Redefine to elf32_sparc_sol2_bed. (elf_backend_static_tls_alignment): Redefine to 8. Include elf32-target.h. (elf_backend_static_tls_alignment): Undef again for VxWorks. * elf64-sparc.c (TARGET_BIG_SYM): Redefine to bfd_elf64_sparc_sol2_vec. (TARGET_BIG_NAME): Redefine to elf64-sparc-sol2. (ELF_OSABI): Undef. (elf64_bed): Redefine to elf64_sparc_sol2_bed. (elf_backend_static_tls_alignment): Redefine to 16. Include elf64-target.h. * config.bfd (sparc-*-solaris2.[0-6]): Split from sparc-*-elf*. Set targ_defvec to bfd_elf32_sparc_sol2_vec. [BFD64] (sparc-*-solaris2*): Set targ_defvec to bfd_elf32_sparc_sol2_vec. Replace bfd_elf64_sparc_vec by bfd_elf64_sparc_sol2_vec in targ_selvecs. * configure.in: Handle bfd_elf32_sparc_sol2_vec, bfd_elf64_sparc_sol2_vec. * configure: Regenerate. * targets.c (bfd_elf32_sparc_sol2_vec): Declare. (bfd_elf64_sparc_sol2_vec): Declare. (_bfd_target_vector): Add bfd_elf32_sparc_sol2_vec, bfd_elf64_sparc_sol2_vec. commit 8cc6a10b9e6f99eb81b60807d076aafecb0c0e31 Author: gdbadmin <gdbadmin@sourceware.org> Date: Fri Oct 22 00:00:03 2010 +0000 *** empty log message *** commit ee5cf7d013bae34f525f169e0f3823a012a5871e Author: Alan Modra <amodra@bigpond.net.au> Date: Thu Oct 21 23:50:57 2010 +0000 * Makefile.am (CLEANFILES): Add stamp-lm32. Sort. * Makefile.in: Regenerate. commit 48a7534346e7531457ec11ec543ac839097a9fc9 Author: Jie Zhang <jie.zhang@analog.com> Date: Thu Oct 21 23:50:42 2010 +0000 * Makefile.in (install): Remove dependency of install-only and recursively invoke make for install-only. * data-directory/Makefile.in: Add FLAGS_TO_PASS variable. (install): Pass FLAGS_TO_PASS when recursively make install-only. gdbserver/ * Makefile.in: Add FLAGS_TO_PASS variable. (install): Remove dependency of install-only and recursively invoke make for install-only. commit be23213b0255aa5124ce0475ec66b113973a108a Author: Alan Modra <amodra@bigpond.net.au> Date: Thu Oct 21 23:00:05 2010 +0000 daily update commit 33f2256080e6494abc9d63c589d3459279723b23 Author: Joseph Myers <jsm@polyomino.org.uk> Date: Thu Oct 21 21:16:49 2010 +0000 bfd: * elf32-tic6x.c (elf32_tic6x_merge_arch_attributes): Update for attribute renaming. (elf_backend_obj_attrs_section): Change to ".c6xabi.attributes". binutils: * readelf.c (display_tic6x_attribute): Update for attribute renaming. gas: * config/tc-tic6x.c (tic6x_arch_attribute, tic6x_arches, md_assemble, tic6x_set_attributes): Update for attribute renaming. * doc/c-tic6x.texi: Update for attribute renaming. gas/testsuite: * gas/tic6x/attr-arch-directive-1.d, gas/tic6x/attr-arch-directive-2.d, gas/tic6x/attr-arch-directive-3.d, gas/tic6x/attr-arch-directive-4.d, gas/tic6x/attr-arch-directive-4.s, gas/tic6x/attr-arch-directive-5.d, gas/tic6x/attr-arch-directive-5.s, gas/tic6x/attr-arch-opts-c62x.d, gas/tic6x/attr-arch-opts-c64x+.d, gas/tic6x/attr-arch-opts-c64x.d, gas/tic6x/attr-arch-opts-c674x.d, gas/tic6x/attr-arch-opts-c67x+.d, gas/tic6x/attr-arch-opts-c67x.d, gas/tic6x/attr-arch-opts-none-1.d, gas/tic6x/attr-arch-opts-none-2.d, gas/tic6x/attr-arch-opts-override-1.d, gas/tic6x/attr-arch-opts-override-2.d: Update for attribute renaming and renumbering. include/elf: * tic6x-attrs.h (Tag_C6XABI_Tag_CPU_arch): Change to Tag_ISA, value 4. * tic6x.h (Values for Tag_C6XABI_Tag_CPU_arch): Rename for attribute renaming. ld: * emulparams/elf32_tic6x_le.sh (ATTRS_SECTIONS): Use .c6xabi.attributes, not __TI_build_attributes. ld/testsuite: * ld-tic6x/attr-arch-c62x-c62x.d, ld-tic6x/attr-arch-c62x-c64x+.d, ld-tic6x/attr-arch-c62x-c64x.d, ld-tic6x/attr-arch-c62x-c674x.d, ld-tic6x/attr-arch-c62x-c67x+.d, ld-tic6x/attr-arch-c62x-c67x.d, ld-tic6x/attr-arch-c64x+-c62x.d, ld-tic6x/attr-arch-c64x+-c64x+.d, ld-tic6x/attr-arch-c64x+-c64x.d, ld-tic6x/attr-arch-c64x+-c674x.d, ld-tic6x/attr-arch-c64x+-c67x+.d, ld-tic6x/attr-arch-c64x+-c67x.d, ld-tic6x/attr-arch-c64x-c62x.d, ld-tic6x/attr-arch-c64x-c64x+.d, ld-tic6x/attr-arch-c64x-c64x.d, ld-tic6x/attr-arch-c64x-c674x.d, ld-tic6x/attr-arch-c64x-c67x+.d, ld-tic6x/attr-arch-c64x-c67x.d, ld-tic6x/attr-arch-c674x-c62x.d, ld-tic6x/attr-arch-c674x-c64x+.d, ld-tic6x/attr-arch-c674x-c64x.d, ld-tic6x/attr-arch-c674x-c674x.d, ld-tic6x/attr-arch-c674x-c67x+.d, ld-tic6x/attr-arch-c674x-c67x.d, ld-tic6x/attr-arch-c67x+-c62x.d, ld-tic6x/attr-arch-c67x+-c64x+.d, ld-tic6x/attr-arch-c67x+-c64x.d, ld-tic6x/attr-arch-c67x+-c674x.d, ld-tic6x/attr-arch-c67x+-c67x+.d, ld-tic6x/attr-arch-c67x+-c67x.d, ld-tic6x/attr-arch-c67x-c62x.d, ld-tic6x/attr-arch-c67x-c64x+.d, ld-tic6x/attr-arch-c67x-c64x.d, ld-tic6x/attr-arch-c67x-c674x.d, ld-tic6x/attr-arch-c67x-c67x+.d, ld-tic6x/attr-arch-c67x-c67x.d: Update for attribute renaming. commit 07bb390d0d100d7a5046861d2bd9deabffae64ca Author: Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> Date: Thu Oct 21 12:29:00 2010 +0000 * elf-bfd.h (struct elf_backend_data): New member static_tls_alignment. * elfxx-target.h (elf_backend_static_tls_alignment): Provide default. (elfNN_bed): Initialize static_tls_alignment. * elflink.c (bfd_elf_final_link): Don't round end of TLS section if static TLS has special alignment requirements. * elf32-i386.c (elf_i386_tpoff): Define bed, static_tls_size. Consider static_tls_alignment. (elf_backend_static_tls_alignment): Redefine for Solaris 2. Undef again for VxWorks. * elf64-x86-64.c (elf64_x86_64_tpoff): Define bed, static_tls_size. Consider static_tls_alignment. (elf_backend_static_tls_alignment): Redefine for Solaris 2. Undef again for Intel L1OM. commit b723d3e94bf135c3c59b7b7cafba4baae355df4a Author: gdbadmin <gdbadmin@sourceware.org> Date: Thu Oct 21 00:00:03 2010 +0000 *** empty log message *** commit 0e03e762f44581936efa72e245065fe05a16ff84 Author: Michael Snyder <msnyder@specifix.com> Date: Wed Oct 20 23:58:06 2010 +0000 2010-10-20 Michael Snyder <msnyder@vmware.com> * gdb.threads/fork-child-threads.exp: Don't run on remote target. commit ee9092a331d74142b74657051ceca14f36a333d4 Author: Alan Modra <amodra@bigpond.net.au> Date: Wed Oct 20 23:00:05 2010 +0000 daily update commit e7d22f507fcee4dd8c7869e30d197e4079356d3a Author: Doug Evans <dje@google.com> Date: Wed Oct 20 22:53:36 2010 +0000 * gdbint.texinfo (Misc Guidelines): Renamed from Coding. All references updated. Correct sections marked as subsections. (Coding Standards): New chapter. Move the coding standard related subsections here. Add section on Python coding standards. commit 6737b3df32e5f18e441bffa81670cad040a4e8bd Author: swagiaal <swagiaal> Date: Wed Oct 20 18:56:09 2010 +0000 cvs add smartp.cc smartp.exp Original changelog: Support overloading of 'operator->'. [...] 2010-10-19 Sami Wagiaalla <swagiaal@redhat.com> * gdb.cp/smartp.exp: New test. * gdb.cp/smartp.cc : New test. commit e1eeda55629ae072081070ef7901b68576a67107 Author: Ian Lance Taylor <ian@airs.com> Date: Wed Oct 20 15:43:39 2010 +0000 * Makefile.def (target_modules): Set lib_path to src/.libs for libstdc++-v3 module. * Makefile.tpl: Fix typo in TARGET_LIB_PATH comment. * Makefile.in: Rebuild. commit ab621c2d5de88a3141c9d39592e4a061136a71af Author: Hui Zhu <teawater@gmail.com> Date: Wed Oct 20 14:03:16 2010 +0000 2010-10-20 Hui Zhu <teawater@gmail.com> * tracepoint.c (tfile_get_traceframe_address): Call extract_signed_integer. (tfile_trace_find): Call extract_signed_integer and extract_unsigned_integer. Change data_size to unsigned int. (tfile_fetch_registers): Call extract_unsigned_integer. (tfile_xfer_partial): Ditto. (tfile_get_trace_state_variable_value): Call extract_signed_integer and extract_unsigned_integer. ----------------------------------------------------------------------- Summary of changes: ChangeLog | 7 + Makefile.def | 2 +- Makefile.in | 4 +- Makefile.tpl | 2 +- bfd/ChangeLog | 62 +++ bfd/config.bfd | 10 +- bfd/configure | 2 + bfd/configure.in | 2 + bfd/elf-bfd.h | 3 + bfd/elf32-i386.c | 13 +- bfd/elf32-sparc.c | 20 +- bfd/elf32-tic6x.c | 20 +- bfd/elf64-sparc.c | 22 +- bfd/elf64-x86-64.c | 13 +- bfd/elflink.c | 6 +- bfd/elfxx-sparc.c | 7 +- bfd/elfxx-target.h | 6 +- bfd/targets.c | 4 + bfd/version.h | 2 +- gdb/ChangeLog | 18 + gdb/Makefile.in | 3 +- gdb/data-directory/Makefile.in | 34 ++- gdb/doc/ChangeLog | 7 + gdb/doc/gdbint.texinfo | 456 ++++++++++++---------- gdb/gdbserver/ChangeLog | 6 + gdb/gdbserver/Makefile.in | 36 ++- gdb/testsuite/ChangeLog | 4 + gdb/testsuite/gdb.cp/smartp.cc | 163 ++++++++ gdb/testsuite/gdb.cp/smartp.exp | 77 ++++ gdb/testsuite/gdb.threads/fork-child-threads.exp | 4 + gdb/tracepoint.c | 33 ++- gdb/version.in | 2 +- include/elf/ChangeLog | 7 + include/elf/tic6x-attrs.h | 2 +- include/elf/tic6x.h | 18 +- opcodes/ChangeLog | 5 + opcodes/Makefile.am | 7 +- opcodes/Makefile.in | 7 +- 38 files changed, 833 insertions(+), 263 deletions(-) create mode 100644 gdb/testsuite/gdb.cp/smartp.cc create mode 100644 gdb/testsuite/gdb.cp/smartp.exp First 500 lines of diff: diff --git a/ChangeLog b/ChangeLog index 5fb7b61..54fb1bd 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2010-10-20 Ian Lance Taylor <iant@google.com> + + * Makefile.def (target_modules): Set lib_path to src/.libs for + libstdc++-v3 module. + * Makefile.tpl: Fix typo in TARGET_LIB_PATH comment. + * Makefile.in: Rebuild. + 2010-10-08 Bernd Schmidt <bernds@codesourcery.com> Joseph Myers <joseph@codesourcery.com> diff --git a/Makefile.def b/Makefile.def index 29cd1a3..6223bf3 100644 --- a/Makefile.def +++ b/Makefile.def @@ -149,7 +149,7 @@ host_modules= { module= lto-plugin; bootstrap=true; }; target_modules = { module= libstdc++-v3; bootstrap=true; - lib_path=.libs; + lib_path=src/.libs; raw_cxx=true; }; target_modules = { module= libmudflap; lib_path=.libs; }; target_modules = { module= libssp; lib_path=.libs; }; diff --git a/Makefile.in b/Makefile.in index 1d5ef9e..aaea69d 100644 --- a/Makefile.in +++ b/Makefile.in @@ -560,11 +560,11 @@ all: ### # This is the list of directories that may be needed in RPATH_ENVVAR -# so that prorgams built for the target machine work. +# so that programs built for the target machine work. TARGET_LIB_PATH = $(TARGET_LIB_PATH_libstdc++-v3)$(TARGET_LIB_PATH_libmudflap)$(TARGET_LIB_PATH_libssp)$(TARGET_LIB_PATH_libgomp)$(HOST_LIB_PATH_gcc) @if target-libstdc++-v3 -TARGET_LIB_PATH_libstdc++-v3 = $$r/$(TARGET_SUBDIR)/libstdc++-v3/.libs: +TARGET_LIB_PATH_libstdc++-v3 = $$r/$(TARGET_SUBDIR)/libstdc++-v3/src/.libs: @endif target-libstdc++-v3 @if target-libmudflap diff --git a/Makefile.tpl b/Makefile.tpl index 1f0419c..4c55ee2 100644 --- a/Makefile.tpl +++ b/Makefile.tpl @@ -513,7 +513,7 @@ all: ### # This is the list of directories that may be needed in RPATH_ENVVAR -# so that prorgams built for the target machine work. +# so that programs built for the target machine work. TARGET_LIB_PATH = [+ FOR target_modules +][+ IF lib_path +]$(TARGET_LIB_PATH_[+module+])[+ ENDIF lib_path +][+ ENDFOR target_modules +]$(HOST_LIB_PATH_gcc) diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 7981dce..f5749a9 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,65 @@ +2010-10-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> + + * elfxx-sparc.c (tpoff): Define bed, static_tls_size. + Consider static_tls_alignment. + + * elf32-sparc.c (TARGET_BIG_SYM): Redefine to + bfd_elf32_sparc_sol2_vec. + (TARGET_BIG_NAME): Redefine to elf32-sparc-sol2. + (elf32_bed): Redefine to elf32_sparc_sol2_bed. + (elf_backend_static_tls_alignment): Redefine to 8. + Include elf32-target.h. + (elf_backend_static_tls_alignment): Undef again for VxWorks. + + * elf64-sparc.c (TARGET_BIG_SYM): Redefine to + bfd_elf64_sparc_sol2_vec. + (TARGET_BIG_NAME): Redefine to elf64-sparc-sol2. + (ELF_OSABI): Undef. + (elf64_bed): Redefine to elf64_sparc_sol2_bed. + (elf_backend_static_tls_alignment): Redefine to 16. + Include elf64-target.h. + + * config.bfd (sparc-*-solaris2.[0-6]): Split from sparc-*-elf*. + Set targ_defvec to bfd_elf32_sparc_sol2_vec. + [BFD64] (sparc-*-solaris2*): Set targ_defvec to + bfd_elf32_sparc_sol2_vec. + Replace bfd_elf64_sparc_vec by bfd_elf64_sparc_sol2_vec in + targ_selvecs. + + * configure.in: Handle bfd_elf32_sparc_sol2_vec, + bfd_elf64_sparc_sol2_vec. + * configure: Regenerate. + + * targets.c (bfd_elf32_sparc_sol2_vec): Declare. + (bfd_elf64_sparc_sol2_vec): Declare. + (_bfd_target_vector): Add bfd_elf32_sparc_sol2_vec, + bfd_elf64_sparc_sol2_vec. + +2010-10-21 Joseph Myers <joseph@codesourcery.com> + + * elf32-tic6x.c (elf32_tic6x_merge_arch_attributes): Update for + attribute renaming. + (elf_backend_obj_attrs_section): Change to ".c6xabi.attributes". + +2010-10-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> + + * elf-bfd.h (struct elf_backend_data): New member + static_tls_alignment. + * elfxx-target.h (elf_backend_static_tls_alignment): Provide + default. + (elfNN_bed): Initialize static_tls_alignment. + * elflink.c (bfd_elf_final_link): Don't round end of TLS section + if static TLS has special alignment requirements. + * elf32-i386.c (elf_i386_tpoff): Define bed, static_tls_size. + Consider static_tls_alignment. + (elf_backend_static_tls_alignment): Redefine for Solaris 2. + Undef again for VxWorks. + * elf64-x86-64.c (elf64_x86_64_tpoff): Define bed, + static_tls_size. + Consider static_tls_alignment. + (elf_backend_static_tls_alignment): Redefine for Solaris 2. + Undef again for Intel L1OM. + 2010-10-14 Dave Korn <dave.korn.cygwin@gmail.com> Apply LD plugin patch series (part 6/6). diff --git a/bfd/config.bfd b/bfd/config.bfd index e42535f..f0a03e3 100644 --- a/bfd/config.bfd +++ b/bfd/config.bfd @@ -1395,14 +1395,18 @@ case "${targ}" in targ_defvec=bfd_elf32_sparc_vec targ_selvecs=sparcnetbsd_vec ;; - sparc-*-elf* | sparc-*-solaris2.[0-6] | sparc-*-solaris2.[0-6].*) + sparc-*-elf*) targ_defvec=bfd_elf32_sparc_vec targ_selvecs=sunos_big_vec ;; + sparc-*-solaris2.[0-6] | sparc-*-solaris2.[0-6].*) + targ_defvec=bfd_elf32_sparc_sol2_vec + targ_selvecs=sunos_big_vec + ;; #ifdef BFD64 sparc-*-solaris2* | sparcv9-*-solaris2* | sparc64-*-solaris2*) - targ_defvec=bfd_elf32_sparc_vec - targ_selvecs="bfd_elf64_sparc_vec sunos_big_vec" + targ_defvec=bfd_elf32_sparc_sol2_vec + targ_selvecs="bfd_elf64_sparc_sol2_vec sunos_big_vec" want64=true ;; #endif diff --git a/bfd/configure b/bfd/configure index 980711a..41009f2 100755 --- a/bfd/configure +++ b/bfd/configure @@ -15148,6 +15148,7 @@ do bfd_elf32_shnbsd_vec) tb="$tb elf32-sh.lo elf-vxworks.lo elf32.lo $elf coff-sh.lo cofflink.lo" ;; bfd_elf32_shvxworks_vec) tb="$tb elf32-sh.lo elf-vxworks.lo elf32.lo $elf coff-sh.lo" ;; bfd_elf32_sparc_vec) tb="$tb elf32-sparc.lo elfxx-sparc.lo elf-vxworks.lo elf32.lo $elf" ;; + bfd_elf32_sparc_sol2_vec) tb="$tb elf32-sparc.lo elfxx-sparc.lo elf-vxworks.lo elf32.lo $elf" ;; bfd_elf32_sparc_vxworks_vec) tb="$tb elf32-sparc.lo elfxx-sparc.lo elf-vxworks.lo elf32.lo $elf" ;; bfd_elf32_spu_vec) tb="$tb elf32-spu.lo elf32.lo $elf" ;; bfd_elf32_tic6x_be_vec) tb="$tb elf32-tic6x.lo elf32.lo $elf" ;; @@ -15185,6 +15186,7 @@ do bfd_elf64_sh64nbsd_vec) tb="$tb elf64-sh64.lo elf64.lo $elf" target_size=64 ;; bfd_elf64_sparc_vec) tb="$tb elf64-sparc.lo elfxx-sparc.lo elf-vxworks.lo elf64.lo $elf"; target_size=64 ;; bfd_elf64_sparc_freebsd_vec) tb="$tb elf64-sparc.lo elfxx-sparc.lo elf-vxworks.lo elf64.lo $elf"; target_size=64 ;; + bfd_elf64_sparc_sol2_vec) tb="$tb elf64-sparc.lo elfxx-sparc.lo elf-vxworks.lo elf64.lo $elf"; target_size=64 ;; bfd_elf64_tradbigmips_vec) tb="$tb elf64-mips.lo elf64.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf ecofflink.lo"; target_size=64 ;; bfd_elf64_tradlittlemips_vec) tb="$tb elf64-mips.lo elf64.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf ecofflink.lo"; target_size=64 ;; bfd_elf64_x86_64_freebsd_vec) tb="$tb elf64-x86-64.lo elf-ifunc.lo elf64.lo $elf"; target_size=64 ;; diff --git a/bfd/configure.in b/bfd/configure.in index 13fb66f..2a876bf 100644 --- a/bfd/configure.in +++ b/bfd/configure.in @@ -783,6 +783,7 @@ do bfd_elf32_shnbsd_vec) tb="$tb elf32-sh.lo elf-vxworks.lo elf32.lo $elf coff-sh.lo cofflink.lo" ;; bfd_elf32_shvxworks_vec) tb="$tb elf32-sh.lo elf-vxworks.lo elf32.lo $elf coff-sh.lo" ;; bfd_elf32_sparc_vec) tb="$tb elf32-sparc.lo elfxx-sparc.lo elf-vxworks.lo elf32.lo $elf" ;; + bfd_elf32_sparc_sol2_vec) tb="$tb elf32-sparc.lo elfxx-sparc.lo elf-vxworks.lo elf32.lo $elf" ;; bfd_elf32_sparc_vxworks_vec) tb="$tb elf32-sparc.lo elfxx-sparc.lo elf-vxworks.lo elf32.lo $elf" ;; bfd_elf32_spu_vec) tb="$tb elf32-spu.lo elf32.lo $elf" ;; bfd_elf32_tic6x_be_vec) tb="$tb elf32-tic6x.lo elf32.lo $elf" ;; @@ -820,6 +821,7 @@ do bfd_elf64_sh64nbsd_vec) tb="$tb elf64-sh64.lo elf64.lo $elf" target_size=64 ;; bfd_elf64_sparc_vec) tb="$tb elf64-sparc.lo elfxx-sparc.lo elf-vxworks.lo elf64.lo $elf"; target_size=64 ;; bfd_elf64_sparc_freebsd_vec) tb="$tb elf64-sparc.lo elfxx-sparc.lo elf-vxworks.lo elf64.lo $elf"; target_size=64 ;; + bfd_elf64_sparc_sol2_vec) tb="$tb elf64-sparc.lo elfxx-sparc.lo elf-vxworks.lo elf64.lo $elf"; target_size=64 ;; bfd_elf64_tradbigmips_vec) tb="$tb elf64-mips.lo elf64.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf ecofflink.lo"; target_size=64 ;; bfd_elf64_tradlittlemips_vec) tb="$tb elf64-mips.lo elf64.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf ecofflink.lo"; target_size=64 ;; bfd_elf64_x86_64_freebsd_vec) tb="$tb elf64-x86-64.lo elf-ifunc.lo elf64.lo $elf"; target_size=64 ;; diff --git a/bfd/elf-bfd.h b/bfd/elf-bfd.h index 66dcbcd..0527bbd 100644 --- a/bfd/elf-bfd.h +++ b/bfd/elf-bfd.h @@ -1256,6 +1256,9 @@ struct elf_backend_data actual tag number to place in the input position. */ int (*obj_attrs_order) (int); + /* This is non-zero if static TLS segments require a special alignment. */ + unsigned static_tls_alignment; + /* This is TRUE if the linker should act like collect and gather global constructors and destructors by name. This is TRUE for MIPS ELF because the Irix 5 tools can not handle the .init diff --git a/bfd/elf32-i386.c b/bfd/elf32-i386.c index 8d8bc85..ae749c6 100644 --- a/bfd/elf32-i386.c +++ b/bfd/elf32-i386.c @@ -2828,11 +2828,16 @@ static bfd_vma elf_i386_tpoff (struct bfd_link_info *info, bfd_vma address) { struct elf_link_hash_table *htab = elf_hash_table (info); + const struct elf_backend_data *bed = get_elf_backend_data (info->output_bfd); + bfd_vma static_tls_size; /* If tls_sec is NULL, we should have signalled an error already. */ if (htab->tls_sec == NULL) return 0; - return htab->tls_size + htab->tls_sec->vma - address; + + /* Consider special static TLS alignment requirements. */ + static_tls_size = BFD_ALIGN (htab->tls_size, bed->static_tls_alignment); + return static_tls_size + htab->tls_sec->vma - address; } /* Relocate an i386 ELF section. */ @@ -4795,6 +4800,11 @@ elf_i386_fbsd_post_process_headers (bfd *abfd, struct bfd_link_info *info) #undef elf32_bed #define elf32_bed elf32_i386_sol2_bed +/* The 32-bit static TLS arena size is rounded to the nearest 8-byte + boundary. */ +#undef elf_backend_static_tls_alignment +#define elf_backend_static_tls_alignment 8 + /* The Solaris 2 ABI requires a plt symbol on all platforms. Cf. Linker and Libraries Guide, Ch. 2, Link-Editor, Generating the Output @@ -4848,6 +4858,7 @@ elf_i386_vxworks_link_hash_table_create (bfd *abfd) #undef elf_backend_final_write_processing #define elf_backend_final_write_processing \ elf_vxworks_final_write_processing +#undef elf_backend_static_tls_alignment /* On VxWorks, we emit relocations against _PROCEDURE_LINKAGE_TABLE_, so define it. */ diff --git a/bfd/elf32-sparc.c b/bfd/elf32-sparc.c index adfe924..187d466 100644 --- a/bfd/elf32-sparc.c +++ b/bfd/elf32-sparc.c @@ -1,6 +1,6 @@ /* SPARC-specific support for 32-bit ELF Copyright 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, - 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc. + 2003, 2004, 2005, 2006, 2007, 2010 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. @@ -246,6 +246,23 @@ elf32_sparc_add_symbol_hook (bfd * abfd, #include "elf32-target.h" +/* Solaris 2. */ + +#undef TARGET_BIG_SYM +#define TARGET_BIG_SYM bfd_elf32_sparc_sol2_vec +#undef TARGET_BIG_NAME +#define TARGET_BIG_NAME "elf32-sparc-sol2" + +#undef elf32_bed +#define elf32_bed elf32_sparc_sol2_bed + +/* The 32-bit static TLS arena size is rounded to the nearest 8-byte + boundary. */ +#undef elf_backend_static_tls_alignment +#define elf_backend_static_tls_alignment 8 + +#include "elf32-target.h" + /* A wrapper around _bfd_sparc_elf_link_hash_table_create that identifies the target system as VxWorks. */ @@ -305,6 +322,7 @@ elf32_sparc_vxworks_final_write_processing (bfd *abfd, bfd_boolean linker) #undef elf_backend_final_write_processing #define elf_backend_final_write_processing \ elf32_sparc_vxworks_final_write_processing +#undef elf_backend_static_tls_alignment #undef elf32_bed #define elf32_bed sparc_elf_vxworks_bed diff --git a/bfd/elf32-tic6x.c b/bfd/elf32-tic6x.c index a570f88..7d971d8 100644 --- a/bfd/elf32-tic6x.c +++ b/bfd/elf32-tic6x.c @@ -1673,7 +1673,7 @@ elf32_tic6x_obj_attrs_arg_type (int tag) return ATTR_TYPE_FLAG_INT_VAL; } -/* Merge the Tag_C6XABI_Tag_CPU_arch attribute values ARCH1 and ARCH2 +/* Merge the Tag_ISA attribute values ARCH1 and ARCH2 and return the merged value. At present, all merges succeed, so no return value for errors is defined. */ @@ -1687,11 +1687,11 @@ elf32_tic6x_merge_arch_attributes (int arch1, int arch2) /* In most cases, the numerically greatest value is the correct merged value, but merging C64 and C67 results in C674X. */ - if ((min_arch == C6XABI_Tag_CPU_arch_C67X - || min_arch == C6XABI_Tag_CPU_arch_C67XP) - && (max_arch == C6XABI_Tag_CPU_arch_C64X - || max_arch == C6XABI_Tag_CPU_arch_C64XP)) - return C6XABI_Tag_CPU_arch_C674X; + if ((min_arch == C6XABI_Tag_ISA_C67X + || min_arch == C6XABI_Tag_ISA_C67XP) + && (max_arch == C6XABI_Tag_ISA_C64X + || max_arch == C6XABI_Tag_ISA_C64XP)) + return C6XABI_Tag_ISA_C674X; return max_arch; } @@ -1724,9 +1724,9 @@ elf32_tic6x_merge_attributes (bfd *ibfd, bfd *obfd) /* No specification yet for handling of unknown attributes, so just ignore them and handle known ones. */ - out_attr[Tag_C6XABI_Tag_CPU_arch].i - = elf32_tic6x_merge_arch_attributes (in_attr[Tag_C6XABI_Tag_CPU_arch].i, - out_attr[Tag_C6XABI_Tag_CPU_arch].i); + out_attr[Tag_ISA].i + = elf32_tic6x_merge_arch_attributes (in_attr[Tag_ISA].i, + out_attr[Tag_ISA].i); /* Merge Tag_compatibility attributes and any common GNU ones. */ _bfd_elf_merge_object_attributes (ibfd, obfd); @@ -1765,7 +1765,7 @@ elf32_tic6x_merge_private_bfd_data (bfd *ibfd, bfd *obfd) #define elf_backend_may_use_rel_p 1 #define elf_backend_may_use_rela_p 1 #define elf_backend_obj_attrs_arg_type elf32_tic6x_obj_attrs_arg_type -#define elf_backend_obj_attrs_section "__TI_build_attributes" +#define elf_backend_obj_attrs_section ".c6xabi.attributes" #define elf_backend_obj_attrs_section_type SHT_C6000_ATTRIBUTES #define elf_backend_obj_attrs_vendor "c6xabi" #define elf_backend_rela_normal 1 diff --git a/bfd/elf64-sparc.c b/bfd/elf64-sparc.c index 1ad0c14..9f05b85 100644 --- a/bfd/elf64-sparc.c +++ b/bfd/elf64-sparc.c @@ -1,6 +1,6 @@ /* SPARC-specific support for 64-bit ELF Copyright 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, - 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc. + 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. @@ -934,3 +934,23 @@ const struct elf_size_info elf64_sparc_size_info = #include "elf64-target.h" +/* Solaris 2. */ + +#undef TARGET_BIG_SYM +#define TARGET_BIG_SYM bfd_elf64_sparc_sol2_vec +#undef TARGET_BIG_NAME +#define TARGET_BIG_NAME "elf64-sparc-sol2" + +/* Restore default: we cannot use ELFOSABI_SOLARIS, otherwise ELFOSABI_NONE + objects won't be recognized. */ +#undef ELF_OSABI + +#undef elf64_bed +#define elf64_bed elf64_sparc_sol2_bed + +/* The 64-bit static TLS arena size is rounded to the nearest 16-byte + boundary. */ +#undef elf_backend_static_tls_alignment +#define elf_backend_static_tls_alignment 16 + +#include "elf64-target.h" diff --git a/bfd/elf64-x86-64.c b/bfd/elf64-x86-64.c index 677d9c4..83656ae 100644 --- a/bfd/elf64-x86-64.c +++ b/bfd/elf64-x86-64.c @@ -2607,11 +2607,16 @@ static bfd_vma elf64_x86_64_tpoff (struct bfd_link_info *info, bfd_vma address) { struct elf_link_hash_table *htab = elf_hash_table (info); + const struct elf_backend_data *bed = get_elf_backend_data (info->output_bfd); + bfd_vma static_tls_size; /* If tls_segment is NULL, we should have signalled an error already. */ if (htab->tls_sec == NULL) return 0; - return address - htab->tls_size - htab->tls_sec->vma; + + /* Consider special static TLS alignment requirements. */ + static_tls_size = BFD_ALIGN (htab->tls_size, bed->static_tls_alignment); + return address - static_tls_size - htab->tls_sec->vma; } /* Is the instruction before OFFSET in CONTENTS a 32bit relative @@ -4565,6 +4570,11 @@ static const struct bfd_elf_special_section #undef elf64_bed #define elf64_bed elf64_x86_64_sol2_bed +/* The 64-bit static TLS arena size is rounded to the nearest 16-byte + boundary. */ +#undef elf_backend_static_tls_alignment +#define elf_backend_static_tls_alignment 16 + /* The Solaris 2 ABI requires a plt symbol on all platforms. Cf. Linker and Libraries Guide, Ch. 2, Link-Editor, Generating the Output @@ -4603,6 +4613,7 @@ elf64_l1om_elf_object_p (bfd *abfd) #define elf_backend_object_p elf64_l1om_elf_object_p #undef elf_backend_post_process_headers +#undef elf_backend_static_tls_alignment #include "elf64-target.h" diff --git a/bfd/elflink.c b/bfd/elflink.c index 6d37dc8..6726d46 100644 --- a/bfd/elflink.c +++ b/bfd/elflink.c @@ -10624,7 +10624,11 @@ bfd_elf_final_link (bfd *abfd, struct bfd_link_info *info) end = sec->vma + size; } base = elf_hash_table (info)->tls_sec->vma; - end = align_power (end, elf_hash_table (info)->tls_sec->alignment_power); + /* Only align end of TLS section if static TLS doesn't have special + alignment requirements. */ + if (bed->static_tls_alignment == 1) + end = align_power (end, + elf_hash_table (info)->tls_sec->alignment_power); elf_hash_table (info)->tls_size = end - base; } diff --git a/bfd/elfxx-sparc.c b/bfd/elfxx-sparc.c index 979505a..ebe040f 100644 --- a/bfd/elfxx-sparc.c +++ b/bfd/elfxx-sparc.c @@ -2819,11 +2819,16 @@ static bfd_vma tpoff (struct bfd_link_info *info, bfd_vma address) { struct elf_link_hash_table *htab = elf_hash_table (info); + const struct elf_backend_data *bed = get_elf_backend_data (info->output_bfd); + bfd_vma static_tls_size; /* If tls_sec is NULL, we should have signalled an error already. */ if (htab->tls_sec == NULL) return 0; - return address - htab->tls_size - htab->tls_sec->vma; + + /* Consider special static TLS alignment requirements. */ + static_tls_size = BFD_ALIGN (htab->tls_size, bed->static_tls_alignment); + return address - static_tls_size - htab->tls_sec->vma; } /* Return the relocation value for a %gdop relocation. */ diff --git a/bfd/elfxx-target.h b/bfd/elfxx-target.h index 00fd693..57f352c 100644 --- a/bfd/elfxx-target.h +++ b/bfd/elfxx-target.h @@ -1,6 +1,6 @@ /* Target definitions for NN-bit ELF Copyright 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, - 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc. + 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. @@ -477,6 +477,9 @@ #ifndef elf_backend_obj_attrs_order #define elf_backend_obj_attrs_order NULL #endif +#ifndef elf_backend_static_tls_alignment +#define elf_backend_static_tls_alignment 1 +#endif #ifndef elf_backend_post_process_headers #define elf_backend_post_process_headers NULL #endif @@ -738,6 +741,7 @@ static struct elf_backend_data elfNN_bed = elf_backend_obj_attrs_arg_type, elf_backend_obj_attrs_section_type, elf_backend_obj_attrs_order, + elf_backend_static_tls_alignment, elf_backend_collect, elf_backend_type_change_ok, elf_backend_may_use_rel_p, diff --git a/bfd/targets.c b/bfd/targets.c index aaf7e99..3e99754 100644 --- a/bfd/targets.c +++ b/bfd/targets.c @@ -676,6 +676,7 @@ extern const bfd_target bfd_elf32_shlvxworks_vec; extern const bfd_target bfd_elf32_shnbsd_vec; hooks/post-receive -- Repository for Project Archer.
next reply other threads:[~2010-10-22 14:28 UTC|newest] Thread overview: 120+ messages / expand[flat|nested] mbox.gz Atom feed top 2010-10-22 14:28 pmuldoon [this message] -- strict thread matches above, loose matches on Subject: below -- 2011-02-01 19:25 jkratoch 2011-01-29 16:44 jkratoch 2011-01-25 12:53 pmuldoon 2011-01-25 9:10 jkratoch 2011-01-17 13:31 pmuldoon 2011-01-15 11:35 jkratoch 2011-01-14 8:04 jkratoch 2011-01-10 12:00 pmuldoon 2011-01-10 9:10 jkratoch 2011-01-07 5:57 jkratoch 2011-01-06 12:22 pmuldoon 2011-01-04 4:59 jkratoch 2010-12-31 22:30 jkratoch 2010-12-30 7:22 jkratoch 2010-12-22 20:11 swagiaal 2010-12-14 17:13 jkratoch 2010-12-14 8:27 pmuldoon 2010-12-10 17:16 jkratoch 2010-12-08 15:55 pmuldoon 2010-12-06 6:40 jkratoch 2010-12-04 1:03 jkratoch 2010-12-02 15:47 pmuldoon 2010-11-30 0:15 jkratoch 2010-11-28 18:02 jkratoch 2010-11-28 5:41 jkratoch 2010-11-16 5:04 jkratoch 2010-11-12 11:47 pmuldoon 2010-11-11 11:39 pmuldoon 2010-11-10 9:09 pmuldoon 2010-11-08 9:34 pmuldoon 2010-11-07 18:15 jkratoch 2010-10-20 12:48 pmuldoon 2010-10-19 16:01 pmuldoon 2010-10-17 20:27 jkratoch 2010-10-15 17:07 jkratoch 2010-10-14 20:55 jkratoch 2010-10-13 15:06 jkratoch 2010-10-12 16:45 jkratoch 2010-10-11 9:21 jkratoch 2010-10-11 8:47 pmuldoon 2010-10-06 9:00 pmuldoon 2010-09-30 8:56 pmuldoon 2010-09-27 9:48 jkratoch 2010-09-20 12:34 pmuldoon 2010-09-16 20:49 ratmice 2010-09-04 19:59 jkratoch 2010-09-03 7:26 jkratoch 2010-09-02 15:04 jkratoch 2010-09-01 15:29 swagiaal 2010-08-23 13:54 jkratoch 2010-08-20 17:49 jkratoch 2010-08-12 15:19 swagiaal 2010-08-06 15:32 jkratoch 2010-07-29 19:17 swagiaal 2010-07-22 16:57 jkratoch 2010-07-22 16:26 jkratoch 2010-07-20 18:51 jkratoch 2010-07-09 8:09 jkratoch 2010-06-24 8:55 jkratoch 2010-06-23 20:56 jkratoch 2010-06-17 12:53 jkratoch 2010-06-07 8:14 jkratoch 2010-06-02 19:03 jkratoch 2010-05-28 21:27 jkratoch 2010-05-26 18:36 swagiaal 2010-05-17 18:02 jkratoch 2010-05-17 1:04 jkratoch 2010-05-10 19:30 swagiaal 2010-05-05 14:24 swagiaal 2010-05-03 13:49 jkratoch 2010-05-03 8:48 jkratoch 2010-05-02 23:10 jkratoch 2010-05-02 15:54 jkratoch 2010-04-30 7:11 jkratoch 2010-04-28 11:44 jkratoch 2010-04-25 20:22 jkratoch 2010-04-09 20:37 jkratoch 2010-04-07 1:41 jkratoch 2010-04-05 10:11 jkratoch 2010-04-04 11:58 jkratoch 2010-03-22 23:58 jkratoch 2010-03-20 17:23 jkratoch 2010-03-18 10:01 jkratoch 2010-03-17 18:04 jkratoch 2010-03-12 18:35 jkratoch 2010-03-04 22:28 jkratoch 2010-03-01 22:16 jkratoch 2010-02-26 22:16 jkratoch 2010-02-26 17:50 jkratoch 2010-02-17 16:01 swagiaal 2010-02-13 22:51 jkratoch 2010-02-11 12:51 jkratoch 2010-02-09 19:01 jkratoch 2010-02-08 21:46 jkratoch 2010-02-03 4:38 jkratoch 2010-01-31 17:25 jkratoch 2010-01-28 19:17 swagiaal 2010-01-28 10:56 jkratoch 2010-01-27 19:21 swagiaal 2010-01-27 8:08 jkratoch 2010-01-26 18:58 swagiaal 2010-01-20 21:48 jkratoch 2010-01-15 2:09 jkratoch 2010-01-15 0:52 jkratoch 2010-01-14 22:23 jkratoch 2010-01-13 20:53 jkratoch 2010-01-10 20:47 jkratoch 2010-01-09 10:03 jkratoch 2010-01-09 8:41 jkratoch 2010-01-08 19:16 jkratoch 2009-12-06 17:43 jkratoch 2009-12-03 16:32 jkratoch 2009-11-30 13:59 jkratoch 2009-11-24 21:21 jkratoch 2009-11-21 9:24 jkratoch 2009-11-20 21:06 jkratoch 2009-11-20 15:57 jkratoch 2009-11-17 19:59 jkratoch 2009-11-16 2:22 jkratoch
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20101022142852.8088.qmail@sourceware.org \ --to=pmuldoon@sourceware.org \ --cc=archer-commits@sourceware.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
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).