From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 29276 invoked by alias); 17 Jan 2011 14:13:45 -0000 Mailing-List: contact archer-commits-help@sourceware.org; run by ezmlm Sender: Precedence: bulk List-Post: List-Help: List-Subscribe: Received: (qmail 29149 invoked by uid 9674); 17 Jan 2011 14:13:42 -0000 Date: Mon, 17 Jan 2011 14:13:00 -0000 Message-ID: <20110117141342.29134.qmail@sourceware.org> From: jkratoch@sourceware.org To: archer-commits@sourceware.org Subject: [SCM] archer-jankratochvil-watchpoint3: Merge remote branch 'origin/master' into archer-jankratochvil-watchpoint3 X-Git-Refname: refs/heads/archer-jankratochvil-watchpoint3 X-Git-Reftype: branch X-Git-Oldrev: 2277941ded5f54d3228ed55996fc0b656a0ab532 X-Git-Newrev: b89c833a3b38f5904cafbe4780dee4ce06aa59ab X-SW-Source: 2011-q1/txt/msg00055.txt.bz2 List-Id: The branch, archer-jankratochvil-watchpoint3 has been updated via b89c833a3b38f5904cafbe4780dee4ce06aa59ab (commit) via 54cd47005c5ee2158c538f725502b10fedadefc9 (commit) via 893e939f750c3d0018aca70a5b181f7554973854 (commit) via 0d8306bf351509bad634e46c2f85c942e9a0649e (commit) via afb11568c4568d0b5e90c87ae26ae2f9e1a56665 (commit) via 8714d5976f75118ff9e1b284c73b7a574369bc28 (commit) via 0894b5fe27eb14ef6ba5a8136b9a0ccbf81c9a6e (commit) via ed85087ca82b4eab3963a71f2e653766eb7f80fa (commit) via dc2d67fd3e4bc8d43ece6e1e1d99094bfa380b7a (commit) via e09e73569d08e1331fe321d1e718981422dba1d0 (commit) via 3203bab0c398e48e49ba8769e32d631668df0876 (commit) via 995cd3a81fae4c618e014cd3d2d160cce8789d64 (commit) via 4269a038b0a3f9986ba0ea9e264d1e3414be3de6 (commit) via ef5da9c976a31b13935fc4e68b557e836bb9051c (commit) via a3786c88ba877b599b557aedc98a4e69b4a7986f (commit) via a1a6376c78ed5738c041dac4060103db68479004 (commit) via 654348f5c99e8119e538c96fd974dfab2eaf4e8a (commit) via b439e77336d08eb7a64a7c760d9775770b3d4d9a (commit) via 2c7df889b82de365727725ce224323c1627fc4d0 (commit) via b81a31ca876f98fe3df6cca179cd1b80f56dd634 (commit) via 4e0d07bbdcbb3ea9765e1d044aa32526b5bddf66 (commit) via 92f94c62fe0788276b24d4bd2245fdd67158626e (commit) via 26d2277068ada3d73735650612ca7582dff749ce (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 21bc8baa35cf7b7d555405cc0cd002b0eb4df932 (commit) via a9462c6b594300ea2f00c850792dcaf32bcdb5dc (commit) via 386fd71dbbeacfa996aa39085cc0a987456d6a7e (commit) via 8b05ad8a8a57ea6aa546b97d8984d9966af9de28 (commit) via 6f230b15ca7b6f7d2197c51fb275a858c7b000bc (commit) via 159c035d4daf93dc39c22fbdf29348a0b772fb7c (commit) via 3a45d307627f40de8c5ab6a48839fed985a0467a (commit) via 5afaef5e344ae56eddec74900a39e8492ea22b18 (commit) via 900ace7f9cd7f71e161a97f9d01b85114c1fa70d (commit) via 9a8c65dd2b21512020cdd4b072a4de91bc874744 (commit) via b00ecb8dab24ad52d2641ac537f5db32daba61c7 (commit) via 7f8216b7f23798b10045f214e00af0fb4653ed02 (commit) via 3fda795b388fb7f1ba2caa951a843939d26bfe48 (commit) via b9db6aa13d53bd29df2cc574285c476ae9d6ff0b (commit) via a9ad6cdd26f1ae0c933f0d946b27040df79d4a4c (commit) via 66e56a98073cd68a6636e7fada635b7d93116ebb (commit) via c32f7ee91c7e86c122f9c6c65d8fa90da75ec4b0 (commit) via 15d9da77124a196567420d859a60fd03e4bd8002 (commit) via e5585f82b7440dc4e96287f00be6050ca09f51ca (commit) via 69a1cd8762ef44d74ce707b01e439211400790c9 (commit) from 2277941ded5f54d3228ed55996fc0b656a0ab532 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email. - Log ----------------------------------------------------------------- commit b89c833a3b38f5904cafbe4780dee4ce06aa59ab Merge: 2277941 54cd470 Author: Jan Kratochvil Date: Mon Jan 17 15:10:27 2011 +0100 Merge remote branch 'origin/master' into archer-jankratochvil-watchpoint3 Conflicts: gdb/i386-nat.c gdb/ppc-linux-nat.c ----------------------------------------------------------------------- Summary of changes: ChangeLog | 10 + bfd/ChangeLog | 105 +++ bfd/bfd-in2.h | 6 + bfd/bfd.c | 5 +- bfd/coff-i860.c | 4 +- bfd/coff-ppc.c | 16 +- bfd/coff-sh.c | 5 +- bfd/elf.c | 4 +- bfd/elf32-arm.c | 1026 +++++++++++++++++++-- bfd/elf32-bfin.c | 9 +- bfd/elf32-dlx.c | 12 +- bfd/elf32-mep.c | 9 +- bfd/elf32-v850.c | 4 +- bfd/elf64-x86-64.c | 79 ++- bfd/libbfd.c | 4 +- bfd/libbfd.h | 6 + bfd/mach-o.c | 55 +- bfd/pef.c | 8 +- bfd/reloc.c | 12 + bfd/som.c | 3 +- bfd/version.h | 2 +- configure | 4 +- configure.ac | 4 +- gdb/ChangeLog | 804 ++++++++++++++++ gdb/Makefile.in | 10 +- gdb/NEWS | 3 + gdb/ada-lang.c | 175 ++-- gdb/ada-lang.h | 20 +- gdb/ada-tasks.c | 24 +- gdb/ada-valprint.c | 42 +- gdb/aix-thread.c | 22 +- gdb/alpha-linux-nat.c | 11 +- gdb/alpha-linux-tdep.c | 7 +- gdb/alpha-mdebug-tdep.c | 10 +- gdb/alpha-nat.c | 42 +- gdb/alpha-osf1-tdep.c | 4 +- gdb/alpha-tdep.c | 36 +- gdb/alpha-tdep.h | 6 +- gdb/alphabsd-nat.c | 9 +- gdb/alphabsd-tdep.c | 3 +- gdb/amd64-darwin-tdep.c | 2 +- gdb/amd64-linux-nat.c | 2 +- gdb/amd64-linux-tdep.c | 4 +- gdb/amd64-sol2-tdep.c | 2 +- gdb/amd64-tdep.c | 4 +- gdb/amd64fbsd-tdep.c | 8 +- gdb/amd64nbsd-tdep.c | 2 +- gdb/amd64obsd-tdep.c | 6 +- gdb/arm-linux-nat.c | 4 +- gdb/arm-linux-tdep.c | 22 +- gdb/arm-tdep.c | 177 +++-- gdb/arm-tdep.h | 2 +- gdb/armnbsd-nat.c | 2 +- gdb/avr-tdep.c | 127 ++-- gdb/ax-gdb.c | 5 +- gdb/bfin-tdep.c | 3 +- gdb/bfin-tdep.h | 2 +- gdb/breakpoint.c | 336 +++++--- gdb/breakpoint.h | 33 +- gdb/bsd-kvm.c | 10 +- gdb/c-lang.c | 4 +- gdb/c-typeprint.c | 10 +- gdb/c-valprint.c | 8 +- gdb/charset.c | 24 +- gdb/coff-pe-read.h | 2 +- gdb/coffread.c | 10 +- gdb/config.in | 3 - gdb/config/ia64/hpux.mh | 3 + gdb/configure | 21 - gdb/configure.ac | 16 - gdb/configure.host | 6 + gdb/configure.tgt | 10 +- gdb/cp-abi.c | 6 +- gdb/cris-tdep.c | 63 +- gdb/d-lang.c | 6 +- gdb/darwin-nat-info.c | 2 +- gdb/darwin-nat.c | 14 +- gdb/dbug-rom.c | 8 +- gdb/dbxread.c | 226 +++--- gdb/dcache.c | 8 +- gdb/dcache.h | 8 +- gdb/dec-thread.c | 6 +- gdb/defs.h | 81 +- gdb/demangle.c | 20 +- gdb/dicos-tdep.c | 3 +- gdb/dictionary.c | 4 +- gdb/dictionary.h | 2 +- gdb/dink32-rom.c | 16 +- gdb/disasm.c | 33 +- gdb/doc/ChangeLog | 23 +- gdb/doc/gdb.texinfo | 110 +-- gdb/doublest.c | 24 +- gdb/dsrec.c | 16 +- gdb/dummy-frame.c | 2 +- gdb/dwarf2-frame.c | 6 +- gdb/dwarf2expr.c | 7 +- gdb/dwarf2loc.c | 9 +- gdb/dwarf2read.c | 144 ++-- gdb/elfread.c | 30 +- gdb/environ.c | 2 +- gdb/eval.c | 198 ++--- gdb/event-top.h | 2 +- gdb/exceptions.c | 16 +- gdb/exceptions.h | 8 +- gdb/exec.c | 26 +- gdb/expprint.c | 13 +- gdb/expression.h | 59 +- gdb/f-exp.y | 20 +- gdb/f-lang.c | 40 +- gdb/f-lang.h | 6 +- gdb/f-typeprint.c | 16 +- gdb/f-valprint.c | 42 +- gdb/fbsd-nat.c | 2 +- gdb/findvar.c | 42 +- gdb/fork-child.c | 8 +- gdb/frame.c | 12 +- gdb/frame.h | 10 +- gdb/frv-linux-tdep.c | 33 +- gdb/frv-tdep.c | 23 +- gdb/gcore.c | 4 +- gdb/gdb-stabs.h | 4 +- gdb/gdb_assert.h | 2 +- gdb/gdb_string.h | 2 +- gdb/gdb_thread_db.h | 19 +- gdb/gdb_wait.h | 2 +- gdb/gdbarch.c | 140 ++-- gdb/gdbarch.h | 40 +- gdb/gdbarch.sh | 82 +- gdb/gdbcore.h | 15 +- gdb/gdbthread.h | 6 +- gdb/gdbtypes.c | 112 ++- gdb/gdbtypes.h | 115 ++-- gdb/gnu-nat.c | 170 ++-- gdb/gnu-nat.h | 17 +- gdb/gnu-v2-abi.c | 43 +- gdb/gnu-v3-abi.c | 14 +- gdb/go32-nat.c | 78 +- gdb/h8300-tdep.c | 37 +- gdb/hppa-hpux-nat.c | 28 +- gdb/hppa-hpux-tdep.c | 74 +- gdb/hppa-linux-nat.c | 8 +- gdb/hppa-linux-tdep.c | 22 +- gdb/hppa-tdep.c | 97 +- gdb/hppa-tdep.h | 19 +- gdb/hppanbsd-tdep.c | 5 +- gdb/hpux-thread.c | 586 ------------ gdb/i386-cygwin-tdep.c | 2 +- gdb/i386-darwin-nat.c | 34 +- gdb/i386-linux-nat.c | 34 +- gdb/i386-linux-tdep.c | 7 +- gdb/i386-nat.c | 9 +- gdb/i386-nat.h | 2 +- gdb/i386-sol2-nat.c | 4 +- gdb/i386-stub.c | 4 +- gdb/i386-tdep.c | 61 +- gdb/i386-tdep.h | 11 +- gdb/i386gnu-nat.c | 6 +- gdb/i386nbsd-tdep.c | 6 +- gdb/i387-tdep.c | 8 +- gdb/ia64-hpux-nat.c | 703 ++++++++++++++ gdb/ia64-hpux-tdep.c | 434 +++++++++ gdb/{solib-som.h => ia64-hpux-tdep.h} | 20 +- gdb/ia64-linux-nat.c | 43 +- gdb/ia64-linux-tdep.c | 11 +- gdb/ia64-tdep.c | 430 ++++++--- gdb/ia64-tdep.h | 45 + gdb/inf-child.c | 61 -- gdb/inf-loop.c | 20 +- gdb/inf-ttrace.c | 53 +- gdb/infcall.c | 109 +-- gdb/infcall.h | 2 +- gdb/infcmd.c | 105 +-- gdb/inferior.c | 2 +- gdb/inferior.h | 28 +- gdb/inflow.c | 16 +- gdb/infrun.c | 149 ++-- gdb/interps.c | 38 +- gdb/interps.h | 2 +- gdb/iq2000-tdep.c | 63 +- gdb/irix5-nat.c | 13 +- gdb/jit.c | 33 +- gdb/jit.h | 39 +- gdb/jv-exp.y | 32 +- gdb/jv-lang.c | 90 +- gdb/jv-lang.h | 6 +- gdb/jv-typeprint.c | 8 +- gdb/jv-valprint.c | 22 +- gdb/language.c | 92 +- gdb/language.h | 74 +- gdb/libunwind-frame.c | 30 +- gdb/linespec.c | 91 +- gdb/linux-fork.c | 4 +- gdb/linux-nat.c | 79 +- gdb/linux-thread-db.c | 5 +- gdb/lm32-tdep.c | 16 +- gdb/m2-exp.y | 16 +- gdb/m2-lang.c | 8 +- gdb/m2-typeprint.c | 13 +- gdb/m2-valprint.c | 7 +- gdb/m32c-tdep.c | 27 +- gdb/m32r-linux-nat.c | 5 +- gdb/m32r-rom.c | 113 ++- gdb/m32r-tdep.c | 86 +- gdb/m32r-tdep.h | 6 +- gdb/m68hc11-tdep.c | 27 +- gdb/m68k-tdep.c | 22 +- gdb/m68klinux-nat.c | 42 +- gdb/m88k-tdep.c | 4 +- gdb/m88k-tdep.h | 2 +- gdb/machoread.c | 12 +- gdb/macrocmd.c | 2 +- gdb/macroexp.c | 6 +- gdb/macrotab.c | 2 +- gdb/main.c | 9 +- gdb/maint.c | 29 +- gdb/mdebugread.c | 443 +++++----- gdb/mdebugread.h | 4 +- gdb/memattr.c | 10 +- gdb/memattr.h | 17 +- gdb/memory-map.h | 3 +- gdb/mep-tdep.c | 54 +- 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/microblaze-rom.c | 6 +- gdb/microblaze-tdep.c | 37 +- gdb/minsyms.c | 60 +- gdb/mips-irix-tdep.c | 2 +- gdb/mips-linux-nat.c | 15 +- gdb/mips-linux-tdep.c | 6 +- gdb/mips-linux-tdep.h | 9 +- gdb/mips-tdep.c | 303 ++++--- gdb/mips-tdep.h | 12 +- gdb/mipsnbsd-nat.c | 6 +- gdb/mipsnbsd-tdep.c | 3 +- gdb/mipsread.c | 23 +- gdb/mn10300-linux-tdep.c | 12 +- gdb/mn10300-tdep.c | 13 +- gdb/mn10300-tdep.h | 4 +- gdb/monitor.c | 202 ++-- gdb/monitor.h | 43 +- gdb/moxie-tdep.c | 6 +- gdb/moxie-tdep.h | 2 +- gdb/mt-tdep.c | 23 +- 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 | 194 +++-- 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/{solib-som.h => solib-ia64-hpux.h} | 21 +- gdb/solib-irix.c | 12 +- gdb/solib-osf.c | 18 +- gdb/solib-pa64.c | 39 +- gdb/solib-som.c | 118 ++-- gdb/solib-som.h | 2 + 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 | 138 ++-- gdb/target.h | 81 +- gdb/terminal.h | 4 +- gdb/testsuite/ChangeLog | 122 ++- gdb/testsuite/gdb.ada/widewide.exp | 47 + gdb/testsuite/gdb.ada/widewide/foo.adb | 27 + gdb/testsuite/gdb.ada/widewide/pck.adb | 23 + gdb/testsuite/gdb.ada/widewide/pck.ads | 22 + 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/{solib-som.h => testsuite/gdb.base/wchar.c} | 42 +- gdb/testsuite/gdb.base/wchar.exp | 38 + 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/testsuite/gdb.threads/tls.exp | 2 +- gdb/thread.c | 36 +- gdb/top.c | 16 +- gdb/tracepoint.c | 171 ++-- gdb/tracepoint.h | 4 +- gdb/trad-frame.h | 4 +- gdb/tui/tui-layout.c | 4 +- gdb/tui/tui-winsource.c | 5 +- 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 | 68 +- 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 +- 463 files changed, 13287 insertions(+), 7761 deletions(-) create mode 100644 gdb/config/ia64/hpux.mh delete mode 100644 gdb/hpux-thread.c create mode 100644 gdb/ia64-hpux-nat.c create mode 100644 gdb/ia64-hpux-tdep.c copy gdb/{solib-som.h => ia64-hpux-tdep.h} (63%) create mode 100644 gdb/solib-ia64-hpux.c copy gdb/{solib-som.h => solib-ia64-hpux.h} (63%) create mode 100644 gdb/testsuite/gdb.ada/widewide.exp create mode 100644 gdb/testsuite/gdb.ada/widewide/foo.adb create mode 100644 gdb/testsuite/gdb.ada/widewide/pck.adb create mode 100644 gdb/testsuite/gdb.ada/widewide/pck.ads create mode 100644 gdb/testsuite/gdb.base/interact.exp copy gdb/{solib-som.h => testsuite/gdb.base/wchar.c} (56%) create mode 100644 gdb/testsuite/gdb.base/wchar.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 + + * ltmain.sh (relink): Use absolute path when hardcoding with -L. + +2011-01-13 Joel Brobecker + + * configure.ac: Remove readline, mmalloc, and gdb from noconfigdirs + for ia64-hpux. + * configure: Regenerate. + 2011-01-02 Ralf Wildenhues Sync from GCC: diff --git a/bfd/ChangeLog b/bfd/ChangeLog index c2c0157..00ff8ff 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,108 @@ +2011-01-15 H.J. Lu + + * elf64-x86-64.c (elf_x86_64_check_relocs): Check invalid x32 + relocations. + +2011-01-14 H.J. Lu + + * elf64-x86-64.c (elf_x86_64_link_hash_table): Add pointer_r_type. + (elf_x86_64_link_hash_table_create): Set pointer_r_type. + (elf_x86_64_check_relocs): Handle R_X86_64_32 like R_X86_64_64 + for ILP32. Remove ABI_64_P PIC check for R_X86_64_8, + R_X86_64_16, R_X86_64_32 and R_X86_64_32S. + (elf_x86_64_relocate_section): Handle R_X86_64_32 like R_X86_64_64 + for ILP32. + +2011-01-14 Alan Modra + + * bfd.c (bfd_perror): Flush stdout before and stderr after printing + error. + (_bfd_default_error_handler): Likewise. + * elf.c (print_segment_map): Likewise. + * libbfd.c (warn_deprecated): Likewise. + * som.c (som_sizeof_headers): No need to do so here. + * coff-i860.c: Replace use of printf for error messages with + _bfd_error_handler. + * coff-ppc.c: Likewise. + * coff-sh.c: Likewise. + * elf32-bfin.c: Likewise. + * elf32-dlx.c: Likewise. + * elf32-mep.c: Likewise. + * elf32-v850.c: Likewise. + * mach-o.c: Likewise. + * pef.c: Likewise. + +2011-01-13 H.J. Lu + + * 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 + + 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 + Glauber de Oliveira Costa + + * 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 * 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/bfd.c b/bfd/bfd.c index a9ce7cc..77582ec 100644 --- a/bfd/bfd.c +++ b/bfd/bfd.c @@ -1,6 +1,6 @@ /* Generic BFD library interface and support routines. Copyright 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, - 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 + 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc. Written by Cygnus Support. @@ -523,10 +523,12 @@ DESCRIPTION void bfd_perror (const char *message) { + fflush (stdout); if (message == NULL || *message == '\0') fprintf (stderr, "%s\n", bfd_errmsg (bfd_get_error ())); else fprintf (stderr, "%s: %s\n", message, bfd_errmsg (bfd_get_error ())); + fflush (stderr); } /* @@ -723,6 +725,7 @@ _bfd_default_error_handler (const char *fmt, ...) va_end (ap); putc ('\n', stderr); + fflush (stderr); } /* This is a function pointer to the routine which should handle BFD diff --git a/bfd/coff-i860.c b/bfd/coff-i860.c index b7ada16..d50b070 100644 --- a/bfd/coff-i860.c +++ b/bfd/coff-i860.c @@ -1,6 +1,6 @@ /* BFD back-end for Intel i860 COFF files. Copyright 1990, 1991, 1992, 1993, 1994, 1995, 1999, 2000, 2001, 2002, - 2003, 2004, 2005, 2007, 2008, 2010 Free Software Foundation, Inc. + 2003, 2004, 2005, 2007, 2008, 2010, 2011 Free Software Foundation, Inc. Created mostly by substituting "860" for "386" in coff-i386.c Harry Dolan , October 1995 @@ -144,7 +144,7 @@ coff_i860_reloc_nyi (bfd *abfd ATTRIBUTE_UNUSED, char **error_message ATTRIBUTE_UNUSED) { reloc_howto_type *howto = reloc_entry->howto; - fprintf (stderr, _("Relocation `%s' not yet implemented\n"), howto->name); + (*_bfd_error_handler) (_("relocation `%s' not yet implemented"), howto->name); return bfd_reloc_notsupported; } diff --git a/bfd/coff-ppc.c b/bfd/coff-ppc.c index 06eed24..69e10d8 100644 --- a/bfd/coff-ppc.c +++ b/bfd/coff-ppc.c @@ -1,6 +1,6 @@ /* BFD back-end for PowerPC Microsoft Portable Executable files. Copyright 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, - 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 + 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc. Original version pieced together by Kim Knuttila (krk@cygnus.com) @@ -1843,10 +1843,9 @@ ppc_coff_rtype2howto (relent, internal) howto = ppc_coff_howto_table + IMAGE_REL_PPC_TOCREL16; break; default: - fprintf (stderr, - _("Warning: Unsupported reloc %s [%d] used -- it may not work.\n"), - ppc_coff_howto_table[r_type].name, - r_type); + (*_bfd_error_handler) (_("warning: unsupported reloc %s [%d] used -- it may not work"), + ppc_coff_howto_table[r_type].name, + r_type); howto = ppc_coff_howto_table + r_type; break; } @@ -1916,10 +1915,9 @@ coff_ppc_rtype_to_howto (abfd, sec, rel, h, sym, addendp) howto = ppc_coff_howto_table + r_type; break; default: - fprintf (stderr, - _("Warning: Unsupported reloc %s [%d] used -- it may not work.\n"), - ppc_coff_howto_table[r_type].name, - r_type); + (*_bfd_error_handler) (_("warning: unsupported reloc %s [%d] used -- it may not work"), + ppc_coff_howto_table[r_type].name, + r_type); howto = ppc_coff_howto_table + r_type; break; } diff --git a/bfd/coff-sh.c b/bfd/coff-sh.c index 28ac0ab..b77af7c 100644 --- a/bfd/coff-sh.c +++ b/bfd/coff-sh.c @@ -1,6 +1,7 @@ /* BFD back-end for Renesas Super-H COFF binaries. 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, 2011 + Free Software Foundation, Inc. Contributed by Cygnus Support. Written by Steve Chamberlain, . Relaxing code written by Ian Lance Taylor, . @@ -517,7 +518,7 @@ sh_coff_reloc_type_lookup (abfd, code) if (sh_reloc_map[i].bfd_reloc_val == code) return &sh_coff_howtos[(int) sh_reloc_map[i].shcoff_reloc_val]; - fprintf (stderr, "SH Error: unknown reloc type %d\n", code); + (*_bfd_error_handler) (_("SH Error: unknown reloc type %d"), code); return NULL; } diff --git a/bfd/elf.c b/bfd/elf.c index de0ab61..257cc8c 100644 --- a/bfd/elf.c +++ b/bfd/elf.c @@ -1,7 +1,7 @@ /* ELF executable support for BFD. Copyright 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, - 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 + 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. @@ -4280,10 +4280,12 @@ print_segment_map (const struct elf_segment_map *m) (unsigned int) m->p_type); pt = buf; } + fflush (stdout); fprintf (stderr, "%s:", pt); for (j = 0; j < m->count; j++) fprintf (stderr, " %s", m->sections [j]->name); putc ('\n',stderr); + fflush (stderr); } static bfd_boolean 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 hooks/post-receive -- Repository for Project Archer.