public inbox for archer-commits@sourceware.org
help / color / mirror / Atom feed
* [SCM]  archer-jankratochvil-vla: Fix the merge.
@ 2011-01-15 11:34 jkratoch
  0 siblings, 0 replies; only message in thread
From: jkratoch @ 2011-01-15 11:34 UTC (permalink / raw)
  To: archer-commits

The branch, archer-jankratochvil-vla has been updated
       via  3cd716647153e0f83b170235cf409ec9779f19cc (commit)
       via  0642db1cdb31c66c18c2b2c0929dc72358164459 (commit)
       via  809b81fbd06cc4a3c5a1b930a53ecb6304d31a58 (commit)
       via  c382ea4cb3cd4f4adb6c38ae8fc91f2cc7b57998 (commit)
       via  4519eb03863a0545796b91f72db9905ad4d54dd3 (commit)
       via  16b42d642118a4ecd243a92a3d30e6ec9ef79a61 (commit)
       via  0c2a9d801d0e4408bf4d0f2626113dbe0975b1ab (commit)
       via  42f46242b4239897ce78996e8031fb2b453b0f3a (commit)
       via  e00546ebc6c70d040e7c60c62bb36b365faf0fd4 (commit)
       via  b5963657c4f9bb09156162a65cc035ea55d1ae7f (commit)
       via  3c2918a7e5bb6ae18918c69709484aa78428b4a5 (commit)
       via  0e52d299faed3f6430189eb5b1b3e26c62258693 (commit)
       via  af373e307707382768713c023fcb27fefa354cf9 (commit)
       via  b18c57162019bdff244dc29515e319ea9d13626b (commit)
       via  20541a0f11ccd017f244324bef98525430afd5c8 (commit)
       via  2a1a3a7404d1f4acd07972de3d032c73d8d58560 (commit)
       via  48bb01b777ff8fb052f1a5929ba8405e7d743292 (commit)
       via  061e2c2f4e9bcb4e0ac90e88f7f7d268bde804c7 (commit)
       via  0da3e49c580365820be2b987b249440a20cb7a3c (commit)
       via  d91fc7a0c85a7c766dffe52fdffc0045d3f9bc0f (commit)
       via  b953243d1c850a363213d86756758781d3cee226 (commit)
       via  2c6b777e7c2cd56d6f5630375e33c64cefc129e5 (commit)
       via  84c64d73f27c2def9f23dc6cfd1171da907ce3a1 (commit)
       via  a60996756955cc8cad77994629d622fed5572f16 (commit)
       via  8fefa6e4f261647761bdcaa766a146870400332e (commit)
       via  b821d466c42caf0af01fb9ce64633ee81f0aca62 (commit)
       via  80c01fc5c301000b6100ec2f19524415dbe5926d (commit)
       via  840a7679a7dbbba41eb9c4ec9aadd691c6e22ca0 (commit)
       via  c9ac506053cefef4c28b5f516b473dd6b8246814 (commit)
       via  29c91bff191d72fd6250268f2d7a7404fefc6b06 (commit)
       via  f478247912cdbcffe6133771aefc630e3add50cc (commit)
       via  db3e7c12614c66fb97a6ab699234ff38645297d9 (commit)
       via  a9f87e3912fbba019d1455b48e87b078b9521f37 (commit)
       via  1342d6935c17dabec76c6aeab259af16382dcb87 (commit)
       via  a086a77f42fecf900f7d8c483479a65b140dc9be (commit)
       via  e4c94ef2808942f5b48023bf9970d1baf45c34ed (commit)
       via  283012c3d7de73c3943d8e8d88dbb634fb468d2a (commit)
       via  462473a4920f487e6ace773f068575010a766ea2 (commit)
       via  499de1b6987b0d26b03ac25e06ad41dbc64f5f26 (commit)
       via  1be1f93a991dd0172debb6f6f5371b82fd3e950c (commit)
       via  c274fff2b9736ccb8d58fe890ce39109585bc477 (commit)
       via  a5df084452a0c35f114f019854983a8cf7fdc1e4 (commit)
       via  c2e02cfa56813570cca008cd86491918abcdd4b8 (commit)
       via  03a69f086df284607606d74838b772c05cc9793e (commit)
       via  a99699255d04d1068a4807a119c5a2b967f6d6f1 (commit)
       via  91d92eade9b57f7baaa2c255d07ca42347f9204b (commit)
       via  601e037e8e18057678379ee347c5a4f02874cf33 (commit)
       via  5a26f459fc426a89e68d9e14d3672c2a8c67b15a (commit)
       via  b83c685cd25409cd1f384da01d3cd426b2efdbe3 (commit)
       via  34669dd2ed9725f034bb56c05ed53b5204951195 (commit)
       via  75a879d324cc7c934141a19636796b0e6a413863 (commit)
       via  b0f93df7fecd942b547f3f26138b8d4e524ceb77 (commit)
       via  ba15817d6ccb5496a44e51a6e9a7cb82e93de84c (commit)
       via  93cb87058b1b0557ca9d766f5c0363bd437dcc8c (commit)
       via  1f5de7484fa5977a31f02b218a1b745ea3d908bd (commit)
       via  afd0ae8df48a2757ca2e090f248aa182c767fb66 (commit)
       via  f7c014ebf61934b43a9eaa549cbec124fad44aab (commit)
       via  e88a6525f9ca04aad5afa8ddb045afb31195d037 (commit)
       via  c97eb2bc31d91975be87a349dbe716144502d585 (commit)
       via  a9462c6b594300ea2f00c850792dcaf32bcdb5dc (commit)
      from  79092f2cbcd7ede37a20ce6119dc6883ba85849c (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email.

- Log -----------------------------------------------------------------
commit 3cd716647153e0f83b170235cf409ec9779f19cc
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Sat Jan 15 12:33:57 2011 +0100

    Fix the merge.

commit 0642db1cdb31c66c18c2b2c0929dc72358164459
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Fri Jan 14 10:21:17 2011 +0100

    diff reduction / fix

commit 809b81fbd06cc4a3c5a1b930a53ecb6304d31a58
Merge: 79092f2 c382ea4
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Fri Jan 14 10:17:16 2011 +0100

    Merge remote branch 'origin/master' into archer-jankratochvil-vla
    
    Conflicts:
    	gdb/dwarf2loc.c
    	gdb/dwarf2read.c
    	gdb/eval.c
    	gdb/findvar.c
    	gdb/valarith.c

-----------------------------------------------------------------------

Summary of changes:
 ChangeLog                                 |   10 +
 bfd/ChangeLog                             |   71 ++
 bfd/bfd-in2.h                             |    6 +
 bfd/elf32-arm.c                           | 1026 ++++++++++++++++++++++++---
 bfd/elf64-x86-64.c                        |   26 +-
 bfd/libbfd.h                              |    6 +
 bfd/reloc.c                               |   12 +
 bfd/version.h                             |    2 +-
 configure                                 |    4 +-
 configure.ac                              |    4 +-
 gdb/ChangeLog                             |  497 +++++++++++++
 gdb/Makefile.in                           |    5 +-
 gdb/NEWS                                  |    3 +
 gdb/ada-lang.c                            |   19 +-
 gdb/ada-valprint.c                        |   22 +-
 gdb/arm-tdep.c                            |   10 +-
 gdb/breakpoint.c                          |  330 ++++++---
 gdb/breakpoint.h                          |   33 +-
 gdb/c-lang.c                              |    4 +-
 gdb/charset.c                             |   16 +-
 gdb/coffread.c                            |    6 +-
 gdb/config/ia64/hpux.mh                   |    3 +
 gdb/configure.host                        |    6 +
 gdb/configure.tgt                         |    7 +-
 gdb/disasm.c                              |   14 +-
 gdb/doc/ChangeLog                         |   19 +-
 gdb/doc/gdb.texinfo                       |  106 +--
 gdb/dwarf2loc.c                           |    3 +-
 gdb/dwarf2read.c                          |    9 +-
 gdb/eval.c                                |    3 +-
 gdb/findvar.c                             |  123 ++--
 gdb/fork-child.c                          |    2 +-
 gdb/gdbtypes.c                            |   62 ++
 gdb/gdbtypes.h                            |    2 +
 gdb/h8300-tdep.c                          |   16 +-
 gdb/hpux-thread.c                         |   13 -
 gdb/ia64-hpux-nat.c                       |  703 ++++++++++++++++++
 gdb/ia64-hpux-tdep.c                      |  434 +++++++++++
 gdb/{version.h => ia64-hpux-tdep.h}       |   20 +-
 gdb/ia64-tdep.c                           |  177 ++++-
 gdb/ia64-tdep.h                           |   45 ++
 gdb/inf-child.c                           |   61 --
 gdb/inf-ttrace.c                          |   53 ++-
 gdb/inflow.c                              |    4 +-
 gdb/iq2000-tdep.c                         |    2 +-
 gdb/libunwind-frame.c                     |   30 +-
 gdb/linux-nat.c                           |   22 +-
 gdb/m32c-tdep.c                           |   12 +-
 gdb/mep-tdep.c                            |   28 +-
 gdb/mi/mi-cmd-break.c                     |   22 +-
 gdb/mi/mi-cmd-disas.c                     |   42 +-
 gdb/mi/mi-cmd-env.c                       |   14 +-
 gdb/mi/mi-cmd-file.c                      |   10 +-
 gdb/mi/mi-cmd-stack.c                     |   16 +-
 gdb/mi/mi-cmd-target.c                    |   12 +-
 gdb/mi/mi-cmd-var.c                       |   46 +-
 gdb/mi/mi-interp.c                        |    9 +-
 gdb/mi/mi-main.c                          |   38 +-
 gdb/mi/mi-symbol-cmds.c                   |    4 +-
 gdb/nto-procfs.c                          |   13 +-
 gdb/nto-tdep.c                            |    6 +-
 gdb/nto-tdep.h                            |    4 +-
 gdb/objc-exp.y                            |   32 +-
 gdb/objc-lang.c                           |   71 +-
 gdb/objfiles.c                            |   62 +-
 gdb/objfiles.h                            |   77 +-
 gdb/observer.c                            |   14 +-
 gdb/opencl-lang.c                         |    6 +-
 gdb/osabi.c                               |    2 +-
 gdb/p-exp.y                               |   92 ++-
 gdb/p-lang.c                              |   10 +-
 gdb/p-typeprint.c                         |   34 +-
 gdb/p-valprint.c                          |   32 +-
 gdb/parse.c                               |   52 +-
 gdb/parser-defs.h                         |   16 +-
 gdb/posix-hdep.c                          |    2 +-
 gdb/ppc-linux-nat.c                       |  214 ++++---
 gdb/ppc-linux-tdep.c                      |   30 +-
 gdb/ppc-linux-tdep.h                      |    2 +-
 gdb/ppc-sysv-tdep.c                       |   32 +-
 gdb/ppc-tdep.h                            |   26 +-
 gdb/ppcbug-rom.c                          |   11 +-
 gdb/ppcnbsd-tdep.c                        |    4 +-
 gdb/ppcobsd-tdep.c                        |    4 +-
 gdb/ppcobsd-tdep.h                        |    2 +-
 gdb/printcmd.c                            |   39 +-
 gdb/proc-api.c                            |    4 +-
 gdb/proc-flags.c                          |    4 +-
 gdb/proc-utils.h                          |    2 +-
 gdb/procfs.c                              |  253 ++++----
 gdb/progspace.h                           |    4 +-
 gdb/prologue-value.c                      |    2 +-
 gdb/prologue-value.h                      |    2 +-
 gdb/psympriv.h                            |   12 +-
 gdb/psymtab.c                             |   62 +-
 gdb/ravenscar-sparc-thread.c              |    4 +-
 gdb/ravenscar-thread.c                    |    5 +-
 gdb/ravenscar-thread.h                    |    2 +-
 gdb/record.c                              |    2 +-
 gdb/regcache.c                            |   10 +-
 gdb/regcache.h                            |    2 +-
 gdb/remote-fileio.c                       |   42 +-
 gdb/remote-fileio.h                       |    6 +-
 gdb/remote-m32r-sdi.c                     |  104 ++--
 gdb/remote-mips.c                         |  354 +++++----
 gdb/remote-sim.c                          |   57 +-
 gdb/remote.c                              |  118 ++--
 gdb/remote.h                              |    2 +-
 gdb/rs6000-aix-tdep.c                     |   40 +-
 gdb/rs6000-nat.c                          |  128 ++--
 gdb/rs6000-tdep.c                         |  108 ++-
 gdb/s390-tdep.c                           |   21 +-
 gdb/score-tdep.c                          |  157 +++--
 gdb/score-tdep.h                          |   15 +-
 gdb/ser-base.c                            |   51 +-
 gdb/ser-go32.c                            |   72 +-
 gdb/ser-mingw.c                           |    8 +-
 gdb/ser-pipe.c                            |   16 +-
 gdb/ser-tcp.c                             |   31 +-
 gdb/ser-unix.c                            |   34 +-
 gdb/serial.c                              |   28 +-
 gdb/serial.h                              |   22 +-
 gdb/sh-tdep.c                             |  179 +++---
 gdb/sh-tdep.h                             |    4 +-
 gdb/sh64-tdep.c                           |  230 ++++---
 gdb/shnbsd-nat.c                          |    2 +-
 gdb/sol-thread.c                          |    8 +-
 gdb/solib-darwin.c                        |    4 +-
 gdb/solib-frv.c                           |   12 +-
 gdb/solib-ia64-hpux.c                     |  700 ++++++++++++++++++
 gdb/{version.h => solib-ia64-hpux.h}      |   21 +-
 gdb/solib-irix.c                          |   12 +-
 gdb/solib-osf.c                           |   18 +-
 gdb/solib-pa64.c                          |   30 +-
 gdb/solib-som.c                           |   53 +-
 gdb/solib-spu.c                           |    2 +-
 gdb/solib-sunos.c                         |   44 +-
 gdb/solib-svr4.c                          |   27 +-
 gdb/solib.c                               |   14 +-
 gdb/solib.h                               |    6 +-
 gdb/solist.h                              |   12 +-
 gdb/somread.c                             |   28 +-
 gdb/source.c                              |  105 ++--
 gdb/source.h                              |   12 +-
 gdb/sparc-linux-nat.c                     |    3 +-
 gdb/sparc-linux-tdep.c                    |    8 +-
 gdb/sparc-sol2-nat.c                      |    5 +-
 gdb/sparc-sol2-tdep.c                     |    2 +-
 gdb/sparc-tdep.c                          |    4 +-
 gdb/sparc-tdep.h                          |    2 +-
 gdb/sparc64-linux-tdep.c                  |    6 +-
 gdb/sparc64-tdep.c                        |    2 +-
 gdb/spu-tdep.c                            |   34 +-
 gdb/stabsread.c                           |  193 +++---
 gdb/stabsread.h                           |   12 +-
 gdb/stack.c                               |   16 +-
 gdb/symfile.c                             |  163 ++--
 gdb/symfile.h                             |    6 +-
 gdb/symmisc.c                             |   10 +-
 gdb/symtab.c                              |  177 +++---
 gdb/symtab.h                              |  116 ++--
 gdb/target-descriptions.c                 |    2 +-
 gdb/target-descriptions.h                 |    2 +-
 gdb/target-memory.c                       |    2 +-
 gdb/target.c                              |  132 ++--
 gdb/target.h                              |   79 ++-
 gdb/terminal.h                            |    4 +-
 gdb/testsuite/ChangeLog                   |   54 ++
 gdb/testsuite/gdb.base/foll-exec.exp      |    2 +-
 gdb/testsuite/gdb.base/foll-fork.exp      |    2 +-
 gdb/testsuite/gdb.base/foll-vfork.exp     |    2 +-
 gdb/testsuite/gdb.base/interact.exp       |   48 ++
 gdb/testsuite/gdb.fortran/multi-dim.exp   |   77 ++
 gdb/testsuite/gdb.fortran/multi-dim.f90   |   29 +
 gdb/testsuite/gdb.mi/gdb2549.exp          |    2 +-
 gdb/testsuite/gdb.mi/mi-cli.exp           |    6 +-
 gdb/testsuite/gdb.mi/mi-disassemble.exp   |   58 ++-
 gdb/testsuite/gdb.mi/mi-pthreads.exp      |    2 +-
 gdb/testsuite/gdb.mi/mi-regs.exp          |    2 +-
 gdb/testsuite/gdb.mi/mi-stack.exp         |    8 +-
 gdb/testsuite/gdb.mi/mi-var-block.exp     |    2 +-
 gdb/testsuite/gdb.mi/mi-var-cmd.exp       |   10 +-
 gdb/testsuite/gdb.mi/mi2-cli.exp          |    6 +-
 gdb/testsuite/gdb.mi/mi2-disassemble.exp  |   58 ++-
 gdb/testsuite/gdb.mi/mi2-pthreads.exp     |    2 +-
 gdb/testsuite/gdb.mi/mi2-regs.exp         |    2 +-
 gdb/testsuite/gdb.mi/mi2-stack.exp        |    8 +-
 gdb/testsuite/gdb.mi/mi2-var-block.exp    |    2 +-
 gdb/testsuite/gdb.mi/mi2-var-cmd.exp      |   10 +-
 gdb/testsuite/gdb.python/py-cmd.exp       |   18 +-
 gdb/testsuite/gdb.python/py-function.exp  |   18 +-
 gdb/testsuite/gdb.python/py-infthread.exp |    2 +
 gdb/testsuite/gdb.python/python.exp       |   18 -
 gdb/thread.c                              |   36 +-
 gdb/top.c                                 |   16 +-
 gdb/tracepoint.c                          |  171 +++---
 gdb/tracepoint.h                          |    4 +-
 gdb/trad-frame.h                          |    4 +-
 gdb/typeprint.c                           |    6 +-
 gdb/ui-file.c                             |   22 +-
 gdb/ui-file.h                             |   20 +-
 gdb/ui-out.c                              |   60 +-
 gdb/ui-out.h                              |   20 +-
 gdb/utils.c                               |   82 +-
 gdb/v850-tdep.c                           |   16 +-
 gdb/valarith.c                            |   63 +-
 gdb/valops.c                              |   46 +-
 gdb/valprint.c                            |  112 ++--
 gdb/valprint.h                            |    2 +-
 gdb/value.c                               |   52 +-
 gdb/value.h                               |    2 +-
 gdb/varobj.c                              |  317 ++++----
 gdb/varobj.h                              |   16 +-
 gdb/vax-tdep.c                            |    2 +-
 gdb/vec.c                                 |    6 +-
 gdb/vec.h                                 |   28 +-
 gdb/version.h                             |    4 +-
 gdb/version.in                            |    2 +-
 gdb/windows-nat.c                         |  247 ++++---
 gdb/windows-tdep.c                        |   25 +-
 gdb/xcoffread.c                           |  207 +++---
 gdb/xcoffsolib.c                          |    2 +-
 gdb/xml-support.c                         |    8 +-
 gdb/xstormy16-tdep.c                      |   88 ++-
 gdb/xtensa-tdep.c                         |   90 ++-
 gdb/xtensa-tdep.h                         |    4 +-
 include/ChangeLog                         |    4 +
 include/dwarf2.h                          |    2 +-
 include/elf/ChangeLog                     |    7 +
 include/elf/arm.h                         |    8 +-
 include/gdb/ChangeLog                     |    5 +
 include/gdb/remote-sim.h                  |   12 +-
 ltmain.sh                                 |    2 +-
 opcodes/ChangeLog                         |   13 +
 opcodes/mips-dis.c                        |    3 +-
 opcodes/po/da.po                          | 1140 ++++++++++++++++++++++++-----
 opcodes/rx-dis.c                          |    1 +
 sim/common/ChangeLog                      |   33 +
 sim/common/aclocal.m4                     |    5 +-
 sim/common/hw-device.h                    |    6 +-
 sim/common/sim-hw.c                       |    2 +-
 sim/common/sim-hw.h                       |    2 +-
 sim/common/sim-memopt.c                   |   40 +-
 sim/common/sim-module.c                   |    3 +-
 sim/common/sim-options.c                  |    7 +-
 sim/common/sim-utils.c                    |    7 +-
 sim/common/sim-watch.c                    |    7 +-
 sim/erc32/ChangeLog                       |    5 +
 sim/erc32/interf.c                        |    2 +-
 sim/h8300/ChangeLog                       |    5 +
 sim/h8300/compile.c                       |    2 +-
 sim/m32c/ChangeLog                        |    5 +
 sim/m32c/gdb-if.c                         |    4 +-
 sim/mn10300/ChangeLog                     |    5 +
 sim/mn10300/interp.c                      |    2 +-
 sim/ppc/ChangeLog                         |    5 +
 sim/ppc/gdb-sim.c                         |    2 +-
 sim/rx/ChangeLog                          |    5 +
 sim/rx/gdb-if.c                           |    6 +-
 sim/v850/ChangeLog                        |    5 +
 sim/v850/interp.c                         |    2 +-
 261 files changed, 9115 insertions(+), 3957 deletions(-)
 create mode 100644 gdb/config/ia64/hpux.mh
 create mode 100644 gdb/ia64-hpux-nat.c
 create mode 100644 gdb/ia64-hpux-tdep.c
 copy gdb/{version.h => ia64-hpux-tdep.h} (62%)
 create mode 100644 gdb/solib-ia64-hpux.c
 copy gdb/{version.h => solib-ia64-hpux.h} (62%)
 create mode 100644 gdb/testsuite/gdb.base/interact.exp
 create mode 100644 gdb/testsuite/gdb.fortran/multi-dim.exp
 create mode 100644 gdb/testsuite/gdb.fortran/multi-dim.f90

First 500 lines of diff:
diff --git a/ChangeLog b/ChangeLog
index 5a48a71..aeb360f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,13 @@
+2010-12-10  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+
+	* ltmain.sh (relink): Use absolute path when hardcoding with -L.
+
+2011-01-13  Joel Brobecker  <brobecker@adacore.com>
+
+	* configure.ac: Remove readline, mmalloc, and gdb from noconfigdirs
+	for ia64-hpux.
+	* configure: Regenerate.
+
 2011-01-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
 
 	Sync from GCC:
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index c2c0157..326b326 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,3 +1,74 @@
+2011-01-13  H.J. Lu  <hongjiu.lu@intel.com>
+
+	* elf64-x86-64.c (elf_x86_64_link_hash_table): Remove
+	swap_reloca_out.
+	(elf_x86_64_link_hash_table_create): Don't set swap_reloca_out.
+	(elf_x86_64_check_relocs): Align relocation section to 4 byte
+	for 32bit.
+	(elf_x86_64_gc_sweep_hook): Replace ELF64_ST_TYPE with
+	ELF_ST_TYPE.
+	(elf_x86_64_finish_dynamic_symbol): Updated.
+	(elf_x86_64_finish_dynamic_sections): Don't use
+	Elf64_External_Dyn, bfd_elf64_swap_dyn_in, nor
+	bfd_elf64_swap_dyn_out.
+
+2011-01-14  J. Park  <grassman@gmail.com>
+
+	PR ld/12339
+	* elf32-arm.c (allocate_dynrelocs): Don't set up eh before
+	following bfd_link_hash_warning symbol link.
+
+2011-01-10  Nathan Sidwell  <nathan@codesourcery.com>
+	    Glauber de Oliveira Costa  <glommer@gmail.com>
+
+	* reloc.c (BFD_RELOC_ARM_TLS_GOTDESC, BFD_RELOC_ARM_TLS_CALL,
+	BFD_RELOC_ARM_THM_TLS_CALL, BFD_RELOC_ARM_TLS_DESCSEQ,
+	BFD_RELOC_ARM_THM_TLS_DESCSEQ, BFD_RELOC_ARM_TLS_DESC): New
+	relocations.
+	* libbfd.h: Rebuilt.
+	* bfd-in2.h: Rebuilt.
+	* elf32-arm.c (elf32_arm_howto_table_1): Add new relocations.
+	(elf32_arm_reloc_map): Likewise.
+	(tls_trampoline, dl_tlsdesc_lazy_trampoline): New PLT templates.
+	(elf32_arm_stub_long_branch_any_tls_pic,
+	elf32_arm_stub_long_branch_v4t_thumb_tls_pic): New stub templates.
+	(DEF_STUBS): Add new stubs.
+	(struct_elf_arm_obj_data): Add local_tlsdesc_gotent field.
+	(elf32_arm_local_tlsdesc_gotent): New.
+	(GOT_TLS_GDESC): New mask.
+	(GOT_TLS_GD_ANY): Define.
+	(struct elf32_arm_link_hash_entry): Add tlsdesc_got field.
+	(elf32_arm_compute_jump_table_size): New.
+	(struct elf32_arm_link_hash_table): Add next_tls_desc_index,
+	num_tls_desc, dt_tlsdesc_plt, dt_tlsdesc_got, tls_trampoline,
+	sgotplt_jump_table_size fields.
+	(elf32_arm_link_hash_newfunc): Initialize tlsdesc_got field.
+	(elf32_arm_link_hash_table_create): Initialize new fields.
+	(arm_type_of_stub): Check TLS desc relocs too.
+	(elf32_arm_stub_name): TLS desc relocs can be shared.
+	(elf32_arm_tls_transition): Determine relaxation.
+	(arm_stub_required_alignment): Add tls stubs.
+	(elf32_arm_size_stubs): Likewise.
+	(elf32_arm_tls_relax): Perform TLS relaxing.
+	(elf32_arm_final_link_relocate): Process TLS DESC relocations.
+	(IS_ARM_TLS_GNU_RELOC): New.
+	(IS_ARM_TLS_RELOC): Use it.
+	(elf32_arm_relocate_section): Perform TLS relaxing.
+	(elf32_arm_check_relocs): Anticipate TLS relaxing, process tls
+	desc relocations.
+	(allocate_dynrelocs): Allocate tls desc relcoations.
+	(elf32_arm_output_arch_local_syms): Emit tls trampoline mapping
+	symbols.
+	(elf32_arm_size_dynamic_sections): Allocate tls trampolines and
+	got slots.
+	(elf32_arm_always_size_sections): New. Create _TLS_MODULE_BASE
+	symbol.
+	(elf32_arm_finish_dynamic_symbol): Adjust.
+	(arm_put_trampoline): New.
+	(elf32_arm_finish_dynamic_sections): Emit new dynamic tags and tls
+	trampolines.
+	(elf_backend_always_size_sections): Define.
+
 2011-01-06  H.J. Lu  <hongjiu.lu@intel.com>
 
 	* elf-ifunc.c (_bfd_elf_allocate_ifunc_dyn_relocs): Optimized.
diff --git a/bfd/bfd-in2.h b/bfd/bfd-in2.h
index 8531f8d..84fc75d 100644
--- a/bfd/bfd-in2.h
+++ b/bfd/bfd-in2.h
@@ -3146,6 +3146,12 @@ pc-relative or some form of GOT-indirect relocation.  */
   BFD_RELOC_ARM_TLS_TPOFF32,
   BFD_RELOC_ARM_TLS_IE32,
   BFD_RELOC_ARM_TLS_LE32,
+  BFD_RELOC_ARM_TLS_GOTDESC,
+  BFD_RELOC_ARM_TLS_CALL,
+  BFD_RELOC_ARM_THM_TLS_CALL,
+  BFD_RELOC_ARM_TLS_DESCSEQ,
+  BFD_RELOC_ARM_THM_TLS_DESCSEQ,
+  BFD_RELOC_ARM_TLS_DESC,
 
 /* ARM group relocations.  */
   BFD_RELOC_ARM_ALU_PC_G0_NC,
diff --git a/bfd/elf32-arm.c b/bfd/elf32-arm.c
index 7c8eb68..6fdd500 100644
--- a/bfd/elf32-arm.c
+++ b/bfd/elf32-arm.c
@@ -1,6 +1,6 @@
 /* 32-bit ELF support for ARM
    Copyright 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007,
-   2008, 2009, 2010  Free Software Foundation, Inc.
+   2008, 2009, 2010, 2011  Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
@@ -261,18 +261,18 @@ static reloc_howto_type elf32_arm_howto_table_1[] =
 	 0xffffffff,		/* dst_mask */
 	 FALSE),		/* pcrel_offset */
 
