From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 31991 invoked by alias); 10 Apr 2012 19:22:39 -0000 Mailing-List: contact archer-commits-help@sourceware.org; run by ezmlm Sender: Precedence: bulk List-Post: List-Help: List-Subscribe: Received: (qmail 31894 invoked by uid 9514); 10 Apr 2012 19:22:36 -0000 Date: Tue, 10 Apr 2012 19:22:00 -0000 Message-ID: <20120410192235.31874.qmail@sourceware.org> From: pmuldoon@sourceware.org To: archer-commits@sourceware.org Subject: [SCM] archer-pmuldoon-python-backtrace: Merge remote-tracking branch 'gdb/master' into archer-pmuldoon-python-backtrace X-Git-Refname: refs/heads/archer-pmuldoon-python-backtrace X-Git-Reftype: branch X-Git-Oldrev: fa69ff9b7cb25b29bc11bea4a500e7eb3d8a0e97 X-Git-Newrev: 47273bee437d6fc46889eeaa67f9eb6fed76ff46 X-SW-Source: 2012-q2/txt/msg00017.txt.bz2 List-Id: The branch, archer-pmuldoon-python-backtrace has been updated via 47273bee437d6fc46889eeaa67f9eb6fed76ff46 (commit) via d2ac0fe1ff8eaac71c65e9c3e8ffe6920ea0b5b4 (commit) via 5d893c0190dfcba6c6c14233dae2b8ef02970f28 (commit) via d2a610e69ecfd222da97c56c26a61a357b8bca6e (commit) via 23fb6ff04e76c4fedac2d303a821643bbcfb729f (commit) via 014d62fa7f6a2a296acd42c784377f2a4610e359 (commit) via bb87b42b481a79dc37427b5b50d0a6680f73d4ca (commit) via e519e7e8a11ac79900f84f8bdea3c790f2df02d1 (commit) via ad07253f54e9778f2c6a6d1f3a233bf2ef090363 (commit) via a62c8d49a36b5b5c884b3a7bbe4dc0617f5de89d (commit) via 3d58b67aaf7807c8677dc94af022a49a0d2f65d1 (commit) via 366ed0cd731e40684469ce15c945992cea623203 (commit) via 31d8302a68810b85315174aec832ae3ac1b3e1c9 (commit) via 7776007c421fd596fd54d789e893ed7c8fe401ef (commit) via aaedd91cbe43e5d8ef89f7d68312eccd9d9ca0ff (commit) via 8ab28f25aa3521c6941d3b4be0258d64807ba174 (commit) via 915c214987398603f656badbe8db108695c883c0 (commit) via 705d0b5f490eb8444b7da19183c2dab6d678cee8 (commit) via a76908c46c0dddfd66dc977a386f4d74112897ef (commit) via 4ba4e57cc4338557e651f1ae8171fd763d1caab7 (commit) via add11f8d9864177b3c70efe28bb33f34017ca7f3 (commit) via 2ba87f0ca2e81a3e7fa16cd627a6b0c49c41c551 (commit) via 17d50b0c57e2a9bae689df508f097822a1ac4f24 (commit) via 957f392c496f428d10ab1bc21602f89938acf80d (commit) via 7ae28ed1ba37f8eb0df8a2aa3c2b79d06efc531f (commit) via 346d9e31de4ebdbf9f7300632253765268b2a346 (commit) via 3340cc81252947b013d24a3fbe01b88998063c94 (commit) via 3d5b32f8d5120cf8d059699f1c20e963cae5fdaa (commit) via 9357b45b2777b6666c1d1bf7bc6160a30b9e2af0 (commit) via 85910feca67928dafc00880cfbbec76889a78d56 (commit) via a88ce504e76240ca5e134f89f9ccb0a965399f37 (commit) via e3b69961beda8956d22948f1dcef12724ecfba33 (commit) via 486763132d8e31770e316331f81343c2aa79d52a (commit) via fe367806053d9120d6ac42138dbd7f5cbc2f8e21 (commit) via 3b98a57ded05174d316a1d31bfaab8ffacab3f80 (commit) via 501a9ff7887f91881f25cc1342a6ce3089fbc034 (commit) via 0bb06c58fcb183269acd83d0990ff4098af8cbec (commit) via 02c07dfcef2d2ec5764f5983854feeff2ea2823d (commit) via 803cf548486ab0fb592e67c98dad739bfef11c01 (commit) via beb222f49131cfba7fbc54d7383d1a90e81d42d7 (commit) from fa69ff9b7cb25b29bc11bea4a500e7eb3d8a0e97 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email. - Log ----------------------------------------------------------------- commit 47273bee437d6fc46889eeaa67f9eb6fed76ff46 Merge: fa69ff9 d2ac0fe Author: Phil Muldoon Date: Tue Apr 10 20:22:20 2012 +0100 Merge remote-tracking branch 'gdb/master' into archer-pmuldoon-python-backtrace commit d2ac0fe1ff8eaac71c65e9c3e8ffe6920ea0b5b4 Author: Doug Evans Date: Tue Apr 10 18:56:30 2012 +0000 * dwarf2read.c (dwarf2_per_cu_data). Clarify comment. (load_partial_dies): Clarify comment. (find_partial_die): Support rereading type units. Clarify CU handling, if we know offset is in CU, don't search for the containing CU. Add comment regarding memory waste. commit 5d893c0190dfcba6c6c14233dae2b8ef02970f28 Author: DJ Delorie Date: Tue Apr 10 17:07:28 2012 +0000 merge from gcc commit d2a610e69ecfd222da97c56c26a61a357b8bca6e Author: H.J. Lu Date: Tue Apr 10 15:44:20 2012 +0000 Add x32 XML files * features/Makefile (WHICH): Add i386/x32, i386/x32-linux, i386/x32-avx and i386/x32-avx-linux. (i386/x32-expedite): New. (i386/x32-linux-expedite): Likewise. (i386/x32-avx-expedite): Likewise. (i386/x32-avx-linux-expedite): Likewise. ($(outdir)/i386/x32.dat): Likewise. ($(outdir)/i386/x32-linux.dat): Likewise. ($(outdir)/i386/x32-avx.dat): Likewise. ($(outdir)/i386/x32-avx-linux.dat): Likewise. * features/i386/x32-avx-linux.xml: New file. * features/i386/x32-avx.xml: Likewise. * features/i386/x32-core.xml: Likewise. * features/i386/x32-linux.xml: Likewise. * features/i386/x32.xml: Likewise. * features/i386/x32-avx-linux.c: New. Generated. * features/i386/x32-avx.c: Likewise. * features/i386/x32-linux.c: Likewise. * features/i386/x32.c: Likewise. * regformats/i386/x32-avx-linux.dat: Likewise. * regformats/i386/x32-avx.dat: Likewise. * regformats/i386/x32-linux.dat: Likewise. * regformats/i386/x32.dat: Likewise. commit 23fb6ff04e76c4fedac2d303a821643bbcfb729f Author: Tristan Gingold Date: Tue Apr 10 15:31:25 2012 +0000 2012-04-10 Tristan Gingold * darwin-nat.c (darwin_kill_inferior): Always use the no ptrace code to kill the inferior. commit 014d62fa7f6a2a296acd42c784377f2a4610e359 Author: gdbadmin Date: Tue Apr 10 00:00:33 2012 +0000 *** empty log message *** commit bb87b42b481a79dc37427b5b50d0a6680f73d4ca Author: Alan Modra Date: Tue Apr 10 00:00:06 2012 +0000 daily update commit e519e7e8a11ac79900f84f8bdea3c790f2df02d1 Author: Mark Kettenis Date: Mon Apr 9 17:07:39 2012 +0000 * ada-exp.y (yyss, yysslim, yyssp, yystacksize, yyvs, yyvsp): New defines. * c-exp.y (yyss, yysslim, yyssp, yystacksize, yyvs, yyvsp): New defines. * cp-name-parser.y (yyss, yysslim, yyssp, yystacksize, yyvs) (yyvsp): New defines. * f-exp.y (yyss, yysslim, yyssp, yystacksize, yyvs, yyvsp): New defines. * jv-exp.y (yyss, yysslim, yyssp, yystacksize, yyvs, yyvsp): New defines. * m2-exp.y (yyss, yysslim, yyssp, yystacksize, yyvs, yyvsp): New defines. * objc-exp.y (yyss, yysslim, yyssp, yystacksize, yyvs, yyvsp): New defines. * p-exp.y (yyss, yysslim, yyssp, yystacksize, yyvs, yyvsp): New defines. commit ad07253f54e9778f2c6a6d1f3a233bf2ef090363 Author: Roland McGrath Date: Mon Apr 9 16:27:14 2012 +0000 bfd/ * elf.c (_bfd_elf_map_sections_to_segments): Set INFO->user_phdrs. * elf-nacl.c (nacl_modify_segment_map): Do nothing if INFO->user_phdrs. (nacl_modify_program_headers): Likewise. include/ * bfdlink.h (struct bfd_link_info): Add new member user_phdrs. commit a62c8d49a36b5b5c884b3a7bbe4dc0617f5de89d Author: Mark Kettenis Date: Mon Apr 9 09:16:55 2012 +0000 * sparc64-tdep.c (sparc64_store_arguments) (sparc64_store_arguments): Fix coding style. commit 3d58b67aaf7807c8677dc94af022a49a0d2f65d1 Author: Mike Frysinger Date: Mon Apr 9 06:13:06 2012 +0000 sim: bfin: new PINT model Newer BF54x parts feature an updated GPIO block where all the interrupt handling is split off, so create a new model for the pin interrupts. This is missing the port forwarding aspects, but at least the register interface should be there. Signed-off-by: Mike Frysinger commit 366ed0cd731e40684469ce15c945992cea623203 Author: Mike Frysinger Date: Mon Apr 9 06:11:15 2012 +0000 sim: bfin: new GPIO model Newer BF54x parts feature an updated GPIO block, so create a new model for it. Signed-off-by: Mike Frysinger commit 31d8302a68810b85315174aec832ae3ac1b3e1c9 Author: Mike Frysinger Date: Mon Apr 9 05:59:55 2012 +0000 sim: bfin: add shift astat tests These are randomly generated tests to track down issues in ASTAT handling with shift insns. Signed-off-by: Robin Getz Signed-off-by: Mike Frysinger commit 7776007c421fd596fd54d789e893ed7c8fe401ef Author: Mike Frysinger Date: Mon Apr 9 05:56:32 2012 +0000 sim: bfin: fix ASTAT issues in immediate shifts More ASTAT directed fixes, but this time at the dsp32shift insns. Signed-off-by: Robin Getz Signed-off-by: Mike Frysinger commit aaedd91cbe43e5d8ef89f7d68312eccd9d9ca0ff Author: Mike Frysinger Date: Mon Apr 9 05:52:38 2012 +0000 sim: bfin: fix ASTAT/correctness issues with arithmetic shifts This improves some of the arithmetic shifts to better match the hardware (especially wrt ASTAT behavior). We hit areas where the published documentation is thin so we have to rely on tests run on the hardware to figure out how things should behave. Signed-off-by: Robin Getz Signed-off-by: Mike Frysinger commit 8ab28f25aa3521c6941d3b4be0258d64807ba174 Author: Mike Frysinger Date: Mon Apr 9 05:24:57 2012 +0000 sim: bfin: more astat tests These are the randomly generated tests that directed some of the recent astat related fixes. Signed-off-by: Mike Frysinger commit 915c214987398603f656badbe8db108695c883c0 Author: Mike Frysinger Date: Mon Apr 9 04:18:55 2012 +0000 sim: bfin: enable some parallel tests Now that we check for valid sub-insns in parallel insns, we can enable the tests that explicitly validate those code paths. Signed-off-by: Mike Frysinger commit 705d0b5f490eb8444b7da19183c2dab6d678cee8 Author: Mike Frysinger Date: Mon Apr 9 03:59:10 2012 +0000 sim: bfin: more parallel insn checks Now that we keep track of the exact parallel insn slot we're in, we can make sure that the current insn being decoded is valid for that slot. This brings us much closer to the hardware in flagging invalid parallel insn combinations. Signed-off-by: Mike Frysinger commit a76908c46c0dddfd66dc977a386f4d74112897ef Author: Mike Frysinger Date: Mon Apr 9 03:49:30 2012 +0000 sim: bfin: keep track of the exact position of parallel insns Some insns need to know which slot they're in to determine whether they are valid. So add an enum for each slot, and check that rather than the overall insn len. This makes tracking things in the code much clearer. However, this code is functionally the same, so a follow up patch will leverage this more to properly flag invalid parallel insn combos. Signed-off-by: Mike Frysinger commit 4ba4e57cc4338557e651f1ae8171fd763d1caab7 Author: Mike Frysinger Date: Mon Apr 9 03:42:43 2012 +0000 sim: bfin: unify se_all helpers more Now that we have the se_all helpers together and working, we can see what pieces are duplicated in each test and unify them in the common header file. Signed-off-by: Mike Frysinger commit add11f8d9864177b3c70efe28bb33f34017ca7f3 Author: Alan Modra Date: Mon Apr 9 00:00:05 2012 +0000 daily update commit 2ba87f0ca2e81a3e7fa16cd627a6b0c49c41c551 Author: gdbadmin Date: Mon Apr 9 00:00:03 2012 +0000 *** empty log message *** commit 17d50b0c57e2a9bae689df508f097822a1ac4f24 Author: Mike Frysinger Date: Sun Apr 8 20:48:20 2012 +0000 sim: bfin: drop excess space in negation insn The amod1 helper includes a leading space so it can expand into the empty string when need be, which means the caller need not add spacing itself. Signed-off-by: Mike Frysinger commit 957f392c496f428d10ab1bc21602f89938acf80d Author: Mark Kettenis Date: Sun Apr 8 05:42:50 2012 +0000 * sparc64-tdep.c (sparc64_store_arguments): Fix handling of complex floats, adjust some related comments and tighten a related assertion. (sparc64_extract_return_value): Handle complex floats. commit 7ae28ed1ba37f8eb0df8a2aa3c2b79d06efc531f Author: gdbadmin Date: Sun Apr 8 00:00:32 2012 +0000 *** empty log message *** commit 346d9e31de4ebdbf9f7300632253765268b2a346 Author: Alan Modra Date: Sun Apr 8 00:00:05 2012 +0000 daily update commit 3340cc81252947b013d24a3fbe01b88998063c94 Author: Mark Kettenis Date: Sat Apr 7 20:01:58 2012 +0000 * gdb.base/funcargs.exp (complex_args): Fix typo. commit 3d5b32f8d5120cf8d059699f1c20e963cae5fdaa Author: Doug Evans Date: Sat Apr 7 19:35:15 2012 +0000 * dwarf2read.c (load_partial_dies): Change condition to assert. commit 9357b45b2777b6666c1d1bf7bc6160a30b9e2af0 Author: gdbadmin Date: Sat Apr 7 00:00:33 2012 +0000 *** empty log message *** commit 85910feca67928dafc00880cfbbec76889a78d56 Author: Alan Modra Date: Sat Apr 7 00:00:06 2012 +0000 daily update commit a88ce504e76240ca5e134f89f9ccb0a965399f37 Author: Doug Evans Date: Fri Apr 6 21:52:21 2012 +0000 * amd64-tdep.c (amd64_analyze_prologue): Recognize both variations of "mov %rsp,%rbp". commit e3b69961beda8956d22948f1dcef12724ecfba33 Author: Jan Kratochvil Date: Fri Apr 6 06:42:08 2012 +0000 gdb/testsuite/ * gdb.trace/change-loc.exp (tracepoint_change_loc_1) (tracepoint_change_loc_2): Accept both orders of pending set_tracepoint. commit 486763132d8e31770e316331f81343c2aa79d52a Author: Alan Modra Date: Fri Apr 6 00:00:06 2012 +0000 daily update commit fe367806053d9120d6ac42138dbd7f5cbc2f8e21 Author: gdbadmin Date: Fri Apr 6 00:00:02 2012 +0000 *** empty log message *** commit 3b98a57ded05174d316a1d31bfaab8ffacab3f80 Author: Kevin Buettner Date: Thu Apr 5 23:55:02 2012 +0000 * v850-tdep.c (E_NUM_OF_V850_REGS, E_NUM_OF_V850E_REGS): Fix fencepost error. (v850_frame_cache): Use gdbarch_num_regs() instead of E_NUM_REGS. (v850_gdbarch_init): Set `num_regs' as appropriate for the architecture. ----------------------------------------------------------------------- Summary of changes: bfd/ChangeLog | 6 + bfd/elf-nacl.c | 12 +- bfd/elf.c | 14 +- bfd/version.h | 2 +- gdb/ChangeLog | 181 ++ gdb/ada-exp.y | 6 + gdb/amd64-tdep.c | 9 +- gdb/c-exp.y | 6 + gdb/cp-name-parser.y | 6 + gdb/cp-support.c | 117 - gdb/cp-support.h | 2 - gdb/darwin-nat.c | 31 +- gdb/dwarf2read.c | 67 +- gdb/f-exp.y | 6 + gdb/features/Makefile | 12 + gdb/features/i386/x32-avx-linux.c | 171 ++ gdb/features/i386/x32-avx-linux.xml | 18 + gdb/features/i386/x32-avx.c | 166 ++ gdb/features/i386/x32-avx.xml | 16 + gdb/features/i386/x32-core.xml | 73 + gdb/features/i386/x32-linux.c | 153 + gdb/features/i386/x32-linux.xml | 17 + gdb/features/i386/x32.c | 148 + gdb/features/i386/x32.xml | 15 + gdb/gdbserver/ChangeLog | 13 + gdb/gdbserver/linux-sparc-low.c | 26 +- gdb/gdbserver/spu-low.c | 6 +- gdb/jv-exp.y | 6 + gdb/linespec.c | 3657 ++++++++++++++----------- gdb/m2-exp.y | 6 + gdb/objc-exp.y | 6 + gdb/p-exp.y | 6 + gdb/regformats/i386/x32-avx-linux.dat | 78 + gdb/regformats/i386/x32-avx.dat | 77 + gdb/regformats/i386/x32-linux.dat | 62 + gdb/regformats/i386/x32.dat | 61 + gdb/sparc64-tdep.c | 15 +- gdb/testsuite/ChangeLog | 29 + gdb/testsuite/gdb.base/advance.exp | 3 +- gdb/testsuite/gdb.base/break.exp | 2 +- gdb/testsuite/gdb.base/funcargs.exp | 2 +- gdb/testsuite/gdb.base/hbreak2.exp | 2 +- gdb/testsuite/gdb.base/jump.exp | 2 +- gdb/testsuite/gdb.base/sepdebug.exp | 2 +- gdb/testsuite/gdb.base/until.exp | 3 +- gdb/testsuite/gdb.cp/cplabel.cc | 80 + gdb/testsuite/gdb.cp/cplabel.exp | 40 + gdb/testsuite/gdb.cp/ovldbreak.exp | 26 +- gdb/testsuite/gdb.cp/userdef.exp | 4 +- gdb/testsuite/gdb.linespec/ls-errs.c | 29 + gdb/testsuite/gdb.linespec/ls-errs.exp | 189 ++ gdb/testsuite/gdb.trace/change-loc.exp | 4 +- gdb/v850-tdep.c | 12 +- gdb/version.in | 2 +- include/ChangeLog | 9 + include/bfdlink.h | 7 +- include/splay-tree.h | 19 +- libiberty/ChangeLog | 4 + libiberty/pex-unix.c | 6 +- sim/bfin/ChangeLog | 70 + sim/bfin/bfin-sim.c | 322 ++- sim/bfin/bfin-sim.h | 12 + sim/bfin/configure | 2 + sim/bfin/configure.ac | 2 + sim/bfin/dv-bfin_gpio2.c | 284 ++ sim/bfin/dv-bfin_gpio2.h | 25 + sim/bfin/dv-bfin_pint.c | 298 ++ sim/bfin/dv-bfin_pint.h | 24 + sim/bfin/machs.c | 82 +- sim/bfin/machs.h | 2 + sim/testsuite/sim/bfin/ChangeLog | 35 + sim/testsuite/sim/bfin/random_0017.S | 23 + sim/testsuite/sim/bfin/random_0018.S | 69 + sim/testsuite/sim/bfin/random_0025.S | 681 +++++ sim/testsuite/sim/bfin/random_0036.S | 309 +++ sim/testsuite/sim/bfin/random_0037.S | 84 + sim/testsuite/sim/bfin/se_all16bitopcodes.S | 11 +- sim/testsuite/sim/bfin/se_all32bitopcodes.S | 18 +- sim/testsuite/sim/bfin/se_all64bitg0opcodes.S | 8 +- sim/testsuite/sim/bfin/se_all64bitg1opcodes.S | 7 +- sim/testsuite/sim/bfin/se_all64bitg2opcodes.S | 7 +- sim/testsuite/sim/bfin/se_allopcodes.h | 47 +- 82 files changed, 6113 insertions(+), 2058 deletions(-) create mode 100644 gdb/features/i386/x32-avx-linux.c create mode 100644 gdb/features/i386/x32-avx-linux.xml create mode 100644 gdb/features/i386/x32-avx.c create mode 100644 gdb/features/i386/x32-avx.xml create mode 100644 gdb/features/i386/x32-core.xml create mode 100644 gdb/features/i386/x32-linux.c create mode 100644 gdb/features/i386/x32-linux.xml create mode 100644 gdb/features/i386/x32.c create mode 100644 gdb/features/i386/x32.xml create mode 100644 gdb/regformats/i386/x32-avx-linux.dat create mode 100644 gdb/regformats/i386/x32-avx.dat create mode 100644 gdb/regformats/i386/x32-linux.dat create mode 100644 gdb/regformats/i386/x32.dat create mode 100644 gdb/testsuite/gdb.cp/cplabel.cc create mode 100644 gdb/testsuite/gdb.cp/cplabel.exp create mode 100644 gdb/testsuite/gdb.linespec/ls-errs.c create mode 100644 gdb/testsuite/gdb.linespec/ls-errs.exp create mode 100644 sim/bfin/dv-bfin_gpio2.c create mode 100644 sim/bfin/dv-bfin_gpio2.h create mode 100644 sim/bfin/dv-bfin_pint.c create mode 100644 sim/bfin/dv-bfin_pint.h create mode 100644 sim/testsuite/sim/bfin/random_0017.S create mode 100644 sim/testsuite/sim/bfin/random_0018.S create mode 100644 sim/testsuite/sim/bfin/random_0025.S create mode 100644 sim/testsuite/sim/bfin/random_0036.S create mode 100644 sim/testsuite/sim/bfin/random_0037.S First 500 lines of diff: diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 56a1121..6d12944 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,9 @@ +2012-04-09 Roland McGrath + + * elf.c (_bfd_elf_map_sections_to_segments): Set INFO->user_phdrs. + * elf-nacl.c (nacl_modify_segment_map): Do nothing if INFO->user_phdrs. + (nacl_modify_program_headers): Likewise. + 2012-04-03 Roland McGrath * elf-nacl.c: New file. diff --git a/bfd/elf-nacl.c b/bfd/elf-nacl.c index 3ba7f55..842e367 100644 --- a/bfd/elf-nacl.c +++ b/bfd/elf-nacl.c @@ -62,13 +62,18 @@ segment_nonexecutable_and_has_contents (struct elf_segment_map *seg) The first non-executable PT_LOAD segment appears first in the file and contains the ELF file header and phdrs. */ bfd_boolean -nacl_modify_segment_map (bfd *abfd, struct bfd_link_info *info ATTRIBUTE_UNUSED) +nacl_modify_segment_map (bfd *abfd, struct bfd_link_info *info) { struct elf_segment_map **m = &elf_tdata (abfd)->segment_map; struct elf_segment_map **first_load = NULL; struct elf_segment_map **last_load = NULL; bfd_boolean moved_headers = FALSE; + if (info != NULL && info->user_phdrs) + /* The linker script used PHDRS explicitly, so don't change what the + user asked for. */ + return TRUE; + while (*m != NULL) { struct elf_segment_map *seg = *m; @@ -141,6 +146,11 @@ nacl_modify_program_headers (bfd *abfd, Elf_Internal_Phdr *phdr = elf_tdata (abfd)->phdr; Elf_Internal_Phdr *p = phdr; + if (info != NULL && info->user_phdrs) + /* The linker script used PHDRS explicitly, so don't change what the + user asked for. */ + return TRUE; + /* Find the PT_LOAD that contains the headers (should be the first). */ while (*m != NULL) { diff --git a/bfd/elf.c b/bfd/elf.c index df43a6a..7faa8f6 100644 --- a/bfd/elf.c +++ b/bfd/elf.c @@ -2527,7 +2527,7 @@ _bfd_elf_init_reloc_shdr (bfd *abfd, rel_hdr = bfd_zalloc (abfd, amt); reldata->hdr = rel_hdr; - amt = sizeof ".rela" + strlen (asect->name); + amt = sizeof ".rela" + strlen (asect->name); name = (char *) bfd_alloc (abfd, amt); if (name == NULL) return FALSE; @@ -3744,6 +3744,10 @@ _bfd_elf_map_sections_to_segments (bfd *abfd, struct bfd_link_info *info) bfd_boolean no_user_phdrs; no_user_phdrs = elf_tdata (abfd)->segment_map == NULL; + + if (info != NULL) + info->user_phdrs = !no_user_phdrs; + if (no_user_phdrs && bfd_count_sections (abfd) != 0) { asection *s; @@ -4351,7 +4355,7 @@ assign_file_positions_for_load_sections (bfd *abfd, elf_elfheader (abfd)->e_phoff = 0; elf_elfheader (abfd)->e_phentsize = 0; } - + elf_elfheader (abfd)->e_phnum = alloc; if (elf_tdata (abfd)->program_header_size == (bfd_size_type) -1) @@ -5428,7 +5432,7 @@ rewrite_elf_program_header (bfd *ibfd, bfd *obfd) 1. It is within the address space of the segment -- we use the LMA if that is set for the segment and the VMA otherwise, 2. It is an allocated section or a NOTE section in a PT_NOTE - segment. + segment. 3. There is an output section associated with it, 4. The section has not already been allocated to a previous segment. 5. PT_GNU_STACK segments do not include any sections. @@ -6148,7 +6152,7 @@ copy_elf_program_header (bfd *ibfd, bfd *obfd) if (map->includes_filehdr && lowest_section != NULL) /* We need to keep the space used by the headers fixed. */ map->header_size = lowest_section->vma - segment->p_vaddr; - + if (!map->includes_phdrs && !map->includes_filehdr && map->p_paddr_valid) @@ -9633,7 +9637,7 @@ _bfd_elf_get_synthetic_symtab (bfd *abfd, if (p->addend != 0) { char buf[30], *a; - + memcpy (names, "+0x", sizeof ("+0x") - 1); names += sizeof ("+0x") - 1; bfd_sprintf_vma (abfd, buf, p->addend); diff --git a/bfd/version.h b/bfd/version.h index 082f11e..e3d3824 100644 --- a/bfd/version.h +++ b/bfd/version.h @@ -1,4 +1,4 @@ -#define BFD_VERSION_DATE 20120404 +#define BFD_VERSION_DATE 20120410 #define BFD_VERSION @bfd_version@ #define BFD_VERSION_STRING @bfd_version_package@ @bfd_version_string@ #define REPORT_BUGS_TO @report_bugs_to@ diff --git a/gdb/ChangeLog b/gdb/ChangeLog index bdfd9b7..5a1e6b7 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,184 @@ +2012-04-10 Doug Evans + + * dwarf2read.c (dwarf2_per_cu_data). Clarify comment. + (load_partial_dies): Clarify comment. + (find_partial_die): Support rereading type units. + Clarify CU handling, if we know offset is in CU, don't search for the + containing CU. Add comment regarding memory waste. + +2012-04-10 H.J. Lu + + * features/Makefile (WHICH): Add i386/x32, i386/x32-linux, + i386/x32-avx and i386/x32-avx-linux. + (i386/x32-expedite): New. + (i386/x32-linux-expedite): Likewise. + (i386/x32-avx-expedite): Likewise. + (i386/x32-avx-linux-expedite): Likewise. + ($(outdir)/i386/x32.dat): Likewise. + ($(outdir)/i386/x32-linux.dat): Likewise. + ($(outdir)/i386/x32-avx.dat): Likewise. + ($(outdir)/i386/x32-avx-linux.dat): Likewise. + + * features/i386/x32-avx-linux.xml: New file. + * features/i386/x32-avx.xml: Likewise. + * features/i386/x32-core.xml: Likewise. + * features/i386/x32-linux.xml: Likewise. + * features/i386/x32.xml: Likewise. + + * features/i386/x32-avx-linux.c: New. Generated. + * features/i386/x32-avx.c: Likewise. + * features/i386/x32-linux.c: Likewise. + * features/i386/x32.c: Likewise. + * regformats/i386/x32-avx-linux.dat: Likewise. + * regformats/i386/x32-avx.dat: Likewise. + * regformats/i386/x32-linux.dat: Likewise. + * regformats/i386/x32.dat: Likewise. + +2012-04-10 Tristan Gingold + + * darwin-nat.c (darwin_kill_inferior): Always use the no ptrace + code to kill the inferior. + +2012-04-09 Mark Kettenis + + * ada-exp.y (yyss, yysslim, yyssp, yystacksize, yyvs, yyvsp): New + defines. + * c-exp.y (yyss, yysslim, yyssp, yystacksize, yyvs, yyvsp): New + defines. + * cp-name-parser.y (yyss, yysslim, yyssp, yystacksize, yyvs) + (yyvsp): New defines. + * f-exp.y (yyss, yysslim, yyssp, yystacksize, yyvs, yyvsp): New + defines. + * jv-exp.y (yyss, yysslim, yyssp, yystacksize, yyvs, yyvsp): New + defines. + * m2-exp.y (yyss, yysslim, yyssp, yystacksize, yyvs, yyvsp): New + defines. + * objc-exp.y (yyss, yysslim, yyssp, yystacksize, yyvs, yyvsp): New + defines. + * p-exp.y (yyss, yysslim, yyssp, yystacksize, yyvs, yyvsp): New + defines. + +2012-04-09 Mark Kettenis + + * sparc64-tdep.c (sparc64_store_arguments) + (sparc64_store_arguments): Fix coding style. + +2012-04-07 Mark Kettenis + + * sparc64-tdep.c (sparc64_store_arguments): Fix handling of + complex floats, adjust some related comments and tighten a related + assertion. + (sparc64_extract_return_value): Handle complex floats. + +2012-04-07 Doug Evans + + * dwarf2read.c (load_partial_dies): Change condition to assert. + +2012-04-06 Doug Evans + + * amd64-tdep.c (amd64_analyze_prologue): Recognize both variations of + "mov %rsp,%rbp". + +2012-04-05 Kevin Buettner + + * v850-tdep.c (E_NUM_OF_V850_REGS, E_NUM_OF_V850E_REGS): Fix + fencepost error. + (v850_frame_cache): Use gdbarch_num_regs() instead of E_NUM_REGS. + (v850_gdbarch_init): Set `num_regs' as appropriate for the + architecture. + +2012-04-05 Keith Seitz + + * linespec.c (decode_compound): Remove. + (enum offset_relative_sign): New enum. + (struct line_offset): New struct. + (struct linespec): New struct. + (struct linespec_state): Move file_symtabs, + user_filename, and user_function into struct linespec. + Make result an anonymous struct holding vectors of + symbolp and minsym_and_objfile_d. + Add language member. + (enum ls_token_type): New enum. + (linespec_keywords): New array. + (struct ls_token): New struct. + (struct ls_parser): New struct. + (linespec_lexer_lex_number): New function. + (linespec_lexer_lex_keyword): New function. + (is_ada_operator): New function. + (skip_quote_char): New function. + (copy_token_string): New function. + (is_closing_quote_enclosed): New function. + (find_parameter_list_end): New function. + (linespec_lexer_lex_string): New function. + (linespec_lexer_lex_one): New function. + (linespec_lexer_consume_token): New function. + (linespec_lexer_peek_token): New function. + (cplusplus_error): Remove unused function. + (find_methods): Update comment. + (find_toplevel_char): Return const. + (is_objc_method_format): Remove unused function. + (find_toplevel_string): New function. + (is_linespec_boundary): Remove. + (symbol_not_found_error): New function. + (find_method_overload_end): Remove function. + (unexpected_linespec_error): New function. + (keep_name_info): Remove. + (linespec_parse_line_offset): New function. + (linespec_parse_basic): New function. + (canonicalize_linespec): New function. + (decode_line_internal): Remove. + (create_sals_line_offset): New function adapted from + decode_all_digits. + (convert_linespec_to_sals): New function. + (parse_linespec): New function. + (linespec_parser_new): New function. + (linespec_state_destructor): Change parameter type to + struct linespec_state *. + Add language parameter. + Remove freeing of moved members. + (linespec_parser_delete): New function. + (decode_line_full): Use parse_linespec and linespec_parser_new. + (decode_line_1): Likewise. + (decode_indirect): Rename to ... + (linespec_expression_to_pc): ... this and rewrite + to simply find CORE_ADDR, storing this result for later + conversion to SALs. + (locate_first_half): Remove. + (deocde_objc): Add parameter LS. + Initialize new struct collect_info members. + Handle minimal symbols, too. + (decode_compound): Delete. + (lookup_prefix_sym): Rewrite. + (compare_msymbols): New function. + (find_method): Rewrite. + Do not call cplusplus_error. + (symtabs_from_filename): Rewrite. + (collect_function_symbols): Delete. + (find_function_symbols): Rewrite without ARGPTR-style + processing. + (decode_all_digits): Delete. (Rewritten as create_sals_line_offset.) + (decode_dollar): Adapted and renamed to ... + (linespec_parse_variable): ... this. + (find_linespec_symbols): New function. + (decode_label): Adapted and renamed to ... + (find_label_symbols): ... this. + (decode_digits_list_mode): Add and use LS argument. + (decode_digits_ordinary): Likewise. + (collect_symbols): Do not collect SALs, just symbols and msymbols. + If in list mode, allow any symbol class. Otherwise, only + permit LOC_BLOCK symbols. + (minsym_found): Update comments. + (search_minsyms_for_name): Do not convert the matching symbol + into a SAL. Simply push the symbol and objfile into the + result vector. + (decode_variable): Delete. Contents adapted into + find_linespec_symbols. + + * cp-support.c (SKIP_SPACE): Remove. + (operator_tokens): Remove unused global. + (cp_validate_operator): Remove. + * cp-support.h (cp_validate_operator): Remove declaration. + 2012-04-03 Jan Kratochvil * cp-valprint.c (cp_print_value_fields): Check valprint_check_validity diff --git a/gdb/ada-exp.y b/gdb/ada-exp.y index 0fa1812..36ef3d4 100644 --- a/gdb/ada-exp.y +++ b/gdb/ada-exp.y @@ -94,6 +94,12 @@ #define yytoks ada_toks /* With YYDEBUG defined */ #define yyname ada_name /* With YYDEBUG defined */ #define yyrule ada_rule /* With YYDEBUG defined */ +#define yyss ada_yyss +#define yysslim ada_yysslim +#define yyssp ada_yyssp +#define yystacksize ada_yystacksize +#define yyvs ada_yyvs +#define yyvsp ada_yyvsp #ifndef YYDEBUG #define YYDEBUG 1 /* Default to yydebug support */ diff --git a/gdb/amd64-tdep.c b/gdb/amd64-tdep.c index a193099..d15acea 100644 --- a/gdb/amd64-tdep.c +++ b/gdb/amd64-tdep.c @@ -1865,7 +1865,7 @@ amd64_analyze_stack_align (CORE_ADDR pc, CORE_ADDR current_pc, We will handle only functions beginning with: pushq %rbp 0x55 - movq %rsp, %rbp 0x48 0x89 0xe5 + movq %rsp, %rbp 0x48 0x89 0xe5 (or 0x48 0x8b 0xec) Any function that doesn't start with this sequence will be assumed to have no prologue and thus no valid frame pointer in %rbp. */ @@ -1876,7 +1876,9 @@ amd64_analyze_prologue (struct gdbarch *gdbarch, struct amd64_frame_cache *cache) { enum bfd_endian byte_order = gdbarch_byte_order (gdbarch); - static gdb_byte proto[3] = { 0x48, 0x89, 0xe5 }; /* movq %rsp, %rbp */ + /* There are two variations of movq %rsp, %rbp. */ + static const gdb_byte mov_rsp_rbp_1[3] = { 0x48, 0x89, 0xe5 }; + static const gdb_byte mov_rsp_rbp_2[3] = { 0x48, 0x8b, 0xec }; gdb_byte buf[3]; gdb_byte op; @@ -1900,7 +1902,8 @@ amd64_analyze_prologue (struct gdbarch *gdbarch, /* Check for `movq %rsp, %rbp'. */ read_memory (pc + 1, buf, 3); - if (memcmp (buf, proto, 3) != 0) + if (memcmp (buf, mov_rsp_rbp_1, 3) != 0 + && memcmp (buf, mov_rsp_rbp_2, 3) != 0) return pc + 1; /* OK, we actually have a frame. */ diff --git a/gdb/c-exp.y b/gdb/c-exp.y index bf4f4bc..8dfb7e5 100644 --- a/gdb/c-exp.y +++ b/gdb/c-exp.y @@ -103,6 +103,12 @@ #define yygindex c_yygindex #define yytable c_yytable #define yycheck c_yycheck +#define yyss c_yyss +#define yysslim c_yysslim +#define yyssp c_yyssp +#define yystacksize c_yystacksize +#define yyvs c_yyvs +#define yyvsp c_yyvsp #ifndef YYDEBUG #define YYDEBUG 1 /* Default to yydebug support */ diff --git a/gdb/cp-name-parser.y b/gdb/cp-name-parser.y index d85a5bf..6767fa5 100644 --- a/gdb/cp-name-parser.y +++ b/gdb/cp-name-parser.y @@ -170,6 +170,12 @@ static struct demangle_component *d_binary (const char *, #define yygindex cpname_yygindex #define yytable cpname_yytable #define yycheck cpname_yycheck +#define yyss cpname_yyss +#define yysslim cpname_yysslim +#define yyssp cpname_yyssp +#define yystacksize cpname_yystacksize +#define yyvs cpname_yyvs +#define yyvsp cpname_yyvsp int yyparse (void); static int yylex (void); diff --git a/gdb/cp-support.c b/gdb/cp-support.c index a41bcec..025b4de 100644 --- a/gdb/cp-support.c +++ b/gdb/cp-support.c @@ -73,19 +73,6 @@ struct cmd_list_element *maint_cplus_cmd_list = NULL; static void maint_cplus_command (char *arg, int from_tty); static void first_component_command (char *arg, int from_tty); -/* Operator validation. - NOTE: Multi-byte operators (usually the assignment variety - operator) must appear before the single byte version, i.e., "+=" - before "+". */ -static const char *operator_tokens[] = - { - "++", "+=", "+", "->*", "->", "--", "-=", "-", "*=", "*", - "/=", "/", "%=", "%", "!=", "==", "!", "&&", "<<=", "<<", - ">>=", ">>", "<=", "<", ">=", ">", "~", "&=", "&", "|=", - "||", "|", "^=", "^", "=", "()", "[]", ",", "new", "delete" - /* new[] and delete[] require special whitespace handling */ - }; - /* A list of typedefs which should not be substituted by replace_typedefs. */ static const char * const ignore_typedefs[] = { @@ -1459,110 +1446,6 @@ first_component_command (char *arg, int from_tty) extern initialize_file_ftype _initialize_cp_support; /* -Wmissing-prototypes */ -#define SKIP_SPACE(P) \ - do \ - { \ - while (*(P) == ' ' || *(P) == '\t') \ - ++(P); \ - } \ - while (0) - -/* Returns the length of the operator name or 0 if INPUT does not - point to a valid C++ operator. INPUT should start with - "operator". */ -int -cp_validate_operator (const char *input) -{ - int i; - char *copy; - const char *p; - struct expression *expr; - struct value *val; - volatile struct gdb_exception except; - - p = input; - - if (strncmp (p, "operator", 8) == 0) - { - int valid = 0; - - p += 8; - SKIP_SPACE (p); - for (i = 0; - i < sizeof (operator_tokens) / sizeof (operator_tokens[0]); - ++i) - { - int length = strlen (operator_tokens[i]); - - /* By using strncmp here, we MUST have operator_tokens - ordered! See additional notes where operator_tokens is - defined above. */ - if (strncmp (p, operator_tokens[i], length) == 0) - { - const char *op = p; - - valid = 1; - p += length; - - if (strncmp (op, "new", 3) == 0 - || strncmp (op, "delete", 6) == 0) - { - - /* Special case: new[] and delete[]. We must be - careful to swallow whitespace before/in "[]". */ - SKIP_SPACE (p); - - if (*p == '[') - { - ++p; - SKIP_SPACE (p); - if (*p == ']') - ++p; - else - valid = 0; - } - } - - if (valid) - return (p - input); - } - } - - /* Check input for a conversion operator. */ - - /* Skip past base typename. */ - while (*p != '*' && *p != '&' && *p != 0 && *p != ' ') - ++p; - SKIP_SPACE (p); - - /* Add modifiers '*' / '&'. */ - while (*p == '*' || *p == '&') hooks/post-receive -- Repository for Project Archer.