-  HOWTO (R_ARM_SWI24,		/* type */
+  HOWTO (R_ARM_TLS_DESC,	/* type */
 	 0,			/* rightshift */
-	 0,			/* size (0 = byte, 1 = short, 2 = long) */
-	 0,			/* bitsize */
+	 2,			/* size (0 = byte, 1 = short, 2 = long) */
+	 32,			/* bitsize */
 	 FALSE,			/* pc_relative */
 	 0,			/* bitpos */
-	 complain_overflow_signed,/* complain_on_overflow */
+	 complain_overflow_bitfield,/* complain_on_overflow */
 	 bfd_elf_generic_reloc,	/* special_function */
-	 "R_ARM_SWI24",		/* name */
+	 "R_ARM_TLS_DESC",	/* name */
 	 FALSE,			/* partial_inplace */
-	 0x00000000,		/* src_mask */
-	 0x00000000,		/* dst_mask */
+	 0xffffffff,		/* src_mask */
+	 0xffffffff,		/* dst_mask */
 	 FALSE),		/* pcrel_offset */
 
   HOWTO (R_ARM_THM_SWI8,	/* type */
@@ -1352,10 +1352,61 @@ static reloc_howto_type elf32_arm_howto_table_1[] =
 	 0x040f70ff,		/* dst_mask */
 	 FALSE),		/* pcrel_offset */
 
-  EMPTY_HOWTO (90),   /* Unallocated.  */
-  EMPTY_HOWTO (91),
-  EMPTY_HOWTO (92),
-  EMPTY_HOWTO (93),
+  HOWTO (R_ARM_TLS_GOTDESC,	/* type */
+	 0,			/* rightshift */
+	 2,			/* size (0 = byte, 1 = short, 2 = long) */
+	 32,			/* bitsize */
+	 FALSE,			/* pc_relative */
+	 0,			/* bitpos */
+	 complain_overflow_bitfield,/* complain_on_overflow */
+	 NULL,			/* special_function */
+	 "R_ARM_TLS_GOTDESC",	/* name */
+	 TRUE,			/* partial_inplace */
+	 0xffffffff,		/* src_mask */
+	 0xffffffff,		/* dst_mask */
+	 FALSE),		/* pcrel_offset */
+
+  HOWTO (R_ARM_TLS_CALL,	/* type */
+	 0,			/* rightshift */
+	 2,			/* size (0 = byte, 1 = short, 2 = long) */
+	 24,			/* bitsize */
+	 FALSE,			/* pc_relative */
+	 0,			/* bitpos */
+	 complain_overflow_dont,/* complain_on_overflow */
+	 bfd_elf_generic_reloc,	/* special_function */
+	 "R_ARM_TLS_CALL",	/* name */
+	 FALSE,			/* partial_inplace */
+	 0x00ffffff,		/* src_mask */
+	 0x00ffffff,		/* dst_mask */
+	 FALSE),		/* pcrel_offset */
+
+  HOWTO (R_ARM_TLS_DESCSEQ,	/* type */
+	 0,			/* rightshift */
+	 2,			/* size (0 = byte, 1 = short, 2 = long) */
+	 0,			/* bitsize */
+	 FALSE,			/* pc_relative */
+	 0,			/* bitpos */
+	 complain_overflow_bitfield,/* complain_on_overflow */
+	 bfd_elf_generic_reloc,	/* special_function */
+	 "R_ARM_TLS_DESCSEQ",	/* name */
+	 FALSE,			/* partial_inplace */
+	 0x00000000,		/* src_mask */
+	 0x00000000,		/* dst_mask */
+	 FALSE),		/* pcrel_offset */
+
+  HOWTO (R_ARM_THM_TLS_CALL,	/* type */
+	 0,			/* rightshift */
+	 2,			/* size (0 = byte, 1 = short, 2 = long) */
+	 24,			/* bitsize */
+	 FALSE,			/* pc_relative */
+	 0,			/* bitpos */
+	 complain_overflow_dont,/* complain_on_overflow */
+	 bfd_elf_generic_reloc,	/* special_function */
+	 "R_ARM_THM_TLS_CALL",	/* name */
+	 FALSE,			/* partial_inplace */
+	 0x07ff07ff,		/* src_mask */
+	 0x07ff07ff,		/* dst_mask */
+	 FALSE),		/* pcrel_offset */
 
   HOWTO (R_ARM_PLT32_ABS,	/* type */
 	 0,			/* rightshift */
@@ -1599,6 +1650,38 @@ static reloc_howto_type elf32_arm_howto_table_1[] =
 	 0x00000fff,		/* src_mask */
 	 0x00000fff,		/* dst_mask */
 	 FALSE),		/* pcrel_offset */
+
+  EMPTY_HOWTO (112),
+  EMPTY_HOWTO (113),
+  EMPTY_HOWTO (114),
+  EMPTY_HOWTO (115),
+  EMPTY_HOWTO (116),
+  EMPTY_HOWTO (117),
+  EMPTY_HOWTO (118),
+  EMPTY_HOWTO (119),
+  EMPTY_HOWTO (120),
+  EMPTY_HOWTO (121),
+  EMPTY_HOWTO (122),
+  EMPTY_HOWTO (123),
+  EMPTY_HOWTO (124),
+  EMPTY_HOWTO (125),
+  EMPTY_HOWTO (126),
+  EMPTY_HOWTO (127),
+  EMPTY_HOWTO (128),
+
+  HOWTO (R_ARM_THM_TLS_DESCSEQ,	/* type */
+	 0,			/* rightshift */
+	 1,			/* size (0 = byte, 1 = short, 2 = long) */
+	 0,			/* bitsize */
+	 FALSE,			/* pc_relative */
+	 0,			/* bitpos */
+	 complain_overflow_bitfield,/* complain_on_overflow */
+	 bfd_elf_generic_reloc,	/* special_function */
+	 "R_ARM_THM_TLS_DESCSEQ",/* name */
+	 FALSE,			/* partial_inplace */
+	 0x00000000,		/* src_mask */
+	 0x00000000,		/* dst_mask */
+	 FALSE),		/* pcrel_offset */
 };
 
 /* 112-127 private relocations
@@ -1730,6 +1813,12 @@ static const struct elf32_arm_reloc_map elf32_arm_reloc_map[] =
     {BFD_RELOC_ARM_PREL31,	     R_ARM_PREL31},
     {BFD_RELOC_ARM_TARGET2,	     R_ARM_TARGET2},
     {BFD_RELOC_ARM_PLT32,            R_ARM_PLT32},
+    {BFD_RELOC_ARM_TLS_GOTDESC,      R_ARM_TLS_GOTDESC},
+    {BFD_RELOC_ARM_TLS_CALL,         R_ARM_TLS_CALL},
+    {BFD_RELOC_ARM_THM_TLS_CALL,     R_ARM_THM_TLS_CALL},
+    {BFD_RELOC_ARM_TLS_DESCSEQ,      R_ARM_TLS_DESCSEQ},
+    {BFD_RELOC_ARM_THM_TLS_DESCSEQ,  R_ARM_THM_TLS_DESCSEQ},
+    {BFD_RELOC_ARM_TLS_DESC,         R_ARM_TLS_DESC},
     {BFD_RELOC_ARM_TLS_GD32,	     R_ARM_TLS_GD32},
     {BFD_RELOC_ARM_TLS_LDO32,	     R_ARM_TLS_LDO32},
     {BFD_RELOC_ARM_TLS_LDM32,	     R_ARM_TLS_LDM32},
@@ -1912,6 +2001,26 @@ typedef unsigned short int insn16;
    section.  */
 #define ELF_DYNAMIC_INTERPRETER     "/usr/lib/ld.so.1"
 
+static const unsigned long tls_trampoline [] =
+  {
+    0xe08e0000,		/* add r0, lr, r0 */
+    0xe5901004,		/* ldr r1, [r0,#4] */
+    0xe12fff11,		/* bx  r1 */
+  };
+
+static const unsigned long dl_tlsdesc_lazy_trampoline [] =
+  {
+    0xe52d2004, /*	push    {r2}			*/
+    0xe59f200c, /*      ldr     r2, [pc, #3f - . - 8]	*/
+    0xe59f100c, /*      ldr     r1, [pc, #4f - . - 8]	*/
+    0xe79f2002, /* 1:   ldr     r2, [pc, r2]		*/
+    0xe081100f, /* 2:   add     r1, pc			*/
+    0xe12fff12, /*      bx      r2			*/
+    0x00000014, /* 3:   .word  _GLOBAL_OFFSET_TABLE_ - 1b - 8
+		   		+ dl_tlsdesc_lazy_resolver(GOT)   */
+    0x00000018, /* 4:   .word  _GLOBAL_OFFSET_TABLE_ - 2b - 8 */ 
+  };
+
 #ifdef FOUR_WORD_PLT
 
 /* The first entry in a procedure linkage table looks like
@@ -2167,6 +2276,26 @@ static const insn_sequence elf32_arm_stub_long_branch_v4t_thumb_thumb_pic[] =
     DATA_WORD(0, R_ARM_REL32, 0),     /* dcd  R_ARM_REL32(X) */
   };
 
+/* Thumb2/ARM -> TLS trampoline.  Lowest common denominator, which is a
+   long PIC stub.  We can use r1 as a scratch -- and cannot use ip.  */
+static const insn_sequence elf32_arm_stub_long_branch_any_tls_pic[] =
+{
+    ARM_INSN(0xe59f1000),             /* ldr   r1, [pc] */
+    ARM_INSN(0xe08ff001),             /* add   pc, pc, r1 */
+    DATA_WORD(0, R_ARM_REL32, -4),    /* dcd   R_ARM_REL32(X-4) */
+};
+
+/* V4T Thumb -> TLS trampoline.  lowest common denominator, which is a
+   long PIC stub.  We can use r1 as a scratch -- and cannot use ip.  */
+static const insn_sequence elf32_arm_stub_long_branch_v4t_thumb_tls_pic[] =
+{
+    THUMB16_INSN(0x4778),             /* bx   pc */
+    THUMB16_INSN(0x46c0),             /* nop */
+    ARM_INSN(0xe59f1000),             /* ldr  r1, [pc, #0] */
+    ARM_INSN(0xe081f00f),             /* add  pc, r1, pc */
+    DATA_WORD(0, R_ARM_REL32, -4),    /* dcd  R_ARM_REL32(X) */
+};
+
 /* Cortex-A8 erratum-workaround stubs.  */
 
 /* Stub used for conditional branches (which may be beyond +/-1MB away, so we
@@ -2218,6 +2347,8 @@ static const insn_sequence elf32_arm_stub_a8_veneer_blx[] =
   DEF_STUB(long_branch_v4t_arm_thumb_pic) \
   DEF_STUB(long_branch_v4t_thumb_arm_pic) \
   DEF_STUB(long_branch_thumb_only_pic) \
+  DEF_STUB(long_branch_any_tls_pic) \
+  DEF_STUB(long_branch_v4t_thumb_tls_pic) \
   DEF_STUB(a8_veneer_b_cond) \
   DEF_STUB(a8_veneer_b) \
   DEF_STUB(a8_veneer_bl) \
@@ -2426,6 +2557,9 @@ struct elf_arm_obj_tdata
   /* tls_type for each local got entry.  */
   char *local_got_tls_type;
 
+  /* GOTPLT entries for TLS descriptors.  */
+  bfd_vma *local_tlsdesc_gotent;
+
   /* Zero to warn when linking objects with incompatible enum sizes.  */
   int no_enum_size_warning;
 
@@ -2439,6 +2573,9 @@ struct elf_arm_obj_tdata
 #define elf32_arm_local_got_tls_type(bfd) \
   (elf_arm_tdata (bfd)->local_got_tls_type)
 
+#define elf32_arm_local_tlsdesc_gotent(bfd) \
+  (elf_arm_tdata (bfd)->local_tlsdesc_gotent)
+
 #define is_arm_elf(bfd) \
   (bfd_get_flavour (bfd) == bfd_target_elf_flavour \
    && elf_tdata (bfd) != NULL \
@@ -2478,8 +2615,14 @@ struct elf32_arm_link_hash_entry
 #define GOT_NORMAL	1
 #define GOT_TLS_GD	2
 #define GOT_TLS_IE	4
+#define GOT_TLS_GDESC	8
+#define GOT_TLS_GD_ANY_P(type)	((type & GOT_TLS_GD) || (type & GOT_TLS_GDESC))
     unsigned char tls_type;
 
+    /* Offset of the GOTPLT entry reserved for the TLS descriptor,
+       starting at the end of the jump table.  */
+    bfd_vma tlsdesc_got;
+
     /* The symbol marking the real symbol location for exported thumb
        symbols with Arm stubs.  */
     struct elf_link_hash_entry *export_glue;
@@ -2516,6 +2659,9 @@ struct map_stub
   asection *stub_sec;
 };
 
+#define elf32_arm_compute_jump_table_size(htab) \
+  ((htab)->next_tls_desc_index * 4)
+
 /* ARM ELF linker hash table.  */
 struct elf32_arm_link_hash_table
 {
@@ -2594,6 +2740,12 @@ struct elf32_arm_link_hash_table
   /* True if the target uses REL relocations.  */
   int use_rel;
 
+  /* The index of the next unused R_ARM_TLS_DESC slot in .rel.plt.  */
+  bfd_vma next_tls_desc_index;
+
+  /* How many R_ARM_TLS_DESC relocations were generated so far.  */
+  bfd_vma num_tls_desc;
+
   /* Short-cuts to get to dynamic linker sections.  */
   asection *sdynbss;
   asection *srelbss;
@@ -2601,6 +2753,19 @@ struct elf32_arm_link_hash_table
   /* The (unloaded but important) VxWorks .rela.plt.unloaded section.  */
   asection *srelplt2;
 
+  /* The offset into splt of the PLT entry for the TLS descriptor
+     resolver.  Special values are 0, if not necessary (or not found
+     to be necessary yet), and -1 if needed but not determined
+     yet.  */
+  bfd_vma dt_tlsdesc_plt;
+
+  /* The offset into sgot of the GOT entry used by the PLT entry
+     above.  */
+  bfd_vma dt_tlsdesc_got;    
+
+  /* Offset in .plt section of tls_arm_trampoline.  */
+  bfd_vma tls_trampoline;
+
   /* Data for R_ARM_TLS_LDM32 relocations.  */
   union
   {
@@ -2614,6 +2779,10 @@ struct elf32_arm_link_hash_table
   /* For convenience in allocate_dynrelocs.  */
   bfd * obfd;
 
+  /* The amount of space used by the reserved portion of the sgotplt
+     section, plus whatever space is used by the jump slots.  */
+  bfd_vma sgotplt_jump_table_size;
+
   /* The stub hash table.  */
   struct bfd_hash_table stub_hash_table;
 
@@ -2663,6 +2832,7 @@ elf32_arm_link_hash_newfunc (struct bfd_hash_entry * entry,
     {
       ret->dyn_relocs = NULL;
       ret->tls_type = GOT_UNKNOWN;
+      ret->tlsdesc_got = (bfd_vma) -1;
       ret->plt_thumb_refcount = 0;
       ret->plt_maybe_thumb_refcount = 0;
       ret->plt_got_offset = -1;
@@ -2877,6 +3047,11 @@ elf32_arm_link_hash_table_create (bfd *abfd)
   ret->sdynbss = NULL;
   ret->srelbss = NULL;
   ret->srelplt2 = NULL;
+  ret->dt_tlsdesc_plt = 0;
+  ret->dt_tlsdesc_got = 0;
+  ret->tls_trampoline = 0;
+  ret->next_tls_desc_index = 0;
+  ret->num_tls_desc = 0;
   ret->thumb_glue_size = 0;
   ret->arm_glue_size = 0;
   ret->bx_glue_size = 0;
@@ -3075,7 +3250,8 @@ arm_type_of_stub (struct bfd_link_info *info,
 
   branch_offset = (bfd_signed_vma)(destination - location);
 
-  if (r_type == R_ARM_THM_CALL || r_type == R_ARM_THM_JUMP24)
+  if (r_type == R_ARM_THM_CALL || r_type == R_ARM_THM_JUMP24
+      || r_type == R_ARM_THM_TLS_CALL)
     {
       /* Handle cases where:
 	 - this call goes too far (different Thumb/Thumb2 max
@@ -3092,7 +3268,8 @@ arm_type_of_stub (struct bfd_link_info *info,
 	      && (branch_offset > THM2_MAX_FWD_BRANCH_OFFSET
 		  || (branch_offset < THM2_MAX_BWD_BRANCH_OFFSET)))
 	  || ((st_type != STT_ARM_TFUNC)
-	      && (((r_type == R_ARM_THM_CALL) && !globals->use_blx)
+	      && (((r_type == R_ARM_THM_CALL
+		    || r_type == R_ARM_THM_TLS_CALL) && !globals->use_blx)
 		  || (r_type == R_ARM_THM_JUMP24))
 	      && !use_plt))
 	{
@@ -3143,18 +3320,21 @@ arm_type_of_stub (struct bfd_link_info *info,
 		     sym_sec->owner, input_bfd, name);
 		}
 
-	      stub_type = (info->shared | globals->pic_veneer)
+	      stub_type =
+		(info->shared | globals->pic_veneer)
 		/* PIC stubs.  */
-		? ((globals->use_blx
-		    && (r_type ==R_ARM_THM_CALL))
-		   /* V5T and above.  */
-		   ? arm_stub_long_branch_any_arm_pic
-		   /* V4T PIC stub.  */
-		   : arm_stub_long_branch_v4t_thumb_arm_pic)
+		? (r_type == R_ARM_THM_TLS_CALL
+		   /* TLS PIC stubs */
+		   ? (globals->use_blx ? arm_stub_long_branch_any_tls_pic
+		      : arm_stub_long_branch_v4t_thumb_tls_pic)
+		   : ((globals->use_blx && r_type == R_ARM_THM_CALL)
+		      /* V5T PIC and above.  */
+		      ? arm_stub_long_branch_any_arm_pic
+		      /* V4T PIC stub.  */
+		      : arm_stub_long_branch_v4t_thumb_arm_pic))
 
 		/* non-PIC stubs.  */
-		: ((globals->use_blx
-		    && (r_type ==R_ARM_THM_CALL))
+		: ((globals->use_blx && r_type == R_ARM_THM_CALL)
 		   /* V5T and above.  */
 		   ? arm_stub_long_branch_any_any
 		   /* V4T.  */
@@ -3170,7 +3350,8 @@ arm_type_of_stub (struct bfd_link_info *info,
     }
   else if (r_type == R_ARM_CALL
 	   || r_type == R_ARM_JUMP24
-	   || r_type == R_ARM_PLT32)
+	   || r_type == R_ARM_PLT32
+	   || r_type == R_ARM_TLS_CALL)


hooks/post-receive
--
Repository for Project Archer.


^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2011-01-15 11:34 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-01-15 11:34 [SCM] archer-jankratochvil-vla: Fix the merge 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).