public inbox for archer-commits@sourceware.org
help / color / mirror / Atom feed
* [SCM] jankratochvil/gdbserverbuildid: Locate solib files via build-id
@ 2014-05-18 21:05 jkratoch
0 siblings, 0 replies; 4+ messages in thread
From: jkratoch @ 2014-05-18 21:05 UTC (permalink / raw)
To: archer-commits
The branch, jankratochvil/gdbserverbuildid has been updated
discards d7ed10238fce3b84771db9fced8d94579e2e0184 (commit)
discards 7942c500647ab683d19fbbe47c39c6cbe113faa1 (commit)
discards a46739aaffc3020ce5bc690b96a4e6777dd99213 (commit)
discards e9e5076df987055e70a5806927bd4fb9f3ee91e8 (commit)
discards 5521f4d26ee994ba331e405de5bf9d82db8b2ae4 (commit)
discards fe7e8e94ff9705e27edd57bcfb9419123f874e9f (commit)
via ee3e8236657a8bb0c3349d61e657f118a1d6f71f (commit)
via 001358687d7ea7ffff886e0ead16b19bf24a29c3 (commit)
via b1e0a6aa8ab09cea21169bfdd240aaf259e972ff (commit)
via 187dd34cffd96aa535b8a60aeceddb0d85d1c5f1 (commit)
via fe7cec8ec87e8939ba34d44a3f897f5fca2a4135 (commit)
via cdb5cc11a9ce7f4229f3e942fbafc19ff9ed4fb8 (commit)
from d7ed10238fce3b84771db9fced8d94579e2e0184 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email.
- Log -----------------------------------------------------------------
commit ee3e8236657a8bb0c3349d61e657f118a1d6f71f
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date: Sat May 17 07:19:06 2014 +0200
Locate solib files via build-id
Hi,
this is a new functionality that the file itself (*) it found via build-id, if
the regular name-located file does not match inferior build-id or if the
named-located file even does not exist.
I am not completely sure with the SO->SO_NAME initialization. It cannot be
a regression but not sure how it should behave for the build-id-located files.
Currently the original target filename is kept but the comment there says is
may confuse MI frontends. OTOH putting there the build-id located file will
show its build-id name in SO_NAME which is also wrong.
(*) /usr/lib/libxxx.so, not /usr/lib/debug/usr/lib/libxxx.so.debug.
Although GDB uses only symbols from that file so in fact the *.debug file
would be sufficient. But for example .symtab is sometimes only in the .so
file and not the .so.debug file so GDB looks up .so as the associated
.so.debug file gets loaded automatically on top of .so anyway.
Thanks,
Jan
gdb/
2014-03-24 Jan Kratochvil <jan.kratochvil@redhat.com>
Locate solib files via build-id.
* build-id.c (build_id_to_debug_bfd): Rename to ...
(build_id_to_bfd): ... here. Add parameter suffix.
(build_id_to_debug_bfd): New wrapper of build_id_to_bfd.
(build_id_so_validate): Remove const from the parameter,
return void. Handle also NULL SO->ABFD. Call also build_id_to_bfd.
* build-id.h (build_id_so_validate): Update declaration.
* solib.c (solib_map_sections): Call VALIDATE even for NULL SO->ABFD.
No longer free SO->ABFD on failed VALIDATE.
(default_solib_validate): Update its const and return value.
* solib.h (default_solib_validate): Update declaration.
* solist.h (struct target_so_ops): Update definition of field validate.
gdb/testsuite/
2014-03-24 Jan Kratochvil <jan.kratochvil@redhat.com>
Locate solib files via build-id.
* gdb.base/solib-mismatch.exp (nocrlf, expected_header): Make
solib_matching_test variables global.
(solib_locate_test): New proc.
(locate non-matching shared library)
(locate non-existing shared library): New tests.
commit 001358687d7ea7ffff886e0ead16b19bf24a29c3
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date: Sat May 17 07:19:05 2014 +0200
Code cleanup: solib_map_sections abfd var
Hi,
just remove a local variable holding so->abfd copy as so->abfd may change in
the next patch.
Jan
gdb/
2014-03-24 Jan Kratochvil <jan.kratochvil@redhat.com>
* solib.c (solib_map_sections): Remove variable abfd.
commit b1e0a6aa8ab09cea21169bfdd240aaf259e972ff
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date: Sat May 17 07:19:05 2014 +0200
Tests for validate symbol file using build-id
Hi,
new testcase.
Jan
gdb/testsuite/
2014-02-26 Aleksandar Ristovski <aristovski@qnx.com
Tests for validate symbol file using build-id.
* gdb.base/solib-mismatch-lib.c: New file.
* gdb.base/solib-mismatch-libmod.c: New file.
* gdb.base/solib-mismatch.c: New file.
* gdb.base/solib-mismatch.exp: New file.
commit 187dd34cffd96aa535b8a60aeceddb0d85d1c5f1
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date: Sat May 17 07:19:05 2014 +0200
Validate symbol file using build-id
Hi,
consumer part of the "build-id" attribute.
Jan
gdb/
2014-02-26 Aleksandar Ristovski <aristovski@qnx.com
Jan Kratochvil <jan.kratochvil@redhat.com>
Validate symbol file using build-id.
* NEWS (Changes since GDB 7.7): Add build-id attribute.
* build-id.c: Include solist.h.
(build_id_so_validate): New.
* build-id.h (build_id_so_validate): New declaration.
* solib-darwin.c (_initialize_darwin_solib): Assign validate value.
* solib-dsbt.c (_initialize_dsbt_solib): Ditto.
* solib-frv.c (_initialize_frv_solib): Ditto.
* solib-ia64-hpux.c (ia64_hpux_target_so_ops): Ditto.
* solib-irix.c (_initialize_irix_solib): Ditto.
* solib-osf.c (_initialize_osf_solib): Ditto.
* solib-pa64.c (_initialize_pa64_solib): Ditto.
* solib-som.c (_initialize_som_solib): Ditto.
* solib-spu.c (set_spu_solib_ops): Ditto.
* solib-svr4.c: Include build-id.h and rsp-low.h.
(svr4_copy_library_list): Deeply copy also BUILD_ID.
(library_list_start_library): Parse 'build-id' attribute.
(svr4_library_attributes): Add 'build-id' attribute.
(_initialize_svr4_solib): Assign validate value.
* solib-target.c (solib.h): Include.
(_initialize_solib_target): Assign validate value.
* solib.c (solib_map_sections): Use ops->validate.
(free_so): Free build_id.
(default_solib_validate): New function.
* solib.h (default_solib_validate): New declaration.
* solist.h (struct so_list): New fields 'build_idsz' and 'build_id'.
(target_so_ops): New field 'validate'.
commit fe7cec8ec87e8939ba34d44a3f897f5fca2a4135
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date: Sat May 17 07:19:05 2014 +0200
New set build-id-force
Hi,
as the build-id verification is now integrated with existing build-id.[ch]
I find logical to generalize former 'set solib-build-id-force'
to 'set build-id-force' applicable even to existing .debug-vs-primary and
common .dwz file verifications.
I am not completely sure it is right to make a common setting for both
inferior-vs-local-file build-id verification and local-file-vs-local-file
verification. But I guess using this setting should be very very rare so that
should not matter.
Jan
gdb/
2014-03-24 Jan Kratochvil <jan.kratochvil@redhat.com>
Aleksandar Ristovski <aristovski@qnx.com
* NEWS (Changes since GDB 7.7): Add 'set build-id-force'
and 'show build-id-force'.
* build-id.c: Include rsp-low.h and gdbcmd.h.
(build_id_force, show_build_id_force): New.
(build_id_verify): Use BUILD_ID_FORCE.
(_initialize_build_id): New.
gdb/doc/
2014-03-24 Jan Kratochvil <jan.kratochvil@redhat.com>
* gdb.texinfo (Files): Add 'set build-id-force'
and 'show build-id-force'.
commit cdb5cc11a9ce7f4229f3e942fbafc19ff9ed4fb8
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date: Sat May 17 07:19:04 2014 +0200
gdbserver build-id attribute generator
Hi,
producer part of the new "build-id" XML attribute.
Jan
gdb/
2014-02-26 Aleksandar Ristovski <aristovski@qnx.com
gdbserver build-id attribute generator.
* features/library-list-svr4.dtd (library-list-svr4): New
'build-id' attribute.
gdb/doc/
2014-02-26 Aleksandar Ristovski <aristovski@qnx.com
gdbserver build-id attribute generator.
* gdb.texinfo (Library List Format for SVR4 Targets): Add
'build-id' in description, example, new attribute in dtd.
gdb/gdbserver/
2014-02-26 Aleksandar Ristovski <aristovski@qnx.com
gdbserver build-id attribute generator.
* linux-low.c (linux-maps.h, search.h, rsp-low.h): Include.
(ElfXX_Ehdr, ElfXX_Phdr, ElfXX_Nhdr): New.
(ELFXX_FLD, ELFXX_SIZEOF, ELFXX_ROUNDUP, BUILD_ID_INVALID): New.
(find_phdr): New.
(get_dynamic): Use find_pdhr to traverse program headers.
(struct mapping_entry, mapping_entry_s, free_mapping_entry_vec)
(compare_mapping_entry_range, struct find_memory_region_callback_data)
(read_build_id, find_memory_region_callback, lrfind_mapping_entry)
(get_hex_build_id): New.
(linux_qxfer_libraries_svr4): Add optional build-id attribute
to reply XML document.
-----------------------------------------------------------------------
Summary of changes:
gdb/doc/gdb.texinfo | 14 +++++---
gdb/features/library-list-svr4.dtd | 5 ++-
gdb/gdbserver/linux-low.c | 17 ++++++++++
gdb/solib-svr4.c | 63 +++++++++++++++++++++++++-----------
4 files changed, 73 insertions(+), 26 deletions(-)
First 500 lines of diff:
diff --git a/gdb/doc/gdb.texinfo b/gdb/doc/gdb.texinfo
index 98bbf77..bbf91c3 100644
--- a/gdb/doc/gdb.texinfo
+++ b/gdb/doc/gdb.texinfo
@@ -38295,8 +38295,10 @@ address the file was prelinked to during the library load.
@end itemize
Additionally the single @code{main-lm} attribute specifies address of
-@code{struct link_map} used for the main executable. This parameter is used
-for TLS access and its presence is optional.
+@code{struct link_map} used for the main executable. This parameter is
+used for TLS access and its presence is optional. Similarly the single
+@code{main-build-id} optional attribute specifies hex encoded
+@code{NT_GNU_BUILD_ID} note for the main executable.
@value{GDBN} must be linked with the Expat library to support XML
SVR4 library lists. @xref{Expat}.
@@ -38305,7 +38307,8 @@ A simple memory map, with two loaded libraries (which do not use prelink),
looks like this:
@smallexample
-<library-list-svr4 version="1.0" main-lm="0xe4f8f8">
+<library-list-svr4 version="1.0" main-lm="0xe4f8f8"
+ main-build-id="b96b2f6fbfb7d144b676cb66f56b6100">
<library name="/lib/ld-linux.so.2" lm="0xe4f51c" l_addr="0xe2d000"
l_ld="0xe4eefc"/>
<library name="/lib/libc.so.6" lm="0xe4fbe8" l_addr="0x154000"
@@ -38318,8 +38321,9 @@ The format of an SVR4 library list is described by this DTD:
@smallexample
<!-- library-list-svr4: Root element with versioning -->
<!ELEMENT library-list-svr4 (library)*>
-<!ATTLIST library-list-svr4 version CDATA #FIXED "1.0">
-<!ATTLIST library-list-svr4 main-lm CDATA #IMPLIED>
+<!ATTLIST library-list-svr4 version CDATA #FIXED "1.0">
+<!ATTLIST library-list-svr4 main-lm CDATA #IMPLIED>
+<!ATTLIST library-list-svr4 main-build-id CDATA #IMPLIED>
<!ELEMENT library EMPTY>
<!ATTLIST library name CDATA #REQUIRED>
<!ATTLIST library lm CDATA #REQUIRED>
diff --git a/gdb/features/library-list-svr4.dtd b/gdb/features/library-list-svr4.dtd
index ff79990..6ab7b4b 100644
--- a/gdb/features/library-list-svr4.dtd
+++ b/gdb/features/library-list-svr4.dtd
@@ -6,8 +6,9 @@
<!-- library-list-svr4: Root element with versioning -->
<!ELEMENT library-list-svr4 (library)*>
-<!ATTLIST library-list-svr4 version CDATA #FIXED "1.0">
-<!ATTLIST library-list-svr4 main-lm CDATA #IMPLIED>
+<!ATTLIST library-list-svr4 version CDATA #FIXED "1.0">
+<!ATTLIST library-list-svr4 main-lm CDATA #IMPLIED>
+<!ATTLIST library-list-svr4 main-build-id CDATA #IMPLIED>
<!ELEMENT library EMPTY>
<!ATTLIST library name CDATA #REQUIRED>
diff --git a/gdb/gdbserver/linux-low.c b/gdb/gdbserver/linux-low.c
index 55485e0..8071dab 100644
--- a/gdb/gdbserver/linux-low.c
+++ b/gdb/gdbserver/linux-low.c
@@ -6148,8 +6148,25 @@ linux_qxfer_libraries_svr4 (const char *annex, unsigned char *readbuf,
exited above due to failed get_r_debug. */
if (lm_prev == 0)
{
+ const char *hex_enc_build_id = get_hex_build_id (l_addr, l_ld, &data);
+
sprintf (p, " main-lm=\"0x%lx\"", (unsigned long) lm_addr);
p = p + strlen (p);
+
+ if (hex_enc_build_id != NULL)
+ {
+ while (allocated
+ < p - document + 200 + strlen (hex_enc_build_id))
+ {
+ /* Expand to guarantee sufficient storage. */
+ uintptr_t document_len = p - document;
+
+ document = xrealloc (document, 2 * allocated);
+ allocated *= 2;
+ p = document + document_len;
+ }
+ p += sprintf (p, " main-build-id=\"%s\"", hex_enc_build_id);
+ }
}
else
{
diff --git a/gdb/solib-svr4.c b/gdb/solib-svr4.c
index 7323970..d305fc7 100644
--- a/gdb/solib-svr4.c
+++ b/gdb/solib-svr4.c
@@ -361,6 +361,8 @@ struct svr4_info
/* Load map address for the main executable. */
CORE_ADDR main_lm_addr;
+ size_t main_build_idsz;
+ gdb_byte *main_build_id;
CORE_ADDR interp_text_sect_low;
CORE_ADDR interp_text_sect_high;
@@ -1046,6 +1048,9 @@ struct svr4_library_list
/* Inferior address of struct link_map used for the main executable. It is
NULL if not known. */
CORE_ADDR main_lm;
+
+ size_t main_build_idsz;
+ gdb_byte *main_build_id;
};
/* Implementation for target_so_ops.free_so. */
@@ -1119,6 +1124,27 @@ svr4_copy_library_list (struct so_list *src)
#include "xml-support.h"
+static void
+hex2bin_allocate (const char *hex, gdb_byte **binp, size_t *binszp)
+{
+ size_t hex_len, binsz;
+
+ if (hex == NULL)
+ return;
+ hex_len = strlen (hex);
+ if (hex_len == 0 || (hex_len & 1U) != 0)
+ return;
+ binsz = hex_len / 2;
+ *binp = xmalloc (binsz);
+ *binszp = hex2bin (hex, *binp, binsz);
+ if (*binszp != binsz)
+ {
+ xfree (*binp);
+ *binp = NULL;
+ *binszp = 0;
+ }
+}
+
/* Handle the start of a <library> element. Note: new elements are added
at the tail of the list, keeping the list in order. */
@@ -1146,25 +1172,7 @@ library_list_start_library (struct gdb_xml_parser *parser,
strncpy (new_elem->so_name, name, sizeof (new_elem->so_name) - 1);
new_elem->so_name[sizeof (new_elem->so_name) - 1] = 0;
strcpy (new_elem->so_original_name, new_elem->so_name);
- if (hex_build_id != NULL)
- {
- const size_t hex_build_id_len = strlen (hex_build_id);
-
- if (hex_build_id_len > 0 && (hex_build_id_len & 1U) == 0)
- {
- const size_t build_idsz = hex_build_id_len / 2;
-
- new_elem->build_id = xmalloc (build_idsz);
- new_elem->build_idsz = hex2bin (hex_build_id, new_elem->build_id,
- build_idsz);
- if (new_elem->build_idsz != build_idsz)
- {
- xfree (new_elem->build_id);
- new_elem->build_id = NULL;
- new_elem->build_idsz = 0;
- }
- }
- }
+ hex2bin_allocate (hex_build_id, &new_elem->build_id, &new_elem->build_idsz);
*list->tailp = new_elem;
list->tailp = &new_elem->next;
@@ -1180,6 +1188,9 @@ svr4_library_list_start_list (struct gdb_xml_parser *parser,
struct svr4_library_list *list = user_data;
const char *version = xml_find_attribute (attributes, "version")->value;
struct gdb_xml_value *main_lm = xml_find_attribute (attributes, "main-lm");
+ const struct gdb_xml_value *const att_build_id
+ = xml_find_attribute (attributes, "build-id");
+ const char *const hex_build_id = att_build_id ? att_build_id->value : NULL;
if (strcmp (version, "1.0") != 0)
gdb_xml_error (parser,
@@ -1188,6 +1199,7 @@ svr4_library_list_start_list (struct gdb_xml_parser *parser,
if (main_lm)
list->main_lm = *(ULONGEST *) main_lm->value;
+ hex2bin_allocate (hex_build_id, &list->main_build_id, &list->main_build_idsz);
}
/* The allowed elements and attributes for an XML library list.
@@ -1217,6 +1229,7 @@ static const struct gdb_xml_attribute svr4_library_list_attributes[] =
{
{ "version", GDB_XML_AF_NONE, NULL, NULL },
{ "main-lm", GDB_XML_AF_OPTIONAL, gdb_xml_parse_attr_ulongest, NULL },
+ { "main-build-id", GDB_XML_AF_OPTIONAL, NULL, NULL },
{ NULL, GDB_XML_AF_NONE, NULL, NULL }
};
@@ -1444,15 +1457,24 @@ svr4_current_sos_direct (struct svr4_info *info)
Unfortunately statically linked inferiors will also fall back through this
suboptimal code path. */
+ library_list.main_build_id = NULL;
+ library_list.main_build_idsz = 0;
info->using_xfer = svr4_current_sos_via_xfer_libraries (&library_list,
NULL);
if (info->using_xfer)
{
if (library_list.main_lm)
info->main_lm_addr = library_list.main_lm;
+ if (library_list.main_build_id != NULL)
+ {
+ xfree (info->main_build_id);
+ info->main_build_id = library_list.main_build_id;
+ info->main_build_idsz = library_list.main_build_idsz;
+ }
return library_list.head ? library_list.head : svr4_default_sos ();
}
+ xfree (library_list.main_build_id);
/* Always locate the debug struct, in case it has moved. */
info->debug_base = 0;
@@ -2979,6 +3001,9 @@ svr4_clear_solib (void)
info->debug_loader_offset = 0;
xfree (info->debug_loader_name);
info->debug_loader_name = NULL;
+ xfree (info->main_build_id);
+ info->main_build_id = NULL;
+ info->main_build_idsz = 0;
}
/* Clear any bits of ADDR that wouldn't fit in a target-format
hooks/post-receive
--
Repository for Project Archer.
^ permalink raw reply [flat|nested] 4+ messages in thread
* [SCM] jankratochvil/gdbserverbuildid: Locate solib files via build-id
@ 2014-05-17 6:02 jkratoch
0 siblings, 0 replies; 4+ messages in thread
From: jkratoch @ 2014-05-17 6:02 UTC (permalink / raw)
To: archer-commits
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain, Size: 477925 bytes --]
The branch, jankratochvil/gdbserverbuildid has been updated
discards b5f21a557fe7556e005e1668c25b60817fa8c5ab (commit)
discards f7ca538f516871db3c25f72341250b36c0761537 (commit)
discards 3348967bdcf0f9d0007ee8b39122f5beca796612 (commit)
discards 074475a91fbac2ce95078efe33c9adea34b8b846 (commit)
discards b35540c6d57608d9bec3039aa4efbe567e8d0ff3 (commit)
discards 88eedb227c9ccdef185463cb3bed0fb86bbadc1a (commit)
discards 48f7a38bdfd5ebc740f46d54e0fa6d782738f7c5 (commit)
discards efeae1f1529f916b6b21e3e48502d9a48c6f6813 (commit)
discards ddaf6724c0b5eb205f5ce6039e75b213bdb2bac2 (commit)
discards babd16ee72e5bcace88b4add0a9c938ce6382ba9 (commit)
discards 7e867dd78fd647a013f47496967439b19fa9b944 (commit)
via d7ed10238fce3b84771db9fced8d94579e2e0184 (commit)
via 7942c500647ab683d19fbbe47c39c6cbe113faa1 (commit)
via a46739aaffc3020ce5bc690b96a4e6777dd99213 (commit)
via e9e5076df987055e70a5806927bd4fb9f3ee91e8 (commit)
via 5521f4d26ee994ba331e405de5bf9d82db8b2ae4 (commit)
via fe7e8e94ff9705e27edd57bcfb9419123f874e9f (commit)
via 0a91f542274d925f145c6f56beef94725eec3300 (commit)
via ab9b0dbce5abeed06ce043c06ad62b30ed78616c (commit)
via a876648a04b0da7545a2bb654db049a2b8d49acf (commit)
via 37e8497a1e23d969c53f8f245293bee6ee7c1aaf (commit)
via 4f3909baa11e41d4b9f63b747d8d2160928b1111 (commit)
via c01a2b5d2ac97f8310247065080c6a87c049028b (commit)
via ff46be9062f65422462792ffda6bf1f896a71541 (commit)
via d7761c2cba7af75af2feba4a0a6a0e20afaacca1 (commit)
via 0dbe70ceba9641d585de92136e20cc6f5e252647 (commit)
via 8d551b0239b795065ecd2cb2bd3cae2e9ee2a7df (commit)
via 18848e288ca9d1ca242cce667419bbb6728442fc (commit)
via 5febff9be8a87afc40679faedfd78cfff8b1cf95 (commit)
via 6e6e7cfc78e3ae1f4b670fc42d3b4e113d57a62b (commit)
via 856ea05ccf051d4d86f422552f5cdfa83659dd6b (commit)
via 73eb770959c8d8d927dbeafbf6038a651e0cb1ae (commit)
via 3fae92fc2aed37c78df4610f3c52e2fc242846b0 (commit)
via 95c64f92be44781ab0f9472e88296fbf971c79fa (commit)
via 19679ecafced89bcaea535d8129f6ecbc8199e9e (commit)
via cac395eae4d97d9f59c5e588e4e662f2ae6cdfeb (commit)
via 791849751dd82722d4cfaae844e1fdbed445af5a (commit)
via c2b2ccc5eddd4c0f592576c983135c0f18b90bf8 (commit)
via 83655187cbef02404645abcc98d607e22eeda573 (commit)
via 8c217a4b684386aa5ce6a078dffbe63265a524e6 (commit)
via 3deb39c62d3cdb80ac3bdd4d418e05737433e7a6 (commit)
via 5fe7ffdc98b769de3ea67e6f38bc5de57be7b265 (commit)
via 57b287416bcd3dd29202dff55d89dc7a68196cc8 (commit)
via d9e042ac0bc08b6c3890cc53cbd43c73c522e720 (commit)
via dd7566892070fbccb91c536c46584c20ef29961b (commit)
via 71a79f8c9cf2a66f4e4cb9b5c6cb44f8723724eb (commit)
via f23fcd46a7ca34bf466de9164780a78d38729ff7 (commit)
via 75ddda778c7fcdffea72615bc5b89d17bd107927 (commit)
via 5a9b37037831a93767513b080a0e4eeb4080ff7a (commit)
via b0f16a3eaf0226b21a2a9032d9fac069009b96d3 (commit)
via a82bef932ec11cc16f205427f8a056c3c0ea517d (commit)
via 033c337911594898b44678fa10b47ee19dd234b5 (commit)
via 1642b4b33783d70979dca379d57a0ce02559daec (commit)
via 9b44a3a57d17ea2d35823780007a38daeeaec6a4 (commit)
via bad1aba328293fc62831ac451edc55adc37ead36 (commit)
via 51e719b4e118f69862775772053059700a331097 (commit)
via a7da346e5c9dd33f4fdc9b053d1991131a911926 (commit)
via 17b609c3fc8f78852655096a1be04fdd2ba3809c (commit)
via 14f8b115e4395b76bfa792d7e9a7d0e26a4c4691 (commit)
via 303a33faef8fca9b26b18a02550541c5f61ace9e (commit)
via 196100a019964c09588686553f3b6687f6e3fe15 (commit)
via 35a1657d261fa214c45c4c5beeb992def5f63bad (commit)
via fae663595d6a49c5e4de58e17fe93525bec65ae9 (commit)
via e5898c282777ea27093bdc694b25cd8eaf795f0a (commit)
via e20bd8f437879624de168bb2fe39383b045565a5 (commit)
via eae25ec5773e12af107e65fcf0c94a54bc5180ae (commit)
via b1f02b89ed9e9c68eab6f645e19634315a6525c4 (commit)
via df18fdba5dc9243d657c6e26a3a4e2c65e62b8bd (commit)
via 0c263177a5123186a05b44d3d76b7a3f811e70b9 (commit)
via 53c6660516a1720dd0d143bf829c6a35302fc003 (commit)
via 0ae19f059afedc024e707a99d767257574758046 (commit)
via 0b35dfeec64597fe12495295f6d5e9b12131a390 (commit)
via 91662bad25e6367e37b15c17ed1bca2a72b9c090 (commit)
via 3f48575af8379567edcc1d6f7fb25c14237cbf30 (commit)
via c3c3c691f2d56953d81a2a7da214623d8aef857c (commit)
via 81ad11e32c40b9d53e578054e2885087f347c337 (commit)
via 201f096fea34784b34e9084bd18e30097c273c9b (commit)
via 730af8ee0203fc0061f0adbb501f8e773f738aab (commit)
via a2d010462ce99a4fc79fb19c31915f86fafeea43 (commit)
via 10fe779dd24e3809070b5b634214a9c7d8b11814 (commit)
via abca8d871a6f8f4d7f9762133e1af637869da1bb (commit)
via 68d122bb0e4b298ce302c15e0cd1b574727c4f86 (commit)
via 8458514f6aa55ed139c0d28c6822ef98bc9f3497 (commit)
via a18138132bd35df3ebbcc6d39091c6e713892b53 (commit)
via f989a1c8ec5d25586c937cc39948b032e07cf1c0 (commit)
via 263b257428741e10dc4a127cc46c57379307f421 (commit)
via 68e0f6b16d6ce24c912affec6b049a5452c7df3e (commit)
via 8969934d3180d80b4cb5da225e25379a880b5476 (commit)
via 999b995ddc4a8a2f146ebf9a46c9924c6a7c65a6 (commit)
via efefdd63628d540f3ad513b2bb2036dfc53f00a8 (commit)
via 52f4ea798a490e414112e3caf1e0f93abfe2e48c (commit)
via 1058c7532d0b012ac329219264ddad59049fb6e6 (commit)
via e59bc75b6546db04b0f3e1d760567f83ffc801f3 (commit)
via 9404b58f46328b3b171b0d5eeb0691bd685bc4f5 (commit)
via ae52f4830604b4b82bcbe6ad52208d5efcea2f82 (commit)
via f7730599d8876775726866275d5ce392c2669e9e (commit)
via 5e45f04cf3408e662c460a23a3722fedfb03391a (commit)
via 1144861e0849fb67a8233d5a180f8ddae5e3f8a0 (commit)
via 57b2284c6318841612acef23c60fe7298a1ac91a (commit)
via 757a636fb585824699b1cc4f8f23dbc3a6a6d914 (commit)
via 5e824b358f831b0cc4352ed6a3079c6f540fc107 (commit)
via 6b97515d17b48e92f61d53fd5f2e8b092660ba52 (commit)
via 5e49ba5736ccaabaa3f11e9db491ca3554bf2a5b (commit)
via 285ca99246160d12a3173076a661b6c524338baf (commit)
via c888a17da5c7b06eec4b1ed21e4afe84f9a41347 (commit)
via 290a839c9ab3d33d2a1b42431154b65624a81b0a (commit)
via 91256dc2fb82e6f68dce9b577e26cd89695b6c21 (commit)
via b5262cd094e73112fb86297df9052ff0560f68a4 (commit)
via 74183dabc3e3c253f171e6765a8753709005b44b (commit)
via 5c1a8bf5167c14550a3699243283a010a0651123 (commit)
via 6ddd353ce073cb5ed6baedfb809bfb427342e7cd (commit)
via 07284463de87545ab155200c83cbeb05db575b2b (commit)
via 19a170752bec78784b737789c1bdab8e7ab82a71 (commit)
via d1bddd3c4b9c17736bf6c59aa336670a589ca844 (commit)
via 30a1e6cc7750ce016ea70afa795c0764d07d21ae (commit)
via f33da99a5410692ddf1302435e27b1bfc21d0b11 (commit)
via 54cb4522e7555fdf766201c3c74bfc8510c83424 (commit)
via 8df14d78dc753a5286bb6461a14d8baa1e13e3cd (commit)
via 2f67d686330300d4d27ff99ec47a970d744df8bb (commit)
via 6d00b590316c0b08de21a264893b0fd627c54686 (commit)
via 4e60800159eab4b73ff263595986d5ae4eaf7413 (commit)
via 5b80f00d51b4eb40cb142a633bd657b84aca33eb (commit)
via b46fa76826669b1496cac329d132485ede779d85 (commit)
via 1218d67db11b6a1aceeb477855047f70d4856854 (commit)
via 39d1b2aef3c1dbbf31d82e555624afcbda9d58e7 (commit)
via 3efe9ec51e506c4428906a18e88e664576fb715e (commit)
via 95cf3b38cd2fae4a53c8ff12bef21b2ae3fdd0cb (commit)
via 86a80a50f2cb244e6b9ec18b93675972baa50d78 (commit)
via f8c2a73c881913a25c1cb5be766516a75588c7ab (commit)
via be6e8ac7441c51348adfcfe495c6dff59a38ed19 (commit)
via 65bab56b9b708e0af46d3beeff6276dafd78c993 (commit)
via a4526a9a95f4885aa52d5fdc4b3e21490cc6a8f7 (commit)
via a953eec996f2f93914cc78d68d4478a2660432b6 (commit)
via 1cfdf5340af6f07bb44b97c278f7036ef8db5c43 (commit)
via 5087d529319fc6d5985032183c138dd715d707b3 (commit)
via 264bddaff16ce11038fa8e40068ec7535a3a7f3c (commit)
via 230977a4a571a15fe81b689b1706129d4c4e0daf (commit)
via ca4f7f8bebc069b8beec58754dc721e9be0798c7 (commit)
via 11903c4c65d3bf0391362ac389b96ffdd9f58212 (commit)
via cac0dc8f4b0688771a4ab8a4012fceb1323167f1 (commit)
via 11c1ba785203f7f121324fa9727c2adbbc2119c2 (commit)
via 8739bc53cd91cc38287432b1fb880be327c9435c (commit)
via 6f8a3220a931ac052fedd75539058bd8aa97b3a8 (commit)
via 4d072ce478ebb605b2f0ca326c7c3168d4ee5989 (commit)
via 528653254b46ccd95d7ffbef73acbcc1242eaee6 (commit)
via f01c1a090e6629be280efb3c596d818f1f74ae2a (commit)
via 2b577b92f0a6dc2ab894b604415cfe272f273e11 (commit)
via 40af4a3636504a0e7e0223b34ed1e7b15c4fa5da (commit)
via e3e163dbb0c50aa94af5416aca86d9ef9c225205 (commit)
via 433e77fad1fda55408db072de18dcd4f9116289e (commit)
via 7b667436a52c584267cc78d1fbc05c84856192ee (commit)
via b51a69ee0944b8ad1b020bcab85f88acdae8b10f (commit)
via a9e18c6a3c4a90c0edcfdfdda5c181cdee43421f (commit)
via 9730e6ccc4307a03ae2a0dd5c8a17a30fcf9b1f2 (commit)
via cec9d598f54503baaead6c8009a7998a0cd731fa (commit)
via 94611da2409673314d7caaf38c66baa52d6f5adc (commit)
via 7ae1a6a6ccda41aa8bbe9adb0f7fcde8bf8d5cb3 (commit)
via 4082afcc3d1af9d8063d1c8e02deb34a8b97a489 (commit)
via 88667baf24e71481f0002c0452b94a1d53116725 (commit)
via bdb52a22a7672fa716997bce67ac9c1fcbd7c338 (commit)
via e9475ead987ab329928324c3b7a38d17300580ae (commit)
via 2abc3f8d59e0130e5340a5489b53556f12c9d0ce (commit)
via bfd39632142cba581a430e41ed38c5153d1fc07a (commit)
via 22842ff63e28b86e0cd40a87186757b2525578f4 (commit)
via c2e827ad5340fcf1735df6c77cb0311e56b985ef (commit)
via 4c2d33e7a2309f4cec2a1a850c53e8f6e147e5fd (commit)
via d7e6f612d6ace85eb52cc1265c519c0d44f07b47 (commit)
via b2bcb4bdeb27d3184f4886c372f19207530a5233 (commit)
via 56083b99d7c76b89ebf3da6aa60ebb4ca80f3683 (commit)
via 82eacd52ba9130cf0126fa513775b5d4415f7da3 (commit)
via 25d4e99db83ba758e3c888d321b9f2f7845701a0 (commit)
via 08937d8023b1bd8d0b1c4d8b2f4a5951478c6ec3 (commit)
via 01f9f808e2e86187c95e7cff4aeb014a421a53ce (commit)
via 93ee1e3683a12f4774b8beb4f821910982e21ce2 (commit)
via aaca88efb450bff71523d7d6f23a67f47a4d5fb3 (commit)
via 3714081cb37fc60f3262b4c64e81539eb4f3592f (commit)
via 2a87f7b84f1a3d101a19d7008802172ff50596e5 (commit)
via bf2cc635e2d45a0c59b1edd0c53d75ba495790bd (commit)
via 7849f6d8dc37fc3da2fec06ac1d47afbe4b81059 (commit)
via 4b48d43901e9864f9fc1c135ec75c80bde226cb8 (commit)
via 51aa91f97976e0b4d6103d5c6e6a60bbd09be2fb (commit)
via a4165e94f452b3137a1071a5034853a93a9de1a2 (commit)
via b8acf843690988fa96123b3c54bc3850d874eb35 (commit)
via 08351840eabb44799e3d01026610420758f4fa40 (commit)
via 076855f9e36ecfe8af325b197e9ecd46deb9fe6c (commit)
via 8a52f0d9837ae191eb6d85ded55d3a04da3b7f12 (commit)
via 4862acf1cf6f1e65bf38cd0f594e80e2ad8b5b28 (commit)
via 47fc6e36e3863545a6225034d97f64760fffae05 (commit)
via 7d64c587c15f290d228ca550bb288d53f0eb2ac4 (commit)
via cd0449ab05e9045682a81bf521bd0c8732c98feb (commit)
via 1547d98f5a774617b38f2bdd9be3b5c21c2b9312 (commit)
via e883b50c50feca944164a57138c9924f39509764 (commit)
via a35d5e823fdfe8a6e7e05ca8e3fb8bb5697335b1 (commit)
via 483805cf9ea5a6dace41415d8830e93fccc49c43 (commit)
via 06d9754365774595eae45a8548d5f24d7093006c (commit)
via fad16e308cc96f460d74cf240b76b414c331d7fa (commit)
via 43c001c7d638bde9f310fdc3a199e02036f7b205 (commit)
via d5f59c10fc37e325d3fbad4ae7970c7cf0857b46 (commit)
via 73589c9dbddc7906fa6a150f2a2a0ff6b746e8ba (commit)
via a75fef0e5bc3bfeb4eac434c1c68831f55ab597d (commit)
via 285fc9d8f8ed30b8a9d680fbf37e8f1843b95bc0 (commit)
via 5d3b02f0036dbf39863fd24414e28f28a53ea1fd (commit)
via b4429ea262cfbeb9a6ebd9308654b0883b19d1a5 (commit)
via 48b6e87ef297136a6409c2c993c4626f28bbb4d1 (commit)
via f159927f4d15d820a6eb615e33d68780db035c8d (commit)
via d1c109de72f880ea2a761fccb41f330672674fd9 (commit)
via cc75d373fdb9668f367959f99f0b67e056a6c18a (commit)
via a7bdd4ed3f8396e707231cbb7ee989d2e8ba9d46 (commit)
via 8b5c7890e8bfa3360339c303599fe5b0c9faa848 (commit)
via 17617f2d366ca969ccbc784be4f75931a1afd20f (commit)
via 5723a6fd0636bed6d278ab19f6ead31d748a7a78 (commit)
via 614d5099da07f5899dfac9720f49b9f6f350c1bd (commit)
via dac3e7103f2822b42ecbb58e40f70f7ccb802d42 (commit)
via 2bca57bacc88e4d81fd92c72f1d4eb42c1372ac8 (commit)
via 13cfc86c8705188e003035775a017f36c56f75bd (commit)
via c9ffd2eaf8efea61f083a5c226df8aab0aea6e23 (commit)
via 967b2c539ac8232a7922ed303106d1e5fde120d7 (commit)
via 4525c51ab02e6fdd29017d353e5decaceaeb1000 (commit)
via 51d481464ec03be1f5479ed648cc38fb944d7fc0 (commit)
via 1bdad2e0421a56e16c0f4623e6320e1225cbe5ee (commit)
via 4384b28422294779be111ac24fb34fb6bfe57b32 (commit)
via 452216ab0978a5684aacc76a422efd910d7c15df (commit)
via 8575cf7345408b513264484ccc72b6b14452be0c (commit)
via bd1dce5fe56e4454e2c5ec17a1ebe685aeb9aea8 (commit)
via cb22ccf4110d82441b8d56875419d871f10f3f8f (commit)
via 7ce16bd4c4d5e6f6a48ca7fcf532720fec0406bf (commit)
via 2ed3c037cf8aac5f6dbee5b6c2a1239550a04202 (commit)
via 40d1a503c43cda6c04a637972e5635d803f46cde (commit)
via 4c34aff883e4fcc958a2d2c98874a035efc07651 (commit)
via 389b98f7d880c8551bec64f9e7fb0b05fa941de6 (commit)
via 71e50e8314af251f153207192194eaffdf638f5e (commit)
via 1568481a553b0071c397e6d5d79a8cae4133485b (commit)
via 7a23c5494be60600d34527f5adeaa2a34b85fdb6 (commit)
via 8000c58e455259951daa4370631aa616b367d1a7 (commit)
via 22869d73e127511e177a6bd855f9b5dbe22b9eca (commit)
via c4f87ca6dbe041e2a331e5054a76c9134f29d545 (commit)
via fe28be73c7c22cc6eb1c3573f1be65c75e37d9b7 (commit)
via 8056826a68e7cb370425c56703a52af98fa159fe (commit)
via 751e54c92eb7846e3edcd9b8179051ab8174e5b5 (commit)
via ab19de874b887743e0862e6680e561f6fc4f02fa (commit)
via fc98a809db2b6792a47919d30c9bd3446f5a83ca (commit)
via 8e63ef2f2539b7fd3f81f11d930b8bdf8daa9da1 (commit)
via e89d3dee76bc7f2d4b967ce9238f7f22e0a7c147 (commit)
via 47f8a1070c0619bf7698e6584f7196f06e529da0 (commit)
via 12241a34d72fe9be70e8c7001b05764bb7e9738e (commit)
via 40fd06d18832d52c9ab08914d8d5428ca68e5726 (commit)
via 7d9ac5f946c94de300fb22962b53701d2b73c52d (commit)
via 87fd9e6ed8fdac0661026b7d2a66a9b364fe4bc2 (commit)
via bfb1f6c31687a01e2763a30c8ca92e0426afb725 (commit)
via 099fc3ea4c68d257cc52c21844173d75873313b1 (commit)
via 99fd8cfff7a9da67efc2e6c627176f5c767c6e7d (commit)
via 91f43acd5d692518f95a901e92dec7dbb6347564 (commit)
via 5da151d470a6c99ae6cbd5efa01f2a3b97261e59 (commit)
via fa85fb9a1bf35209a149d07ebefb2a8970e4a27a (commit)
via 35e5d2f0f81d97f9bd41586b1979345072b7989d (commit)
via eb4c17106b7303565b8d0ce8b572fa64945d1e7d (commit)
via 2d1baf521e08bc390d604aaf1326347cc130ce1f (commit)
via 7dd6df0171796757f404a549c76f0d9b9192c849 (commit)
via 170015c5a013f0036073ebc3d455c379371edc27 (commit)
via b50c861487bb7d71185777193a9246bac81e4f26 (commit)
via 3d567982aca11c85a7fa31f13046de3271d3afc8 (commit)
via c848d64244912f9f411bec7b1c045bf14c72b61b (commit)
via 0626fc76d1b95c1c5b158a9b0be17791aa9078f8 (commit)
via dca325b370730f8cfd3b63ac848569bf58d8746c (commit)
via 5854b38a00f8f5021e6d9b075e882aafcf2e91ed (commit)
via 463bb9571be732fdbd3101bd6edd104c99ea4883 (commit)
via 3dd170be2528487b4c200b531d7abda38d64634f (commit)
via 5ecaaa66e0d056412ca95b3ac2e385b3e470a95c (commit)
via 1612e0c0f973f3defdfb2e74b09ec93f3d819c79 (commit)
via c451ebe5dd0c38617c74e0b6f0d5ef3188c25d56 (commit)
via 1d42e4c4d85cb12ce07a5349b1b2e11dce2d077d (commit)
via 9f1f738adae6b28c4f7db7e3607b4c224f1f7612 (commit)
via 3c8452d46ac23d455c30438d0885a738e02b56e1 (commit)
via 4ad88275f81a586e32e86351cc415a97d58ef448 (commit)
via 80180f796d366d230822c07a15aa68971abf9d77 (commit)
via 41f1ada5d2d4cff7a235644661ec30de156fd038 (commit)
via a155684382884a471075e02b265b4dfbdbc79332 (commit)
via da3a208854095a3e11d592aed2efdabe7c73ae11 (commit)
via f87121158599eb6f6463092ecad0a988d3e3cd75 (commit)
via 3c4630ee7e281aadf6ff24cb3b94919a84ab5f31 (commit)
via 0be03e84176ab0077462b84ef236c56a7a0376fd (commit)
via f180a1fb463a6a9ab4a883374120d16770486914 (commit)
via d616f26a0480204b401470af5759ea2c60775644 (commit)
via 191a8a90463a21431432b36bd33ac2197ea6e3af (commit)
via 6b662e19e420d2ef28f14b985390977080bcd341 (commit)
via 245a5f0b7429b03566eb3f57a92544218f33393c (commit)
via 32ae0d80cd430150ad9536aa160f34f504e129bc (commit)
via 58a84dcf29b735ee776536b4c51ba90b51612b71 (commit)
via c8655f75e2f0fada311be193e3090087a77ec802 (commit)
via 024e13b46f9c33d151ae82fd9d64c53092fd9313 (commit)
via 1a237e0ee53bbdee97d72d794b5b42e774cc81c0 (commit)
via 504f34326e5ae7c78ebfcdd6ed03c7403b42048b (commit)
via 3bce82377f683870cc89925ff43aefb7dcce4a77 (commit)
via 92b09522dc5a93ba4bda3c1c0b3c58264e357c8a (commit)
via e1969afbd454c09c3aad1990305715f70bc47c3c (commit)
via b86138fb0484f42db6cb83abed1e3d0ad2ec4eac (commit)
via bcd629a44fff61527430f353cf77e20fe3afc395 (commit)
via 04b19544ef6a97b62b2cc4a3170b900e046ab185 (commit)
via 26cb189f8b46dbe7b2d485525329a8919005ca8a (commit)
via 37c1ab67a35025d37d42c449deab5f254f9f59da (commit)
via 729efb13174d6522fba4aa7ab273e7f25a253c47 (commit)
via 0c9c3474029f5250b428274eaf63f7a349c6fc5f (commit)
via 85cf705b9d4c2082e5c4a41126bf773ff435d3d2 (commit)
via 322f9c2100806387b8ace4df7a2b940b03b3d703 (commit)
via 1511baeca965fcf4cf36379c6b3f8a0b85263544 (commit)
via 0a1478f501e2470165d469618ddd069e2c7e4f27 (commit)
via d708bcd102465e520c56e8be3ca4c9097dd389cc (commit)
via e4ef1b6c3fee295ab41138bf77a82dff16f1d7c3 (commit)
via 9d497a19eabe25b3af1cdd50a957592ed22658e5 (commit)
via bbaa46c0f3f297bf776d9a171a7442e8a6f7a024 (commit)
via 7af20180c0c537c78aabf4cfa0e9ab2880a52877 (commit)
via edf84efc4eae005d0e543e13cc51a751296e6aad (commit)
via 2eec7d5ba1928301955f4da013072c3e2f69f4a0 (commit)
via 00c06fdc57ab89d14789b5207763410a79c39a11 (commit)
via 15a9128a964499b78bd70ef3d2dc73edce56d825 (commit)
via 19e1c431f72007f8a7a6a8e8b2511c74f3e8a000 (commit)
via bf7279d5358c47b90b89c4b6b5f8be9960120be2 (commit)
via 62ebcb5cbedf0fdc0b5faaa05e46aa43ced2aa68 (commit)
via e30d16e9ecd56cd2557b30ae1116946d772944b3 (commit)
via 81b1ec4ff645501f0ea7fc32af34e96e1972b5c1 (commit)
via 3f7df22100cfb9b0cd3d8aca02aef4d33355bb17 (commit)
via b4ab4364239efcf0cec74e89a85d844d628138c0 (commit)
via 9c97a0704e03c662b6afd92032c171fe6714b42d (commit)
via 6c1799adabb2391ac088828501135cd0dd11b2da (commit)
via 61e2488cd8497d158303a78563ad40f51f5c3f8e (commit)
via ae1d276159c3cfb29caacdf567aea01f433f78b0 (commit)
via ebb8ed8e946c7e48f64a3c2577403594c3971230 (commit)
via 7af389b892404edc76e1a60c59b354b785378fa5 (commit)
via 5e703181143d5eb3724115e5cbb59a6b294e6222 (commit)
via 17c34b8f3d79369cfb3a3f9d37109a7051bd8ea4 (commit)
via 86ad98c392e804eae299eb6226e16732a521a9b4 (commit)
via 5063a42103f83b921b0b6899acdd5d4d920fdc36 (commit)
via 27f0d6b4fe4888e3bb0bdc8e64af51c521fa9f1d (commit)
via 8520f58492b37c82881e10db2e45a0932928c064 (commit)
via 115c6d5c37ee70477adc3d8c45ec7d77c2278951 (commit)
via 2cafe348f61bae1037dac338ba434ebf86c0d670 (commit)
via 50f800063da5cfe4e7fc5f7056530d1802af398c (commit)
via abc9061b5c4d684da66945a9928d54a424cb6e4e (commit)
via 2cf200a4c8a850e6f696e572ea03f340eae97c8a (commit)
via 26954155a64f1a6a24b96213a8ee2f5390e649c6 (commit)
via ca148c5ad5baae432b763cc40d01333303ceb9db (commit)
via 47c509326557dcef05608226b8d6428476289886 (commit)
via 4ef27e045fbd5b9ec41685ea3843f65fc15827af (commit)
via ffe54b3798db9112505e7f6b9d5e0d0b13823a29 (commit)
via 4554c4528a3548320c020f9baf97485302624300 (commit)
via c54a1dd8a203d6f161366a251b269a0ac9fad37a (commit)
via b0aeadb398e0cea7a7f0ff3e6fb20c9aea98453c (commit)
via b69c87280595b7ce4e956cb2a62278412f0722f7 (commit)
via 1b6aeedbb8e8f6c65d228f0dab3dab522d2517bb (commit)
via 92b1b67865c719e83d12578e584ca5e20d172eac (commit)
via 965b60c9460bb63c3c6fbb749b6a2deb541f422f (commit)
via 707e555b846bf0f529aaffcae9aac375ab3d6b3d (commit)
via 9810b41048d4fc230ec5e124ecdead4a3a9598ec (commit)
via 048ea17465ce5effe702895cd644fa3d9dd94680 (commit)
via 2493504aa84aceffcdb5f3febddca03e7c3d8176 (commit)
via c3fcb7757e59bc743db8dd71f9a66767b2167c29 (commit)
via f0a5d95aae21532529061054fa13816d7adf81d8 (commit)
via c4eb27e1db8ebff3c498871a715ffdd66e20880b (commit)
via 31c981bc36b1b62cf8952f3eb9125f500f5bd7a8 (commit)
via 4bfe997046bf63c6f3c3cf110aa78c2489c64244 (commit)
via ae447ddd12cf05bc5bef90c4a3f53239b5bcf2f9 (commit)
via 0a899fd5acf97c0c9af7c6548e2c0e132148cf78 (commit)
via cad0da33dc43a207a7c4baf32223831b2d0ac60c (commit)
via 7a79c51466c30188d49d03d3e3593c87e5a3345e (commit)
via 5979d6b69b20a8355ea94b75fad97415fce4788c (commit)
via cf2a3e990524cb794c75e0493169736dee6a660c (commit)
via 0d60c28836dbad4a48e1e0e8702f7fd56fca9e53 (commit)
via 23d72939765598839d20dfb70c986206bf7751ca (commit)
via c275b681a57c50a6ed5d7cb5192be588fd451427 (commit)
via a41f2563d040d86954ccda7faa4a8ad7bdbcae88 (commit)
via 98d1b8dcd84bb39ba5d0731162f241890d4ce5f5 (commit)
via 3114cea14b326c1d429388559f020103108b3019 (commit)
via 62f7182c14492421b8d59ba5c6640d6c27ad6ea2 (commit)
via 11a865c84fcf530d8d96d01566f4bde378f629a1 (commit)
via 4658f0eaf5036d9e4e9b968d9f31366746029c10 (commit)
via 770e7fc78c3c94195cacf2d7698a252d410886a1 (commit)
via 76f0cad6f4e0fdfc4cfeee135b44b6a090919c60 (commit)
via 72c56015dda568cdcce75dc0316aa768f922c2d7 (commit)
via 46e2bafa7a77fb852862a89bca861ba39d9cdb8e (commit)
via ddb223fe95bc5ab8a74b21b7390021ea8865ccb5 (commit)
via c32c64b7a18f8b1337ed58b285d42763180aee05 (commit)
via 7c0bc051fcae47b9f8620de156ddd744ec85309d (commit)
via 97d8f0ee776d6bbeef9c529f2880dedbb659492e (commit)
via 79771829be161fac84f4f5e84bab9212ade70d3f (commit)
via 8547a0f90373aaba055bf179961f5225501e7079 (commit)
via af910977fbd500214e93d0a9b3d61e707df6d93c (commit)
via ed0251d24b7573e58fe22bea44c04887daedaa32 (commit)
via d24e46e3e247e46eb2f5e7ebb5efd0f9fcc5fcdd (commit)
via 9f75a539d8c84d25465cb6af1a24890bc67121ba (commit)
via 8776cfe971c3917e924c669140746735f94439f4 (commit)
via acd6540d35178e9fd1a98110798eeb8f878656e4 (commit)
via 410a0ff2df3fa8d260c1c6d76172c65285968cea (commit)
via 342587c49476ad7472419a3028267f2ddb03f4d8 (commit)
via 33e80786374aa4de613e8c2a9d3002d9704fb037 (commit)
via 1dbab08b0e074effc30661c9b894f7a75dd51c94 (commit)
via 5d1ef36157a045cf9dd3356ed35ac24447e9cbd6 (commit)
via 4c6d802e592b3762a149c343bc5722e065e57841 (commit)
via 6a631e86cfc2ddd979f9dc4b4da01133d9d3610f (commit)
via a6305403d4e1f5304f247b33b0f8473c7eed0d66 (commit)
via 10be66a4910d39b508002eea2056783e3430af40 (commit)
via cb580a265c0344b2acfc3059b53689863378f5ed (commit)
via 3cc27770cfa2080f70d44659de9d62adc80489fc (commit)
via b5bee914261ea82683b7da4245790465b9373131 (commit)
via 595330b7cedfac2b073e9ffc6a815221b7121f0c (commit)
via 467637ade646c54bac41721df4f3509cc98103e4 (commit)
via 76dfed02aaee5074dc79c28c0224fd0a2bf0dd30 (commit)
via b3fe4307a625457c6953fce27bbbfc4c90e38e9d (commit)
via 55bfc9ac025c1c9cd1ad5422829b3dc70f357a79 (commit)
via 318d3177f7d67dac94baa07aab04192fc7bcba49 (commit)
via d80285301a6a55f4f3bb4fbf4df1d20d91b0ee24 (commit)
via f6c7c3e8b742de0a5926e6a2c268f5803062b556 (commit)
via 0d4d0e772ac36d169d21951c46b0778ae7fa8d53 (commit)
via 29361eee1499fa208baf06df5c6aa1ef4c1b2516 (commit)
via 1e54db15c3ce69a7b3d6542066abdea36e7f8a79 (commit)
via f688ea36dfd8e3cdd359a040f231792d90e49c65 (commit)
via 3c6256d29e2c528880a3cf8df43adf32c7780de5 (commit)
via bc9a55253ed7122cfeee90cd23d964f44c8b0e6a (commit)
via d3839ede057ef077667978dbd065e7b5702c9176 (commit)
via c955de363b91edba8a92877f97b1be68357d9582 (commit)
via 3e60bf4df86f323dde4281886a355589488149aa (commit)
via 01672a570af3899a85d12293bc7da38b0715e4a5 (commit)
via cea2f54dd97c7772b38827dd6c9c78d599ce9f07 (commit)
via 88bbeca9d5e9429dbd2a11d754f24d649b8e5488 (commit)
from b5f21a557fe7556e005e1668c25b60817fa8c5ab (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email.
- Log -----------------------------------------------------------------
commit d7ed10238fce3b84771db9fced8d94579e2e0184
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date: Sat May 17 07:19:06 2014 +0200
Locate solib files via build-id
Hi,
this is a new functionality that the file itself (*) it found via build-id, if
the regular name-located file does not match inferior build-id or if the
named-located file even does not exist.
I am not completely sure with the SO->SO_NAME initialization. It cannot be
a regression but not sure how it should behave for the build-id-located files.
Currently the original target filename is kept but the comment there says is
may confuse MI frontends. OTOH putting there the build-id located file will
show its build-id name in SO_NAME which is also wrong.
(*) /usr/lib/libxxx.so, not /usr/lib/debug/usr/lib/libxxx.so.debug.
Although GDB uses only symbols from that file so in fact the *.debug file
would be sufficient. But for example .symtab is sometimes only in the .so
file and not the .so.debug file so GDB looks up .so as the associated
.so.debug file gets loaded automatically on top of .so anyway.
Thanks,
Jan
gdb/
2014-03-24 Jan Kratochvil <jan.kratochvil@redhat.com>
Locate solib files via build-id.
* build-id.c (build_id_to_debug_bfd): Rename to ...
(build_id_to_bfd): ... here. Add parameter suffix.
(build_id_to_debug_bfd): New wrapper of build_id_to_bfd.
(build_id_so_validate): Remove const from the parameter,
return void. Handle also NULL SO->ABFD. Call also build_id_to_bfd.
* build-id.h (build_id_so_validate): Update declaration.
* solib.c (solib_map_sections): Call VALIDATE even for NULL SO->ABFD.
No longer free SO->ABFD on failed VALIDATE.
(default_solib_validate): Update its const and return value.
* solib.h (default_solib_validate): Update declaration.
* solist.h (struct target_so_ops): Update definition of field validate.
gdb/testsuite/
2014-03-24 Jan Kratochvil <jan.kratochvil@redhat.com>
Locate solib files via build-id.
* gdb.base/solib-mismatch.exp (nocrlf, expected_header): Make
solib_matching_test variables global.
(solib_locate_test): New proc.
(locate non-matching shared library)
(locate non-existing shared library): New tests.
commit 7942c500647ab683d19fbbe47c39c6cbe113faa1
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date: Sat May 17 07:19:05 2014 +0200
Code cleanup: solib_map_sections abfd var
Hi,
just remove a local variable holding so->abfd copy as so->abfd may change in
the next patch.
Jan
gdb/
2014-03-24 Jan Kratochvil <jan.kratochvil@redhat.com>
* solib.c (solib_map_sections): Remove variable abfd.
commit a46739aaffc3020ce5bc690b96a4e6777dd99213
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date: Sat May 17 07:19:05 2014 +0200
Tests for validate symbol file using build-id
Hi,
new testcase.
Jan
gdb/testsuite/
2014-02-26 Aleksandar Ristovski <aristovski@qnx.com
Tests for validate symbol file using build-id.
* gdb.base/solib-mismatch-lib.c: New file.
* gdb.base/solib-mismatch-libmod.c: New file.
* gdb.base/solib-mismatch.c: New file.
* gdb.base/solib-mismatch.exp: New file.
commit e9e5076df987055e70a5806927bd4fb9f3ee91e8
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date: Sat May 17 07:19:05 2014 +0200
Validate symbol file using build-id
Hi,
consumer part of the "build-id" attribute.
Jan
gdb/
2014-02-26 Aleksandar Ristovski <aristovski@qnx.com
Jan Kratochvil <jan.kratochvil@redhat.com>
Validate symbol file using build-id.
* NEWS (Changes since GDB 7.7): Add build-id attribute.
* build-id.c: Include solist.h.
(build_id_so_validate): New.
* build-id.h (build_id_so_validate): New declaration.
* solib-darwin.c (_initialize_darwin_solib): Assign validate value.
* solib-dsbt.c (_initialize_dsbt_solib): Ditto.
* solib-frv.c (_initialize_frv_solib): Ditto.
* solib-ia64-hpux.c (ia64_hpux_target_so_ops): Ditto.
* solib-irix.c (_initialize_irix_solib): Ditto.
* solib-osf.c (_initialize_osf_solib): Ditto.
* solib-pa64.c (_initialize_pa64_solib): Ditto.
* solib-som.c (_initialize_som_solib): Ditto.
* solib-spu.c (set_spu_solib_ops): Ditto.
* solib-svr4.c: Include build-id.h and rsp-low.h.
(svr4_copy_library_list): Deeply copy also BUILD_ID.
(library_list_start_library): Parse 'build-id' attribute.
(svr4_library_attributes): Add 'build-id' attribute.
(_initialize_svr4_solib): Assign validate value.
* solib-target.c (solib.h): Include.
(_initialize_solib_target): Assign validate value.
* solib.c (solib_map_sections): Use ops->validate.
(free_so): Free build_id.
(default_solib_validate): New function.
* solib.h (default_solib_validate): New declaration.
* solist.h (struct so_list): New fields 'build_idsz' and 'build_id'.
(target_so_ops): New field 'validate'.
commit 5521f4d26ee994ba331e405de5bf9d82db8b2ae4
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date: Sat May 17 07:19:05 2014 +0200
New set build-id-force
Hi,
as the build-id verification is now integrated with existing build-id.[ch]
I find logical to generalize former 'set solib-build-id-force'
to 'set build-id-force' applicable even to existing .debug-vs-primary and
common .dwz file verifications.
I am not completely sure it is right to make a common setting for both
inferior-vs-local-file build-id verification and local-file-vs-local-file
verification. But I guess using this setting should be very very rare so that
should not matter.
Jan
gdb/
2014-03-24 Jan Kratochvil <jan.kratochvil@redhat.com>
Aleksandar Ristovski <aristovski@qnx.com
* NEWS (Changes since GDB 7.7): Add 'set build-id-force'
and 'show build-id-force'.
* build-id.c: Include rsp-low.h and gdbcmd.h.
(build_id_force, show_build_id_force): New.
(build_id_verify): Use BUILD_ID_FORCE.
(_initialize_build_id): New.
gdb/doc/
2014-03-24 Jan Kratochvil <jan.kratochvil@redhat.com>
* gdb.texinfo (Files): Add 'set build-id-force'
and 'show build-id-force'.
commit fe7e8e94ff9705e27edd57bcfb9419123f874e9f
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date: Sat May 17 07:19:04 2014 +0200
gdbserver build-id attribute generator
Hi,
producer part of the new "build-id" XML attribute.
Jan
gdb/
2014-02-26 Aleksandar Ristovski <aristovski@qnx.com
gdbserver build-id attribute generator.
* features/library-list-svr4.dtd (library-list-svr4): New
'build-id' attribute.
gdb/doc/
2014-02-26 Aleksandar Ristovski <aristovski@qnx.com
gdbserver build-id attribute generator.
* gdb.texinfo (Library List Format for SVR4 Targets): Add
'build-id' in description, example, new attribute in dtd.
gdb/gdbserver/
2014-02-26 Aleksandar Ristovski <aristovski@qnx.com
gdbserver build-id attribute generator.
* linux-low.c (linux-maps.h, search.h, rsp-low.h): Include.
(ElfXX_Ehdr, ElfXX_Phdr, ElfXX_Nhdr): New.
(ELFXX_FLD, ELFXX_SIZEOF, ELFXX_ROUNDUP, BUILD_ID_INVALID): New.
(find_phdr): New.
(get_dynamic): Use find_pdhr to traverse program headers.
(struct mapping_entry, mapping_entry_s, free_mapping_entry_vec)
(compare_mapping_entry_range, struct find_memory_region_callback_data)
(read_build_id, find_memory_region_callback, lrfind_mapping_entry)
(get_hex_build_id): New.
(linux_qxfer_libraries_svr4): Add optional build-id attribute
to reply XML document.
commit 0a91f542274d925f145c6f56beef94725eec3300
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date: Sat May 17 07:19:03 2014 +0200
Move linux_find_memory_regions_full & co.
Hi,
this should be just a move with no changes.
Jan
gdb/
2014-02-26 Aleksandar Ristovski <aristovski@qnx.com
Move linux_find_memory_regions_full & co.
* common/target-utils.c (string.h, gdb_assert.h): Include.
(read_alloc, read_stralloc): Move definitions from target.c.
* common/target-utils.h (read_alloc_pread_ftype): New typedef.
(read_alloc): New declaration.
(read_stralloc_func_ftype): New typedef.
(read_stralloc): New declaration.
* common/linux-maps.c (fcntl.h, unistd.h, target.h, gdb_assert.h)
(ctype.h, string.h, target-utils.h): Include.
(read_mapping): Move from linux-tdep.c.
[GDBSERVER] (linux_find_memory_read_stralloc_1_pread): New function.
[GDBSERVER] (linux_find_memory_read_stralloc_1): New function.
(linux_find_memory_read_stralloc): New function.
(linux_find_memory_regions_full): Move from linux-tdep.c.
* common/linux-maps.h (read_mapping): New declaration.
(linux_find_memory_region_ftype): Moved typedef from linux-tdep.c.
(linux_find_memory_regions_full): New declaration.
* linux-tdep.c (linux-maps.h): Include.
(read_mapping): Moved to common/linux-maps.c.
(linux_find_memory_region_ftype): Moved typedef to common/linux-maps.h.
(linux_find_memory_regions_full): Moved definition to
common/linux-maps.c.
* target.c (target-utils.h): Include.
(read_alloc_pread_ftype): Moved typedef to common/target-utils.h.
(read_alloc, read_stralloc): Moved definitions to
common/target-utils.c.
commit ab9b0dbce5abeed06ce043c06ad62b30ed78616c
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date: Sat May 17 07:19:03 2014 +0200
Prepare linux_find_memory_regions_full & co. for move
Hi,
prepare code for move into gdb/common/.
Jan
gdb/
2014-02-26 Aleksandar Ristovski <aristovski@qnx.com
Prepare linux_find_memory_regions_full & co. for move.
* linux-tdep.c (linux_find_memory_region_ftype): Comment.
(linux_find_memory_regions_full): Change signature and prepare
for moving to linux-maps.
(linux_find_memory_regions_data): Rename field 'obfd' to 'data'.
(linux_find_memory_regions_thunk): New.
(linux_find_memory_regions_thunk): Use 'data' field instead of 'obfd'.
(linux_find_memory_regions_gdb): New.
(linux_find_memory_regions): Rename argument 'obfd' to 'func_data'.
(linux_make_mappings_corefile_notes): Use
linux_find_memory_regions_gdb.
* target.c (read_alloc_pread_ftype): New typedef.
(target_fileio_read_alloc_1_pread): New function.
(read_alloc): Refactor from target_fileio_read_alloc_1.
(read_stralloc_func_ftype): New typedef.
(target_fileio_read_alloc_1): New implementation. Use read_alloc.
(read_stralloc): Refactored from target_fileio_read_stralloc.
(target_fileio_read_stralloc): New implementation, use read_stralloc.
commit a876648a04b0da7545a2bb654db049a2b8d49acf
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date: Sat May 17 07:19:03 2014 +0200
Create empty common/linux-maps.[ch] and common/target-utils.[ch]
Hi,
prepare new files for later move.
Jan
gdb/
2014-02-26 Aleksandar Ristovski <aristovski@qnx.com
Create empty common/linux-maps.[ch] and common/target-utils.[ch].
* Makefile.in (HFILES_NO_SRCDIR); Add common/linux-maps.h,
common/target-utils.h.
(COMMON_OBS): Add target-utils.o.
(linux-maps.o, target-utils.o): New.
* common/target-utils.c: New file.
* common/target-utils.h: New file.
* common/linux-maps.c: New file.
* common/linux-maps.h: New file.
* config/i386/linux.mh (NATDEPFILES): Add linux-maps.o.
* config/i386/linux64.mh (NATDEPFILES): Ditto.
gdb/gdbserver/
2014-02-26 Aleksandar Ristovski <aristovski@qnx.com
Create empty common/linux-maps.[ch] and common/target-utils.[ch].
* Makefile.in (OBS): Add target-utils.o.
(linux-maps.o, target-utils.o): New.
* configure.srv (srv_linux_obj): Add linux-maps.o.
commit 37e8497a1e23d969c53f8f245293bee6ee7c1aaf
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date: Sat May 17 07:19:03 2014 +0200
Merge multiple hex conversions
Hi,
here most of the patch has been reimplemented in the meantime and this is only
a small remaint.
Jan
gdb/
2014-02-26 Aleksandar Ristovski <aristovski@qnx.com
Merge multiple hex conversions.
* monitor.c: Include rsp-low.h.
(fromhex): Remove definition.
gdb/gdbserver/
2014-02-26 Aleksandar Ristovski <aristovski@qnx.com
Merge multiple hex conversions.
* gdbreplay.c (tohex): Rename to 'fromhex'.
(logchar): Use fromhex.
commit 4f3909baa11e41d4b9f63b747d8d2160928b1111
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date: Sat May 17 07:19:02 2014 +0200
Move utility functions to common/
Hi,
some parts of the former patch have been reimplemented in the meantime by
other patches so this is only a part of the former cleanup.
Jan
gdb/
2014-02-26 Aleksandar Ristovski <aristovski@qnx.com
Move utility functions to common/.
* cli/cli-utils.c (skip_spaces, skip_spaces_const): Move defs to
common/common-utils.c.
* cli/cli-utils.h (skip_spaces, skip_spaces_const): Move decls to
common/common-utils.h.
* common/common-utils.c (host-defs.h, ctype.h): Include.
(HIGH_BYTE_POSN, is_digit_in_base, digit_to_int, strtoulst): Move
from utils.c.
(skip_spaces, skip_spaces_const): Move from cli/cli-utils.c.
* common/host-defs.h (TARGET_CHAR_BIT, HOST_CHAR_BIT): Moved from
defs.h.
* common/common-utils.h (strtoulst): Move decl from utils.h.
(hex2bin, bin2hex): Move decls from remote.h.
(skip_spaces, skip_spaces_const): Move decls from cli/cli-utils.h.
* defs.h (TARGET_CHAR_BIT, HOST_CHAR_BIT): Move to
common/common-utils.h
* utils.c (HIGH_BYTE_POSN, is_digit_in_base, digit_to_int)
(strtoulst): Move to common/common-utils.c.
* utils.h (strtoulst): Moved decl to common/common-utils.h.
commit c01a2b5d2ac97f8310247065080c6a87c049028b
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date: Sat May 17 07:19:02 2014 +0200
+README.archer
commit ff46be9062f65422462792ffda6bf1f896a71541
Author: Alan Modra <amodra@gmail.com>
Date: Sat May 17 09:30:39 2014 +0930
daily update
commit d7761c2cba7af75af2feba4a0a6a0e20afaacca1
Author: Doug Evans <dje@google.com>
Date: Fri May 16 12:46:24 2014 -0700
* gdb.base/completion.exp: Check that all expected files exist
before doing file completion.
commit 0dbe70ceba9641d585de92136e20cc6f5e252647
Author: Doug Evans <dje@google.com>
Date: Fri May 16 12:34:05 2014 -0700
* gdb.base/Makefile.in (EXECUTABLES): Add completion.
commit 8d551b0239b795065ecd2cb2bd3cae2e9ee2a7df
Author: Doug Evans <dje@google.com>
Date: Fri May 16 12:15:10 2014 -0700
New command line option -D.
* NEWS: Mention it.
* main.c (set_gdb_data_directory): New function.
(captured_main): Recognize -D. Flag error for --data-directory "".
Call set_gdb_data_directory.
(print_gdb_help): Print --data-directory, -D.
* main.h (set_gdb_data_directory): Declare.
* top.c (staged_gdb_datadir): New static global.
(set_gdb_datadir): Call set_gdb_data_directory
(show_gdb_datadir): New function.
(init_main): Update init of data-directory parameter.
testsuite/
* gdb.base/catch-syscall.exp (test_catch_syscall_fail_nodatadir):
Update.
(do_syscall_tests_without_xml): Update.
doc/
* gdb.texinfo (Mode Options): Add -D.
commit 18848e288ca9d1ca242cce667419bbb6728442fc
Author: Gregory Fong <gregory.0xf0@gmail.com>
Date: Fri May 16 12:26:33 2014 -0600
Import the "dirfd" gnulib module.
2014-05-16 Gregory Fong <gregory.0xf0@gmail.com>
Import the "dirfd" gnulib module.
* gnulib/update-gnulib.sh (IMPORTED_GNULIB_MODULES): Add dirfd.
* gnulib/aclocal.m4: Update.
* gnulib/config.in: Update.
* gnulib/configure: Update.
* gnulib/import/Makefile.am: Update.
* gnulib/import/Makefile.in: Update.
* gnulib/import/dirfd.c: New.
* gnulib/import/m4/dirfd.m4: New.
* gnulib/import/m4/gnulib-cache.m4: Update.
* gnulib/import/m4/gnulib-comp.m4: Update.
commit 5febff9be8a87afc40679faedfd78cfff8b1cf95
Author: John Marino <binutils@marino.st>
Date: Fri May 16 15:39:47 2014 +0100
* configure.tgt: Add /lib to dragonfly NATIVE_LIB_DIRS.
commit 6e6e7cfc78e3ae1f4b670fc42d3b4e113d57a62b
Author: Jon Turney <jon.turney@dronecode.org.uk>
Date: Fri May 16 15:34:13 2014 +0100
This fixes a few issues with pe/coff build-ids that were discovered since the
original patches were posted:
pe/coff: Display GUID build-id in the conventional way
pe/coff: Don't interpret debug directory in section with no contents
pe/coff: Keep .build-id with --only-keep-debug
pe/coff: Don't break .build-id with objcopy/strip
* peXXigen.c (pe_print_debugdata): Don't interpret debug directory
in a section with no contents.
(is_vma_in_section, find_section_by_vma): New functions.
(_bfd_XX_bfd_copy_private_bfd_data_common): Recalculate file
offsets in the debug directory.
(_bfd_XXi_slurp_codeview_record, _bfd_XXi_write_codeview_record):
Byte-swap GUID from little-endian to big-endian order for
consistent and conventional display.
* objcopy.c (is_nondebug_keep_contents_section): New function.
(setup_section): Use it.
commit 856ea05ccf051d4d86f422552f5cdfa83659dd6b
Author: Kaushik Phata <Kaushik.Phatak@kpit.com>
Date: Fri May 16 14:57:10 2014 +0100
This adds support for marking RL78 binaries as either supporting 32-bit
or 64-bit doubles. It also makes the linker complain if the user attempts
to link together binaries with different sized doubles.
* elf32-rl78.c (rl78_elf_merge_private_bfd_data): Complain if
64-bit doubles objects mix with 32-bit doubles objects.
(rl78_elf_print_private_bfd_data): Describe 64-bit doubles flag.
* readelf.c (get_machine_flags): Handle RL78 64-bit doubles flag.
* config/tc-rl78.c (enum options): Add OPTION_32BIT_DOUBLES
and OPTION_64BIT_DOUBLES.
(md_longopts): Add -m32bit-doubles and -m64bit-doubles.
(md_parse_option): Parse -m32bit-doubles and -m64bit-doubles.
(md_show_usage): Show all of the RL78 options.
(rl78_float_cons): New static functions.
(md_pseudo_table): Update handler for "double".
commit 73eb770959c8d8d927dbeafbf6038a651e0cb1ae
Author: Pedro Alves <palves@redhat.com>
Date: Fri May 16 14:43:47 2014 +0100
mi-support.exp: Fix some pastos.
gdb/testsuite/
2014-05-16 Pedro Alves <palves@redhat.com>
* lib/mi-support.exp (mi_expect_stop): On timeout, say "timeout"
instead of "unknown output after running".
commit 3fae92fc2aed37c78df4610f3c52e2fc242846b0
Author: Yao Qi <yao@codesourcery.com>
Date: Tue May 13 11:41:03 2014 +0800
Copy file1.txt to remote host in dw2-filename.exp and dw2-anonymous-func.exp
Some gdb.dwarf2/*.exp tests copy file1.txt to host via gdb_remote_download
but dw2-filename.exp and dw2-anonymous-func.exp don't do that. Looks like
an oversight in this patch
https://sourceware.org/ml/gdb-patches/2013-08/msg00365.html
There are some fails in remote host testing.
FAIL: gdb.dwarf2/dw2-anonymous-func.exp: list file1.txt
FAIL: gdb.dwarf2/dw2-filename.exp: interpreter-exec mi -file-list-exec-source-files
FAIL: gdb.dwarf2/dw2-filename.exp: info sources
This patch is to invoke gdb_remote_download to copy file1.txt to host
and remote it at the end. This patch fixes these fails above.
gdb/testsuite:
2014-05-16 Yao Qi <yao@codesourcery.com>
* gdb.dwarf2/dw2-filename.exp: Copy file1.txt to host. Remove
file1.txt from host at the end.
* gdb.dwarf2/dw2-anonymous-func.exp: Likewise.
commit 95c64f92be44781ab0f9472e88296fbf971c79fa
Author: Yao Qi <yao@codesourcery.com>
Date: Tue Apr 22 12:56:08 2014 +0800
Fix display of tabulation character for mingw hosts.
Pierre proposed this patch
https://sourceware.org/ml/gdb-patches/2013-10/msg00011.html and
Tom gave a suggestion that it's better to do check \t in print_wchar
<https://sourceware.org/ml/gdb-patches/2013-11/msg00148.html>
However, I don't see the follow-up to this discussion.
We encounter two fails in printcmds.exp on mingw host, and Pierre's
patch fixes them. I pick it up, update a little per Tom's
comments, and post it here for review. This patch fixes these fails
below on mingw32 host.
FAIL: gdb.base/charset.exp: print string in ASCII
FAIL: gdb.base/charset.exp: try printing '\t' in ASCII
FAIL: gdb.base/charset.exp: print string in ISO-8859-1
FAIL: gdb.base/charset.exp: try printing '\t' in ISO-8859-1
FAIL: gdb.base/charset.exp: print string in UTF-32
FAIL: gdb.base/charset.exp: try printing '\t' in UTF-32
FAIL: gdb.base/printcmds.exp: p ctable1[9]
FAIL: gdb.base/printcmds.exp: p &ctable1[1*8]
Also regression tested on x86_64-linux. Is it OK?
gdb:
2014-05-16 Pierre Muller <muller@sourceware.org>
Yao Qi <yao@codesourcery.com>
* valprint.c (print_wchar): Move the code on checking whether
W is a printable wide char to the default branch of switch
statement below. Call wchar_printable instead of gdb_iswprint.
commit 19679ecafced89bcaea535d8129f6ecbc8199e9e
Author: Yao Qi <yao@codesourcery.com>
Date: Fri May 16 20:10:38 2014 +0800
Fix changelong entry.
Each changelog entry should be tab-prefixed.
commit cac395eae4d97d9f59c5e588e4e662f2ae6cdfeb
Author: Taimoor Mirza <tmirza@codesourcery.com>
Date: Fri May 16 11:39:05 2014 +0500
Fix prologue analysis for ldr.w and ldrd instruction
Prologue analysis for ldr.w and ldrd instruction obtains offset from
first two bytes that contains opcode of instruction. It should obtain
offset from next two bytes that actually contain operands.
* arm-tdep.c (thumb_analyze_prologue): Fix offset calculation for
ldr.w and ldrd instructions.
Signed-off-by: Taimoor Mirza <tmirza@codesourcery.com>
commit 791849751dd82722d4cfaae844e1fdbed445af5a
Author: Alan Modra <amodra@gmail.com>
Date: Fri May 16 09:30:36 2014 +0930
daily update
commit c2b2ccc5eddd4c0f592576c983135c0f18b90bf8
Author: Doug Evans <dje@google.com>
Date: Thu May 15 15:50:34 2014 -0700
Make more robust when run in parallel mode.
Since we're not compiling with gcc, we don't know where the
DWO file will ultimately be built. It could be built in
testsuite/gdb.dwarf2/foo (non-parallel mode) or
testsuite/outputs/gdb.dwarf2/foo (parallel mode).
* gdb.dwarf2/fission-reread.S: Remove directory from .dwo file path.
* gdb.dwarf2/fission-reread.exp: Set debug-file-directory before
loading file. Add test for TU lookup.
commit 83655187cbef02404645abcc98d607e22eeda573
Author: Doug Evans <dje@google.com>
Date: Thu May 15 15:45:05 2014 -0700
* dwarf2read.c (read_structure_type): Delete outdated comments.
commit 8c217a4b684386aa5ce6a078dffbe63265a524e6
Author: Simon Marchi <simon.marchi@ericsson.com>
Date: Tue May 13 17:37:44 2014 -0400
Fix argument passing in mi_run_cmd_full
Passing arguments did not work when use_mi_command was set.
gdb/testsuite/ChangeLog:
2014-05-13 Simon Marchi <simon.marchi@ericsson.com>
* lib/mi-support.exp (mi_run_cmd_full): Set arguments by calling
"-exec-arguments" or "set args" before running the inferior.
commit 3deb39c62d3cdb80ac3bdd4d418e05737433e7a6
Author: Simon Marchi <simon.marchi@ericsson.com>
Date: Tue May 13 17:07:33 2014 -0400
Fix mi_expect_stop for non-zero exit codes
The message displayed by gdb is different when the inferior exits with
zero and non-zero values, this fix takes that into account.
gdb/testsuite/ChangeLog:
2014-05-13 Simon Marchi <simon.marchi@ericsson.com>
* lib/mi-support.exp (mi_expect_stop): Expect message for
inferiors that exit with non-zero exit code.
commit 5fe7ffdc98b769de3ea67e6f38bc5de57be7b265
Author: Alan Modra <amodra@gmail.com>
Date: Thu May 15 18:37:43 2014 +0930
Fix "overflow in PLT unwind data" warning
When linking statically, it's possible to hit this warning with IFUNC
or very large executables, due to .glink being unused.
* powerpc.cc (do_plt_fde_location): Handle zero length .glink.
Compare FDE contents with DW_CFA_nop rather than 0.
commit 57b287416bcd3dd29202dff55d89dc7a68196cc8
Author: Alan Modra <amodra@gmail.com>
Date: Thu May 15 09:30:45 2014 +0930
daily update
commit d9e042ac0bc08b6c3890cc53cbd43c73c522e720
Author: Sandra Loosemore <sandra@codesourcery.com>
Date: Wed May 14 16:27:14 2014 -0700
Sync nios2 configure changes from GCC mainline.
2014-05-14 Sandra Loosemore <sandra@codesourcery.com>
* configure.ac (target_makefile_frag): Set for nios2-*-elf*.
* configure: Regenerated.
config/
* mt-nios2-elf: New file.
commit dd7566892070fbccb91c536c46584c20ef29961b
Author: Tom Tromey <tromey@redhat.com>
Date: Wed May 14 13:31:10 2014 -0600
reindent print_macro_definition
I happened to notice that print_macro_definition is indented
improperly. All the lines were a few extra spaces to the right.
This patch fixes the indentation.
Tested by rebuilding, committed.
2014-05-14 Tom Tromey <tromey@redhat.com>
* macrocmd.c (print_macro_definition): Reindent.
commit 71a79f8c9cf2a66f4e4cb9b5c6cb44f8723724eb
Author: Yao Qi <yao@codesourcery.com>
Date: Tue May 13 14:40:22 2014 +0800
Fix mi-file.exp fails on remote host
This patch fixes mi-file.exp fails on remote host. First, we can't
assume ${srcdir}/${subdir}/${srcfile} directory exists on remote host,
so this patch changes it to match ${srcfile} only on remote host.
Second, regexp pattern ".*/${srcfile}" isn't friendly to Windows path.
The file name is "basics.c" in my test env and can't match the pattern
due to "/" in it. Remove "/" from the pattern.
gdb/testsuite:
2014-05-14 Yao Qi <yao@codesourcery.com>
* gdb.mi/mi-file.exp (test_file_list_exec_source_file): Don't
match absolute path on remote host.
(test_file_list_exec_source_files): Remove "/" from the
pattern.
commit f23fcd46a7ca34bf466de9164780a78d38729ff7
Author: Yao Qi <yao@codesourcery.com>
Date: Tue May 13 09:37:54 2014 +0800
Overwrite ${board}_file in local-remote-host
After I run test like this,
$ make check RUNTESTFLAGS='--host_board=local-remote-host dw2-basic.exp'
gdb.dwarf2/file1.txt in source tree was removed. In some gdb.dwarf2/*.exp,
file1.txt is copied to host and then removed at the end. However, in
local-remote-host-notty.exp, ${board}_download doesn't copy the file but
return the absolute path of the src file. 'remote_file host delete' at
the end will remove the file in source tree.
This patch is to overwrite ${board}_file, and specially make "delete"
option do nothing. This approach is used in gdbserver-base.exp and
remote-stdio-gdbserver.exp too.
gdb/testsuite:
2014-05-14 Yao Qi <yao@codesourcery.com>
* boards/local-remote-host-notty.exp (${board}_file): New
proc.
commit 75ddda778c7fcdffea72615bc5b89d17bd107927
Author: Doug Evans <xdje42@gmail.com>
Date: Tue May 13 19:44:51 2014 -0700
* python/py-cmd.c (cmdpy_completer): Add comment.
(completers): Make const.
commit 5a9b37037831a93767513b080a0e4eeb4080ff7a
Author: Alan Modra <amodra@gmail.com>
Date: Wed May 14 09:30:38 2014 +0930
daily update
commit b0f16a3eaf0226b21a2a9032d9fac069009b96d3
Author: Simon Marchi <simon dot marchi at ericsson dot com>
Date: Mon Apr 21 11:49:59 2014 -0400
Remove unused variable
should_resume is set to 1 at the beginning and never changed.
gdb/ChangeLog:
2014-05-13 Simon Marchi <simon.marchi@ericsson.com>
* infrun.c (resume): Remove should_resume (unused). Move up
declaration of resume_ptid.
commit a82bef932ec11cc16f205427f8a056c3c0ea517d
Author: Sriraman Tallam <tmsriram@google.com>
Date: Tue May 13 10:51:48 2014 -0700
With -pie and x86, the linker complains if it sees a PC-relative relocation
to access a global as it expects a GOTPCREL relocation. This is really not
necessary as the linker could use a copy relocation to get around it. This
patch enables copy relocations with pie.
Context:
This is useful because currently the GCC compiler with option -fpie makes
every extern global access go through the GOT. That is because the compiler
cannot tell if a global will end up being defined in the executable or not
and is conservative. This ends up hurting performance when the binary is linked
as mostly static where most of the globals do end up being defined in the
executable. By allowing copy relocs with fPIE, the compiler need not generate
a GOTPCREL(GOT access) for any global access. It can safely assume that all
globals will be defined in the executable and generate a PC-relative access
instead. Gold can then create a copy reloc for only the undefined globals.
gold/
* symtab.h (may_need_copy_reloc): Remove check for position independent
code.
* x86_64.cc (Target_x86_64<size>::Scan::global): Add check for no
position independence before pc absolute may_need_copy_reloc call.
Add check for executable output befor pc relative may_need_copy_reloc
call.
* i386.cc: Ditto.
* arm.cc: Ditto.
* sparc.cc: Ditto.
* tilegx.cc: Ditto.
* powerpc.cc: Add check for no position independence before
may_need_copy_reloc calls.
* testsuite/pie_copyrelocs_test.cc: New file.
* testsuite/pie_copyrelocs_shared_test.cc: New file.
* Makefile.am (pie_copyrelocs_test): New test.
* Makefile.in: Regenerate.
commit 033c337911594898b44678fa10b47ee19dd234b5
Author: Tom Tromey <tromey@redhat.com>
Date: Tue May 13 11:35:18 2014 -0600
remove an unused macro and an unused declaration
This patch removes an unused macro from language.h. It also removes
the declaration of a function which is not defined.
I'm checking this in as obvious.
Tested by rebuilding.
2014-05-13 Tom Tromey <tromey@redhat.com>
* language.h (unop_type_check): Remove.
(binop_type_check): Don't declare.
commit 1642b4b33783d70979dca379d57a0ce02559daec
Author: Sriraman Tallam <tmsriram@google.com>
Date: Tue May 13 10:33:59 2014 -0700
Optimizing accesses to Globals with -fpie -pie:
With -pie and x86, the linker complains if it sees a PC-relative relocation
to access a global as it expects a GOTPCREL relocation. This is really not
necessary as the linker could use a copy relocation to get around it. This
patch enables copy relocations with pie.
Context:
This is useful because currently the GCC compiler with option -fpie makes
every extern global access go through the GOT. That is because the compiler
cannot tell if a global will end up being defined in the executable or not
and is conservative. This ends up hurting performance when the binary is linked
as mostly static where most of the globals do end up being defined in the
executable. By allowing copy relocs with fPIE, the compiler need not generate
a GOTPCREL(GOT access) for any global access. It can safely assume that all
globals will be defined in the executable and generate a PC-relative access
instead. Gold can then create a copy reloc for only the undefined globals.
commit 9b44a3a57d17ea2d35823780007a38daeeaec6a4
Author: Andreas Arnez <arnez@linux.vnet.ibm.com>
Date: Tue May 13 14:55:53 2014 +0200
S390: Fix erroneous offset in fill_gregset.
This fixes a bug that leads to various failures when debugging a
31-bit inferior with a 64-bit gdb on s390x.
commit bad1aba328293fc62831ac451edc55adc37ead36
Author: mfortune <matthew.fortune@imgtec.com>
Date: Tue May 13 11:55:08 2014 +0100
Re-work register size macros for MIPS.
gas/
* config/tc-mips.c (mips_set_options): Rename gp32 to gp throughout.
(HAVE_32BIT_GPRS, HAVE_64BIT_GPRS): Remove. Re-implement via GPR_SIZE.
(HAVE_32BIT_FPRS, HAVE_64BIT_FPRS): Remove. Re-implement via FPR_SIZE.
(GPR_SIZE, FPR_SIZE): New macros. Use throughout.
commit 51e719b4e118f69862775772053059700a331097
Author: Alan Modra <amodra@gmail.com>
Date: Tue May 13 09:30:39 2014 +0930
daily update
commit a7da346e5c9dd33f4fdc9b053d1991131a911926
Author: DJ Delorie <dj@redhat.com>
Date: Mon May 12 19:05:19 2014 -0400
Support 32->64 sign extension in msp430's sign_ext
* msp43-sim.c (sign_ext): Change to "long long" to support
sign-extending 32-bit values.
commit 17b609c3fc8f78852655096a1be04fdd2ba3809c
Author: Doug Evans <dje@google.com>
Date: Mon May 12 15:16:13 2014 -0700
Add link to older changes in ChangeLog-1993-2013.
commit 14f8b115e4395b76bfa792d7e9a7d0e26a4c4691
Author: Doug Evans <dje@google.com>
Date: Mon May 12 15:13:49 2014 -0700
Split out older testsuite/ChangeLog entries (prior to 2014)
into separate file: ChangeLog-1993-2013.
commit 303a33faef8fca9b26b18a02550541c5f61ace9e
Author: Simon Marchi <simon dot marchi at ericsson dot com>
Date: Sat Apr 26 18:10:40 2014 -0400
mi: Use the value in mi_console_file->quote as the quoting character
In mi_interpreter_init, multiple MI consoles/channels are created and a quoting
character is given. In mi_console_raw_packet, we check if the value is not 0
to decide if we should quote the string, but we don't use the value. It is
hardcoded to ". We might never use another quoting character than an actual
quote, but I suggest we change it, for correctness. There is not visible
behavior change.
I changed the latest fputs_unfiltered changed to fputc_unfiltered just to stay
consistent.
gdb/ChangeLog:
2014-05-12 Simon Marchi <simon.marchi@ericsson.com>
* mi/mi-console.c (mi_console_raw_packet): Use the value from
mi_console->quote as the quoting character.
commit 196100a019964c09588686553f3b6687f6e3fe15
Author: Simon Marchi <simon.marchi@ericsson.com>
Date: Mon May 12 13:06:11 2014 -0400
Add myself as write after approval maintainer
2014-05-12 Simon Marchi <simon.marchi@ericsson.com>
* MAINTAINERS (Write After Approval): Add "Simon Marchi".
commit 35a1657d261fa214c45c4c5beeb992def5f63bad
Author: Alan Modra <amodra@gmail.com>
Date: Mon May 12 09:30:37 2014 +0930
daily update
commit fae663595d6a49c5e4de58e17fe93525bec65ae9
Author: Chung-Lin Tang <cltang@codesourcery.com>
Date: Sun May 11 10:04:45 2014 -0700
2014-05-11 Chung-Lin Tang <cltang@codesourcery.com>
* emulparams/nios2linux.sh (OTHER_GOT_SYMBOLS): Wrap _gp in HIDDEN(),
and gp in PROVIDE_HIDDEN.
commit e5898c282777ea27093bdc694b25cd8eaf795f0a
Author: Alan Modra <amodra@gmail.com>
Date: Sun May 11 09:30:38 2014 +0930
daily update
commit e20bd8f437879624de168bb2fe39383b045565a5
Author: Samuel Bronson <naesten@gmail.com>
Date: Fri May 9 21:07:43 2014 -0400
Add obviously forgotten "PACKAGE = @PACKAGE@" to gdb/doc/Makefile.in
* gdb/doc/Makefile.in (PACKAGE): Copy from ../Makefile.in in case of
"make -C".
commit eae25ec5773e12af107e65fcf0c94a54bc5180ae
Author: Hans-Peter Nilsson <hp@bitrange.com>
Date: Sat May 10 02:50:01 2014 +0200
Fix freeing of link_info.hash
ld:
* ldlang.c (lang_finish): Don't call bfd_link_hash_table_free here.
(output_bfd_hash_table_free_fn): New variable.
(open_output): Save the _bfd_link_hash_table_free function for the
output_bfd into output_bfd_hash_table_free_fn.
* ldmain.c (ld_cleanup): If set, call output_bfd_hash_table_free_fn
on link_info.hash.
* ldlang.h (output_bfd_hash_table_free_fn): Declare.
ld/testsuite:
* ld-mmix/wrap1.d, ld-mmix/wrap1a.s, ld-mmix/wrap1b.s,
ld-mmix/wrap1c.s, ld-mmix/wrap2.d, ld-mmix/wrap3.d,
ld-mmix/wrap3a.s, ld-mmix/wrap3b.s, ld-mmix/wrap4.d: New
tests.
commit b1f02b89ed9e9c68eab6f645e19634315a6525c4
Author: Alan Modra <amodra@gmail.com>
Date: Sat May 10 09:30:37 2014 +0930
daily update
commit df18fdba5dc9243d657c6e26a3a4e2c65e62b8bd
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Fri May 9 10:58:00 2014 -0700
Properly display extra data/address size prefixes
X86 disassembler checks data and address size prefixes when displaying
instruction mnemonic and operands. For the extra data and address size
prefixes, their names depend only on the address mode, not the data and
address size prefixes. This patch changes x86 disassembler not to check
the data and address size prefix when printing extra data and address size
prefixes.
gas/testsuite/
* gas/i386/nops-1-core2.d: Replace data32 with data16.
* gas/i386/nops-4a-i686.d: Likewise.
* gas/i386/nops-5-i686.d: Likewise.
* gas/i386/nops-5.d: Likewise.
* gas/i386/x86-64-cbw-intel.d: Likewise.
* gas/i386/x86-64-cbw.d: Likewise.
* gas/i386/x86-64-io-intel.d: Likewise.
* gas/i386/x86-64-io-suffix.d: Likewise.
* gas/i386/x86-64-io.d: Likewise.
* gas/i386/x86-64-nops-1-core2.d: Likewise.
* gas/i386/x86-64-nops-1-g64.d: Likewise.
* gas/i386/x86-64-nops-1-nocona.d: Likewise.
* gas/i386/x86-64-nops-1.d: Likewise.
* gas/i386/x86-64-nops-2.d: Likewise.
* gas/i386/x86-64-nops-3.d: Likewise.
* gas/i386/x86-64-nops-4-core2.d: Likewise.
* gas/i386/x86-64-nops-4.d: Likewise.
* gas/i386/x86-64-nops-5-k8.d: Likewise.
* gas/i386/x86-64-nops-5.d: Likewise.
* gas/i386/x86-64-stack-intel.d: Likewise.
* gas/i386/x86-64-stack-suffix.d: Likewise.
* gas/i386/x86-64-stack.d: Likewise.
* gas/i386/ilp32/x86-64-cbw-intel.d: Likewise.
* gas/i386/ilp32/x86-64-cbw.d: Likewise.
* gas/i386/ilp32/x86-64-io-intel.d: Likewise.
* gas/i386/ilp32/x86-64-io-suffix.d: Likewise.
* gas/i386/ilp32/x86-64-io.d: Likewise.
* gas/i386/ilp32/x86-64-nops-1-core2.d:
* gas/i386/ilp32/x86-64-nops-1-nocona.d: Likewise.
* gas/i386/ilp32/x86-64-nops-1.d: Likewise.
* gas/i386/ilp32/x86-64-nops-2.d: Likewise.
* gas/i386/ilp32/x86-64-nops-3.d: Likewise.
* gas/i386/ilp32/x86-64-nops-4-core2.d: Likewise.
* gas/i386/ilp32/x86-64-nops-4.d: Likewise.
* gas/i386/ilp32/x86-64-nops-5-k8.d: Likewise.
* gas/i386/ilp32/x86-64-nops-5.: Likewise.
* gas/i386/ilp32/x86-64-stack-intel.d: Likewise.
* gas/i386/ilp32/x86-64-stack-suffix.: Likewise.
* gas/i386/ilp32/x86-64-stack.d: Likewise.
ld/testsuite/
* ld-x86-64/tlsbin.dd: Replace data32 with data16.
* ld-x86-64/tlsdesc-nacl.pd: Likewise.
* ld-x86-64/tlsgdesc.dd: Likewise.
* ld-x86-64/tlsld1.dd: Likewise.
* ld-x86-64/tlsld3.dd: Likewise.
* ld-x86-64/tlspic.dd: Likewise.
opcodes/
2014-05-09 H.J. Lu <hongjiu.lu@intel.com>
* i386-dis.c (ADDR16_PREFIX): Removed.
(ADDR32_PREFIX): Likewise.
(DATA16_PREFIX): Likewise.
(DATA32_PREFIX): Likewise.
(prefix_name): Updated.
(print_insn): Simplify data and address size prefixes processing.
commit 0c263177a5123186a05b44d3d76b7a3f811e70b9
Author: Alan Modra <amodra@gmail.com>
Date: Fri May 9 09:30:38 2014 +0930
daily update
commit 53c6660516a1720dd0d143bf829c6a35302fc003
Author: Martin Liška <mliska@suse.cz>
Date: Thu May 8 15:23:53 2014 -0700
2014-05-08 Martin Liška <mliska@suse.cz>
gold/
* output.cc (Sized_relobj_file::do_layout): Fix typo in info message.
commit 0ae19f059afedc024e707a99d767257574758046
Author: mfortune <matthew.fortune@imgtec.com>
Date: Thu May 8 22:07:49 2014 +0100
Fix references to file_mips_isa missed in previous patch.
gas/
* config/tc-mips.c (md_parse_option): Update missed file_mips_isa
references.
commit 0b35dfeec64597fe12495295f6d5e9b12131a390
Author: mfortune <matthew.fortune@imgtec.com>
Date: Wed May 7 23:33:47 2014 +0100
Consolidate file_mips_xxx variables.
gas/
* config/tc-mips.c (mips_set_options): Rename fp32 field to fp.
Update fp32 == 0 to fp == 64 and fp32 == 1 to fp != 64 throughout.
(file_mips_gp32, file_mips_fp32, file_mips_soft_float,
file_mips_single_float, file_mips_isa, file_mips_arch): Merge into
one struct...
(file_mips_opts): Here. New static global. Update throughout.
(mips_opts): Update defaults for gp32 and fp.
commit 91662bad25e6367e37b15c17ed1bca2a72b9c090
Author: gary <gary@138bc75d-0d04-0410-961f-82ee72b054a4>
Date: Thu May 8 09:13:44 2014 +0000
libiberty/ 2014-05-08 Gary Benson <gbenson@redhat.com>
* cp-demangle.c (struct d_component_stack): New structure.
(struct d_print_info): New field component_stack.
(d_print_init): Initialize the above.
(d_print_comp_inner): Renamed from d_print_comp.
Do not restore template stack if it would cause a loop.
(d_print_comp): New function.
* testsuite/demangle-expected: New test cases.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@210205 138bc75d-0d04-0410-961f-82ee72b054a4
commit 3f48575af8379567edcc1d6f7fb25c14237cbf30
Author: jakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
Date: Thu Apr 17 12:25:25 2014 +0000
PR sanitizer/56781 lto-plugin/ * Makefile.am (CFLAGS, LDFLAGS): Filter out -fsanitize=address. (liblto_plugin_la_LIBADD, liblto_plugin_la_LDFLAGS, liblto_plugin_la_DEPENDENCIES): Prefer ../libiberty/noasan/libiberty.a over ../libiberty/pic/libiberty.a if the former exists. * Makefile.in: Regenerated. libiberty/ * maint-tool: Also emit rule for noasan/ subdirectory. * configure.ac (NOASANFLAG): Set and substitute. * Makefile.in: Regenerated. (NOASANFLAG): Set. (all, $(TARGETLIB), mostlyclean): Handle noasan subdir like pic subdir. (stamp-noasandir): New goal. * configure: Regenerated.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209476 138bc75d-0d04-0410-961f-82ee72b054a4
commit c3c3c691f2d56953d81a2a7da214623d8aef857c
Author: rguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>
Date: Tue Apr 1 07:45:48 2014 +0000
2014-04-01 Richard Biener <rguenther@suse.de>
libiberty/
* simple-object.c (simple_object_internal_write): Handle
EINTR and short writes.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@208972 138bc75d-0d04-0410-961f-82ee72b054a4
commit 81ad11e32c40b9d53e578054e2885087f347c337
Author: rguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>
Date: Fri Mar 28 14:05:49 2014 +0000
2014-03-28 Richard Biener <rguenther@suse.de>
libiberty/
* simple-object.c (simple_object_internal_read): Handle
EINTR and short reads.
lto-plugin/
* lto-plugin.c (process_symtab): Handle EINTR and short reads.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@208898 138bc75d-0d04-0410-961f-82ee72b054a4
commit 201f096fea34784b34e9084bd18e30097c273c9b
Author: jakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
Date: Wed Mar 26 09:19:44 2014 +0000
PR sanitizer/56781 * Makefile.def: Set bootstrap=true; for host fixincludes. * configure.ac: Don't bootstrap host fixincludes unless --with-build-config=bootstrap-{a,ub}san. * Makefile.in: Regenerated. * configure: Regenerated.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@208842 138bc75d-0d04-0410-961f-82ee72b054a4
commit 730af8ee0203fc0061f0adbb501f8e773f738aab
Author: jakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
Date: Fri Mar 21 07:16:06 2014 +0000
* configure.ac: Move BUILD_CONFIG set up earlier. Add --enable-vtable-verify option parsing. Don't add target-libsanitizer to bootstrap_target_libs unless --with-build-config=bootstrap-asan or --with-build-config=bootstrap-ubsan. Don't add target-libvtv to bootstrap_target_libs unless --enable-vtable-verify. * configure: Regenerated.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@208745 138bc75d-0d04-0410-961f-82ee72b054a4
commit a2d010462ce99a4fc79fb19c31915f86fafeea43
Author: uros <uros@138bc75d-0d04-0410-961f-82ee72b054a4>
Date: Thu Mar 13 22:04:07 2014 +0000
* regex.c (bzero) [!_LIBC]: Cast the call to memcpy to (void).
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@208558 138bc75d-0d04-0410-961f-82ee72b054a4
commit 10fe779dd24e3809070b5b634214a9c7d8b11814
Author: uros <uros@138bc75d-0d04-0410-961f-82ee72b054a4>
Date: Thu Mar 13 18:34:47 2014 +0000
* regex.c (bzero) [!_LIBC]: Define without coma expression. (regerror): Cast the call to memcpy to (void) to avoid unused value warnings.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@208553 138bc75d-0d04-0410-961f-82ee72b054a4
commit abca8d871a6f8f4d7f9762133e1af637869da1bb
Author: jakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
Date: Fri Mar 7 12:58:27 2014 +0000
PR bootstrap/58572 * Makefile.tpl (POSTSTAGE1_CXX_EXPORT): Use -isystem instead of -I for libstdc++-v3 includes if $(LEAN). * Makefile.in: Regenerated.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@208400 138bc75d-0d04-0410-961f-82ee72b054a4
commit 68d122bb0e4b298ce302c15e0cd1b574727c4f86
Author: walt <walt@138bc75d-0d04-0410-961f-82ee72b054a4>
Date: Mon Feb 24 15:08:00 2014 +0000
TILE-Gx big endian support.
/:
* configure.ac (tilepro-*-*) Change to tilepro*-*-*.
(tilegx-*-*): Change to tilegx*-*-*.
* configure: Regenerate.
contrib/:
* config-list.mk (LIST): Add tilegxbe-linux-gnu.
libcpp/:
* configure.ac: Change "tilepro" triplet to "tilepro*".
* configure: Regenerate.
libgcc/:
* config.host: Support "tilegx*" and "tilepro*" triplets.
* config/tilegx/sfp-machine32.h (__BYTE_ORDER): Handle big endian.
* config/tilegx/sfp-machine64.h (__BYTE_ORDER): Handle big endian.
gcc/:
* config.gcc (tilepro-*-*): Change to tilepro*-*-*.
(tilegx-*-linux*): Change to tilegx*-*-linux*; Support tilegxbe
triplet.
* common/config/tilegx/tilegx-common.c
(TARGET_DEFAULT_TARGET_FLAGS): Define.
* config/tilegx/linux.h (ASM_SPEC): Add endian_spec.
(LINK_SPEC): Ditto.
* config/tilegx/sync.md (atomic_test_and_set): Handle big endian.
* config/tilegx/tilegx.c (tilegx_return_in_msb): New.
(tilegx_gimplify_va_arg_expr): Handle big endian.
(tilegx_expand_unaligned_load): Ditto.
(tilegx_expand_unaligned_store): Ditto.
(TARGET_RETURN_IN_MSB): New.
* config/tilegx/tilegx.h (TARGET_DEFAULT): New.
(TARGET_ENDIAN_DEFAULT): New.
(TARGET_BIG_ENDIAN): Handle big endian.
(BYTES_BIG_ENDIAN): Ditto.
(WORDS_BIG_ENDIAN): Ditto.
(FLOAT_WORDS_BIG_ENDIAN): Ditto.
(ENDIAN_SPEC): New.
(EXTRA_SPECS): New.
* config/tilegx/tilegx.md (extv): Handle big endian.
(extzv): Ditto.
(insn_st<n>): Ditto.
(insn_st<n>_add<bitsuffix>): Ditto.
(insn_stnt<n>): Ditto.
(insn_stnt<n>_add<bitsuffix>):Ditto.
(vec_interleave_highv8qi): Handle big endian.
(vec_interleave_highv8qi_be): New.
(vec_interleave_highv8qi_le): New.
(insn_v1int_h): Handle big endian.
(vec_interleave_lowv8qi): Handle big endian.
(vec_interleave_lowv8qi_be): New.
(vec_interleave_lowv8qi_le): New.
(insn_v1int_l): Handle big endian.
(vec_interleave_highv4hi): Handle big endian.
(vec_interleave_highv4hi_be): New.
(vec_interleave_highv4hi_le): New.
(insn_v2int_h): Handle big endian.
(vec_interleave_lowv4hi): Handle big endian.
(vec_interleave_lowv4hi_be): New.
(vec_interleave_lowv4hi_le): New.
(insn_v2int_l): Handle big endian.
(vec_interleave_highv2si): Handle big endian.
(vec_interleave_highv2si_be): New.
(vec_interleave_highv2si_le): New.
(insn_v4int_h): Handle big endian.
(vec_interleave_lowv2si): Handle big endian.
(vec_interleave_lowv2si_be): New.
(vec_interleave_lowv2si_le): New.
(insn_v4int_l): Handle big endian.
* config/tilegx/tilegx.opt (mbig-endian): New option.
(mlittle-endian): New option.
* doc/install.texi: Document tilegxbe-linux.
* doc/invoke.texi: Document -mbig-endian and -mlittle-endian.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@208069 138bc75d-0d04-0410-961f-82ee72b054a4
commit 8458514f6aa55ed139c0d28c6822ef98bc9f3497
Author: tschwinge <tschwinge@138bc75d-0d04-0410-961f-82ee72b054a4>
Date: Tue Jan 28 19:06:44 2014 +0000
Avoid "'dc' may be uninitialized" warning.
libiberty/
* cp-demangle.c (d_demangle_callback): Put an abort call in place,
to help the compiler.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207200 138bc75d-0d04-0410-961f-82ee72b054a4
commit a18138132bd35df3ebbcc6d39091c6e713892b53
Author: mpolacek <mpolacek@138bc75d-0d04-0410-961f-82ee72b054a4>
Date: Thu Jan 23 19:04:29 2014 +0000
PR c/59871 c/ * c-typeck.c (build_compound_expr): Warn even for right-hand operand of a comma expression. (emit_side_effect_warnings): Likewise. libdecnumber/ * decNumberLocal.h (UBFROMUS, UBFROMUI): Remove last argument. testsuite/ * gcc.dg/20020220-2.c: Adjust dg-warning message. * gcc.dg/pr59871.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207002 138bc75d-0d04-0410-961f-82ee72b054a4
commit f989a1c8ec5d25586c937cc39948b032e07cf1c0
Author: Tom Tromey <tromey@redhat.com>
Date: Tue Apr 29 08:27:31 2014 -0600
rename "set debugvarobj" to "set debug varobj"
I think "set debugvarobj" has the wrong name.
It ought to be "set debug varobj", like gdb's other debug settings.
This patch makes the change.
I chose not to install deprecated aliases, since this is only a debug
setting; but if someone feels strongly about it I will add them.
Built and regtested on x86-64 Fedora 20.
2014-04-29 Tom Tromey <tromey@redhat.com>
* varobj.c (_initialize_varobj): Rename to "set debug varobj" and
"show debug varobj".
2014-04-29 Tom Tromey <tromey@redhat.com>
* gdb.texinfo (Debugging Output): Rename to "set debug varobj" and
"show debug varobj".
commit 263b257428741e10dc4a127cc46c57379307f421
Author: mfortune <matthew.fortune@imgtec.com>
Date: Wed May 7 22:37:00 2014 +0100
Implement CONVERT_SYMBOLIC_ATTRIBUTE for MIPS.
gas/
* config/tc-mips.c (streq): Define.
(mips_convert_symbolic_attribute): New function.
* config/tc-mips.h (CONVERT_SYMBOLIC_ATTRIBUTE): Define.
(mips_convert_symbolic_attribute): New prototype
gas/testsuite/
* gas/mips/attr-gnu-abi-fp-1.s: New.
* gas/mips/attr-gnu-abi-fp-1.d: New.
* gas/mips/attr-gnu-abi-msa-1.s: New.
* gas/mips/attr-gnu-abi-msa-1.d: New.
* gas/mips/mips.exp: Add new tests.
commit 68e0f6b16d6ce24c912affec6b049a5452c7df3e
Author: Hans-Peter Nilsson <hp@bitrange.com>
Date: Thu May 8 12:47:52 2014 +0200
Add bfd/ChangeLog entry missing in commit.
* mmo.c: Update URLs in documentation comments.
commit 8969934d3180d80b4cb5da225e25379a880b5476
Author: Nick Clifton <nickc@redhat.com>
Date: Thu May 8 08:53:16 2014 +0100
Add support for emulating the MSP430 hardware multiply feature.
* msp430-sim.c (sim_open): Do not allocate memory over the
hardware multiply registers.
(get_op): Add support for reads from the hardware multiply
registers.
(put_op): Add support for writes to the hardware multiply
registers.
(msp430_step_once): Add support for the RETI instruction used by
the CPUX architecture.
commit 999b995ddc4a8a2f146ebf9a46c9924c6a7c65a6
Author: Stefan Kristiansson <stefan.kristiansson@saunalahti.fi>
Date: Thu May 8 08:53:09 2014 +0300
or1k: add support for l.swa/l.lwa atomic instructions
This adds support for the load-link/store-conditional
l.lwa/l.swa atomic instructions.
The support is added in such way, that the cpu description not
only describes the mnemonics, but also the functionality.
A couple of fixes to typos in nearby/related code are also snuck
into this.
cpu/
* or1korbis.cpu (h-atomic-reserve): New hardware.
(h-atomic-address): Likewise.
(insn-opcode): Add opcodes for LWA and SWA.
(atomic-reserve): New operand.
(atomic-address): Likewise.
(l-lwa, l-swa): New instructions.
(l-lbs): Fix typo in comment.
(store-insn): Clear atomic reserve on store to atomic-address.
Fix register names in fmt field.
opcodes/
* or1k-desc.c: Regenerated.
* or1k-desc.h: Likewise.
* or1k-opc.c: Likewise.
* or1k-opc.h: Likewise.
* or1k-opinst.c: Likewise.
commit efefdd63628d540f3ad513b2bb2036dfc53f00a8
Author: Alan Modra <amodra@gmail.com>
Date: Thu May 8 09:30:41 2014 +0930
daily update
commit 52f4ea798a490e414112e3caf1e0f93abfe2e48c
Author: Hans-Peter Nilsson <hp@bitrange.com>
Date: Thu May 8 00:48:19 2014 +0200
mmo.c: Update URLs in documentation comments.
commit 1058c7532d0b012ac329219264ddad59049fb6e6
Author: Volodymyr Arbatov <arbatov@cadence.com>
Date: Mon May 6 09:43:21 2013 -0800
Use signed data type for R_XTENSA_DIFF* relocation offsets.
R_XTENSA_DIFF relocation offsets are in fact signed. Treat them as such.
Add testcase that examines ld behaviour on R_XTENSA_DIFF relocation
changing sign during relaxation.
2014-05-02 Volodymyr Arbatov <arbatov@cadence.com>
David Weatherford <weath@cadence.com>
Max Filippov <jcmvbkbc@gmail.com>
bfd/
* elf32-xtensa.c (relax_section): treat R_XTENSA_DIFF* relocations as
signed.
gas/
* config/tc-xtensa.c (md_apply_fix): mark BFD_RELOC_XTENSA_DIFF*
fixups as signed.
ld/testsuite/
* ld-xtensa/diff_overflow.exp, * ld-xtensa/diff_overflow1.s,
* ld-xtensa/diff_overflow2.s: Add test for DIFF* relocation
signedness and overflow checking.
commit e59bc75b6546db04b0f3e1d760567f83ffc801f3
Author: Andreas Tobler <andreast@fgznet.ch>
Date: Wed May 7 22:52:51 2014 +0200
Add proper arm config for *-*-freebsd*.
commit 9404b58f46328b3b171b0d5eeb0691bd685bc4f5
Author: Kyle McMartin <kmcmarti@redhat.com>
Date: Wed Apr 30 12:04:50 2014 -0400
aarch64: detect atomic sequences like other ll/sc architectures
gdb/Changelog:
* aarch64-tdep.c (aarch64_software_single_step): New function.
(aarch64_gdbarch_init): Handle single stepping of atomic sequences
with aarch64_software_single_step.
gdb/testsuite/ChangeLog:
* gdb.arch/aarch64-atomic-inst.c: New file.
* gdb.arch/aarch64-atomic-inst.exp: New file.
commit ae52f4830604b4b82bcbe6ad52208d5efcea2f82
Author: Andrew Bennett <andrew.bennett@imgtec.com>
Date: Fri May 2 14:12:48 2014 +0100
Add MIPS r3 and r5 support.
This patch firstly adds support for mips32r3 mips32r5, mips64r3
and mips64r5. Secondly it adds support for the eretnc instruction.
ChangeLog:
bfd/
* aoutx.h (NAME (aout, machine_type)): Add mips32r3, mips64r3,
mips32r5 and mips64r5.
* archures.c (bfd_architecture): Likewise.
* bfd-in2.h (bfd_architecture): Likewise.
* cpu-mips.c (arch_info_struct): Likewise.
* elfxx-mips.c (mips_set_isa_flags): Likewise.
gas/
* tc-mips.c (ISA_SUPPORTS_MIPS16E): Add mips32r3, mips32r5, mips64r3
and mips64r5.
(ISA_HAS_64BIT_FPRS): Likewise.
(ISA_HAS_ROR): Likewise.
(ISA_HAS_ODD_SINGLE_FPR): Likewise.
(ISA_HAS_MXHC1): Likewise.
(hilo_interlocks): Likewise.
(md_longopts): Likewise.
(ISA_HAS_64BIT_REGS): Add mips64r3 and mips64r5.
(ISA_HAS_DROR): Likewise.
(options): Add OPTION_MIPS32R3, OPTION_MIPS32R5, OPTION_MIPS64R3, and
OPTION_MIPS64R5.
(mips_isa_rev): Add support for mips32r3, mips32r5, mips64r3 and
mips64r5.
(md_parse_option): Likewise.
(s_mipsset): Likewise.
(mips_cpu_info_table): Add entries for mips32r3, mips32r5, mips64r3
and mips64r5. Also change p5600 entry to be mips32r5.
* configure.in: Add support for mips32r3, mips32r5, mips64r3 and
mips64r5.
* configure: Regenerate.
* doc/c-mips.texi: Document the -mips32r3, -mips32r5, -mips64r3 and
-mips64r5 command line options.
* doc/as.texinfo: Likewise.
gas/testsuite/
* gas/mips/mips.exp: Add MIPS32r5 tests. Also add the mips32r3,
mips32r5, mips64r3 and mips64r5 isas to the testsuite.
* gas/mips/r5.s: New test.
* gas/mips/r5.d: Likewise.
include/opcode/
* mips.h (INSN_ISA_MASK): Updated.
(INSN_ISA32R3): New define.
(INSN_ISA32R5): New define.
(INSN_ISA64R3): New define.
(INSN_ISA64R5): New define.
(INSN_ISA64, INSN_ISA64R2, INSN_ISA3_32, INSN_ISA3_32R2, INSN_ISA4_32
INSN_ISA4_32R2, INSN_ISA5_32R2): Renumbered.
(mips_isa_table): Add entries for mips32r3, mips32r5, mips64r3 and
mips64r5.
(INSN_UPTO32R3): New define.
(INSN_UPTO32R5): New define.
(INSN_UPTO64R3): New define.
(INSN_UPTO64R5): New define.
(ISA_MIPS32R3): New define.
(ISA_MIPS32R5): New define.
(ISA_MIPS64R3): New define.
(ISA_MIPS64R5): New define.
(CPU_MIPS32R3): New define.
(CPU_MIPS32R5): New define.
(CPU_MIPS64R3): New define.
(CPU_MIPS64R5): New define.
opcodes/
* mips-opc.c (mips_builtin_opcodes): Add MIPS32r5 eretnc instruction.
(I34): New define.
(I36): New define.
(I66): New define.
(I68): New define.
* mips-dis.c (mips_arch_choices): Add mips32r3, mips32r5, mips64r3 and
mips64r5.
(parse_mips_dis_option): Update MSA and virtualization support to
allow mips64r3 and mips64r5.
commit f7730599d8876775726866275d5ce392c2669e9e
Author: Andrew Bennett <andrew.bennett@imgtec.com>
Date: Tue May 6 15:43:13 2014 +0100
Fix an issue with "Rearrange MIPS INSN* masks" patch.
This fixes an issue with Mark Shinwell's "Rearrange MIPS INSN* masks" patch
(https://sourceware.org/ml/binutils/2007-11/msg00231.html). In the patch
the pref instruction had its membership flags changed from I4|I32|G3 to
I4_32|G3. Unfortunately G3 was defined as being I4, which made the actual
expanded flags as: I4|I32|I4 and therefore the membership flags should have
been I4_32. Since the patch was committed G3 was redefined to be I4|EE. This
fix just removes I4 from G3 making the expanded membership flags for pref as
I4_32|EE.
ChangeLog:
opcodes/
* mips-opc.c (G3): Remove I4.
commit 5e45f04cf3408e662c460a23a3722fedfb03391a
Author: Yao Qi <yao@codesourcery.com>
Date: Tue May 6 21:47:36 2014 +0800
Relax the pattern in dwzbuildid.exp
Hi,
I recently see the fail in dwzbuildid.exp below on some targets,
(gdb) print the_int
No symbol "the_int" in current context.
(gdb) FAIL: gdb.dwarf2/dwzbuildid.exp: mismatch: print the_int
Looks the pattern expects to see "No symbol table is loaded", which
is emitted in c-exp.y,
variable: name_not_typename
....
if (msymbol.minsym != NULL)
write_exp_msymbol (pstate, msymbol);
else if (!have_full_symbols () && !have_partial_symbols ())
error (_("No symbol table is loaded. Use the \"file\" command."));
else
error (_("No symbol \"%s\" in current context."),
copy_name ($1.stoken));
it is expected to have no full symbols nor partial symbols, but something
brings full symbols or partial symbols in. I added "maint info symtabs"
and "maint info psymtabs" in dwzbuildid.exp, and it shows symbols are from
ld.so, which has debug information. Then, I reproduce the fail like this,
$ make check RUNTESTFLAGS="CFLAGS_FOR_TARGET='-Wl,-rpath=${glibc_build}:${glibc_build}/math -Wl,--dynamic-linker=${glibc_build}/elf/ld.so' dwzbuildid.exp"
${glibc_build} is the glibc build tree. Debug information is not striped,
so the test fail. However, if I strip debug information from libc.so, libm.so
and ld.so. The test passes.
This patch is to relax the pattern to match the both cases that glibc build
has and has not debug information.
gdb/testsuite:
2014-05-07 Yao Qi <yao@codesourcery.com>
* gdb.dwarf2/dwzbuildid.exp: Match output "No symbol "the_int" in
current context" too.
commit 1144861e0849fb67a8233d5a180f8ddae5e3f8a0
Author: Alan Modra <amodra@gmail.com>
Date: Wed May 7 09:30:55 2014 +0930
daily update
commit 57b2284c6318841612acef23c60fe7298a1ac91a
Author: Cary Coutant <ccoutant@google.com>
Date: Tue May 6 11:40:04 2014 -0700
Fix issue where first reserved word of GOT is not initialized if there
is no PLT.
gold/
PR gold/16900
* i386.cc (Output_data_got_plt_i386): New class.
(Output_data_plt_i386::Output_data_plt_i386): Change type of got_plt
parameter. Change all callers.
(Output_data_plt_i386::layout_): Remove.
(Output_data_plt_i386::got_plt_): Change type.
(Target_i386::got_plt_): Change type. Change all references.
(Target_i386::got_section): Create instance of new class.
(Output_data_got_plt_i386::do_write): New function.
* x86_64.cc (Output_data_got_plt_x86_64): New class.
(Output_data_plt_x86_64::Output_data_plt_x86_64): Change type of got_plt
parameter. Change all callers.
(Output_data_plt_x86_64::layout_): Remove.
(Output_data_plt_x86_64::got_plt_): Change type.
(Target_x86_64::got_plt_): Change type. Change all references.
(Target_x86_64::got_section): Create instance of new class.
(Output_data_got_plt_x86_64::do_write): New function.
(Output_data_plt_x86_64::do_write): Don't write reserved words in GOT.
(Target_x86_64<size>::init_got_plt_for_update): Create instance of new
class.
commit 757a636fb585824699b1cc4f8f23dbc3a6a6d914
Author: Richard Sandiford <rdsandiford@googlemail.com>
Date: Tue May 6 20:13:03 2014 +0100
bfd/
* elfxx-mips.h (elfxx-mips.h): Declare.
* elfxx-mips.c (mips_elf_merge_obj_attributes): Use it to report
Tag_GNU_MIPS_ABI_FP mismatches.
(_bfd_mips_fp_abi_string): New function.
commit 5e824b358f831b0cc4352ed6a3079c6f540fc107
Author: Alan Modra <amodra@gmail.com>
Date: Tue May 6 09:30:39 2014 +0930
daily update
commit 6b97515d17b48e92f61d53fd5f2e8b092660ba52
Author: Cary Coutant <ccoutant@google.com>
Date: Fri May 2 13:37:32 2014 -0700
Don't complain about the source language when we have pubnames/pubtypes info.
gold/
* gdb-index.cc (Gdb_index_info_reader): Don't complain about language
if we have pubnames/pubtypes.
commit 5e49ba5736ccaabaa3f11e9db491ca3554bf2a5b
Author: Joel Brobecker <brobecker@adacore.com>
Date: Mon May 5 15:03:06 2014 -0700
Document the GDB 7.7.1 release in gdb/ChangeLog
gdb/ChangeLog:
GDB 7.7.1 released.
commit 285ca99246160d12a3173076a661b6c524338baf
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Fri May 2 11:22:04 2014 -0700
Properly handle multiple opcode prefixes
This patch updates multiple opcode prefix processing:
1. Always print prefix together with bad opcode.
2. Since the last seen segment register prefix is active, we only print
the active segment register in the memory operand.
3. The 0xf2 and 0xf3 prefixes take precedence over the 0x66 prefix as the
opcode prefix. Also the last of the 0xf2 and 0xf3 prefixes wins.
4. Ignore invalid 0xf2/0xf3 prefixes if they aren't mandatory.
gas/testsuite/
PR binutils/16893
* gas/i386/katmai.d: Expect "gs" as prefix.
* gas/i386/long-1.s: Replace movapd with movss.
* gas/i386/x86-64-long-1.s: Likewise.
* gas/i386/long-1-intel.d: Updated.
* gas/i386/long-1.d: Likewise.
* gas/i386/x86-64-long-1-intel.d: Likewise.
* gas/i386/x86-64-long-1.d: Likewise.
* gas/i386/prefix.s: Add tests for multiple 0x66, 0x67, 0xf0,
0xf2 and 0xf3 prefixes.
* gas/i386/prefix.d: Updated.
opcodes/
PR binutils/16893
* i386-dis.c (twobyte_has_mandatory_prefix): New variable.
(end_codep): Likewise.
(mandatory_prefix): Likewise.
(active_seg_prefix): Likewise.
(ckprefix): Set active_seg_prefix to the active segment register
prefix.
(seg_prefix): Removed.
(get_valid_dis386): Use the last of PREFIX_REPNZ and PREFIX_REPZ
for prefix index. Ignore the index if it is invalid and the
mandatory prefix isn't required.
(print_insn): Set mandatory_prefix if the PREFIX_XXX prefix is
mandatory. Don't set PREFIX_REPZ/PREFIX_REPNZ/PREFIX_LOCK bits
in used_prefixes here. Don't print unused prefixes. Check
active_seg_prefix for the active segment register prefix.
Restore the DFLAG bit in sizeflag if the data size prefix is
unused. Check the unused mandatory PREFIX_XXX prefixes
(append_seg): Only print the segment register which gets used.
(OP_E_memory): Check active_seg_prefix for the segment register
prefix.
(OP_OFF): Likewise.
(OP_OFF64): Likewise.
(OP_DSreg): Set active_seg_prefix to PREFIX_DS if it is unset.
commit c888a17da5c7b06eec4b1ed21e4afe84f9a41347
Author: Keith Seitz <keiths@redhat.com>
Date: Mon May 5 13:43:31 2014 -0700
Fix a dangling cleanup in linspec_parse_basic.
2014-05-05 Keith Seitz <keiths@redhat.com>
* linespec.c (linespec_parse_basic): Run cleanups if a convenience
variable or history value is successfully parsed.
2014-05-05 Keith Seitz <keiths@redhat.com>
* gdb.linespec/ls-dollar.exp: Add test for linespec
file:convenience_variable.
commit 290a839c9ab3d33d2a1b42431154b65624a81b0a
Author: Yao Qi <yao@codesourcery.com>
Date: Sat Apr 26 10:14:52 2014 +0800
Partially available/unavailable data in requested range
In gdb.trace/unavailable.exp, an action is defined to collect
struct_b.struct_a.array[2] and struct_b.struct_a.array[100],
struct StructB
{
int d, ef;
StructA struct_a;
int s:1;
static StructA static_struct_a;
const char *string;
};
and the other files are not collected.
When GDB examine traceframe collected by the action, "struct_b" is
unavailable completely, which is wrong.
(gdb) p struct_b
$1 = <unavailable>
When GDB reads 'struct_b', it will request to read memory at struct_b's address
of length LEN. Since struct_b.d is not collected, no 'M' block
includes the first part of the desired range, so tfile_xfer_partial returns
TARGET_XFER_UNAVAILABLE and GDB thinks the whole requested range is unavailable.
In order to fix this problem, in the iteration to 'M' blocks, we record the
lowest address of blocks within the request range. If it has, the requested
range isn't unavailable completely. This applies to ctf too. With this patch
applied, the result looks good and fails in unavailable.exp is fixed.
(gdb) p struct_b
$1 = {d = <unavailable>, ef = <unavailable>, struct_a = {a = <unavailable>, b = <unavailable>, array = {<unavailable>,
<unavailable>, -1431655766, <unavailable> <repeats 97 times>, -1431655766, <unavailable> <repeats 9899 times>}, ptr = <unavailable>, bitfield = <unavailable>}, s = <unavailable>, static static_struct_a = {a = <unavailable>, b = <unavailable>, array = {<unavailable> <repeats 10000 times>}, ptr = <unavailable>,
bitfield = <unavailable>}, string = <unavailable>}
gdb:
2014-05-05 Yao Qi <yao@codesourcery.com>
Pedro Alves <palves@redhat.com>
* tracefile-tfile.c (tfile_xfer_partial): Record the lowest
address of blocks that intersects the requested range. Trim
LEN up to LOW_ADDR_AVAILABLE if read from executable read-only
sections.
* ctf.c (ctf_xfer_partial): Likewise.
gdb/testsuite:
2014-05-05 Yao Qi <yao@codesourcery.com>
* gdb.trace/unavailable.exp (gdb_collect_args_test): Save
traceframes into tfile and ctf trace files. Read data from
trace file and test collected data.
(gdb_collect_locals_test): Likewise.
(gdb_unavailable_registers_test): Likewise.
(gdb_unavailable_floats): Likewise.
(gdb_collect_globals_test): Likewise.
(top-level): Append "ctf" to trace_file_targets if GDB
supports.
commit 91256dc2fb82e6f68dce9b577e26cd89695b6c21
Author: Yao Qi <yao@codesourcery.com>
Date: Sat Apr 26 08:47:33 2014 +0800
Show new created display
When I run refactored unavailable.exp, I find
command display behaves a little different on live inferior and on
examining traceframes. In live inferior, when command "display argc"
is typed, the value of "argc" is shown.
(gdb) display argc
1: argc = 1 '\001'
however, on tfile target, when command "display argc" is typed, the
value of "argc" is not shown.
(gdb) tfind
Found trace frame 0, tracepoint 1
at ../../../../git/gdb/testsuite/gdb.trace/unavailable.cc:198
198 i = (int) argc + argi + argf + argd + argstruct.memberi + argarray[1];
(gdb) display argc
I also notice that on "core" target, the value of "argc" isn't shown
either. This difference is caused by the code below in printcmd.c:display_command,
if (from_tty && target_has_execution)
do_one_display (new);
Looks the value of each display is shown if the target has execution.
Source code archaeology doesn't tell much about this requirement.
However, if we type command "display" then on "core" or "tfile"
target, the value of "argc" is still displayed,
for "core" target,
(gdb) display argc
(gdb) display
1: argc = 1 '\001'
for "tfile" target,
(gdb) display argc
(gdb) display
1: argc = <unavailable>
I feel that it is not necessary to have such "target has execution"
requirement to show the value of new created display. Auto-display is
a feature to show the value of expression frequently, has nothing to
do with whether target has execution or not. On the other hand, GDB
has the requirement for new created display, but command "display" can
still show them, this is an inconsistency, which should be fixed.
This patch is to remove the checking to target_has_execution from the
condition.
gdb:
2014-05-05 Yao Qi <yao@codesourcery.com>
* printcmd.c (display_command): Remove the check to
target_has_execution.
commit b5262cd094e73112fb86297df9052ff0560f68a4
Author: Yao Qi <yao@codesourcery.com>
Date: Fri Apr 25 16:18:52 2014 +0800
Move traceframe checking out of traceframe generation
This patch moves traceframe checking code out of traceframe generation,
so that we can generation traceframe once, and do the checking in multiple
times (with target remote, tfile and ctf respectively). This is a
pure refactor, not functional changes in unavailable.exp.
gdb/testsuite:
2014-05-05 Yao Qi <yao@codesourcery.com>
* gdb.trace/unavailable.exp (gdb_collect_args_test): Move some
code to ...
(gdb_collect_args_test_1): ... it. New proc.
(gdb_collect_locals_test): Move some code to ...
(gdb_collect_locals_test_1): ... it. New proc.
(gdb_unavailable_registers_test): Move some code to ...
(gdb_unavailable_registers_test_1): ... it. New proc.
(gdb_unavailable_floats): Move some code to ...
(gdb_unavailable_floats_1): ... it. New proc.
commit 74183dabc3e3c253f171e6765a8753709005b44b
Author: Alan Modra <amodra@gmail.com>
Date: Mon May 5 09:30:36 2014 +0930
daily update
commit 5c1a8bf5167c14550a3699243283a010a0651123
Author: Alan Modra <amodra@gmail.com>
Date: Sun May 4 09:30:37 2014 +0930
daily update
commit 6ddd353ce073cb5ed6baedfb809bfb427342e7cd
Author: Mark Kettenis <kettenis@gnu.org>
Date: Sat May 3 22:43:16 2014 +0200
Git sucks!
commit 07284463de87545ab155200c83cbeb05db575b2b
Author: Mark Kettenis <kettenis@gnu.org>
Date: Sat May 3 22:36:44 2014 +0200
Enable rthreads support on OpenBSD/powerpc.
gdb/ChangeLog:
* ppcobsd-nat.c: Include "obsd-nat.h".
(_initialize_ppcobsd_nat): Call obsd_add_target instead of
add_target.
* config/powerpc/obsd.mh (NATDEPFILES): Add obsd-nat.o.
commit 19a170752bec78784b737789c1bdab8e7ab82a71
Author: Alan Modra <amodra@gmail.com>
Date: Sat May 3 09:30:42 2014 +0930
daily update
commit d1bddd3c4b9c17736bf6c59aa336670a589ca844
Author: Cary Coutant <ccoutant@google.com>
Date: Wed Apr 2 14:21:14 2014 -0700
Fix handling of __ehdr_start when it cannot be defined.
2014-05-02 Cary Coutant <ccoutant@google.com>
* defstd.cc (in_segment): Define __ehdr_start here...
* layout.cc (Layout::finalize): ...Instead of here. Set the
output segment when known.
* resolve.cc (Symbol::override_base_with_special): Remember
the original binding.
* symtab.cc (Symbol::set_output_segment): New function.
(Symbol::set_undefined): New function.
* symtab.h (Symbol::is_weak_undefined): Check original undef
binding.
(Symbol::is_strong_undefined): New function.
(Symbol::set_output_segment): New function.
(Symbol::set_undefined): New function.
* target-reloc.h (is_strong_undefined): Remove.
(issue_undefined_symbol_error): Call Symbol::is_weak_undefined.
Check for hidden undefs.
(relocate_section): Call Symbol::is_strong_undefined.
* testsuite/Makefile.am (ehdr_start_test_1)
(ehdr_start_test_2, ehdr_start_test_3)
(ehdr_start_test_4, ehdr_start_test_5): New test cases.
* testsuite/Makefile.in: Regenerate.
* testsuite/ehdr_start_def.cc: New source file.
* testsuite/ehdr_start_test.cc: New source file.
* testsuite/ehdr_start_test.t: New linker script.
* testsuite/ehdr_start_test_4.sh: New shell script.
commit 30a1e6cc7750ce016ea70afa795c0764d07d21ae
Author: Sergio Durigan Junior <sergiodj@redhat.com>
Date: Fri May 2 17:50:45 2014 -0300
Extend recognized types of SDT probe's arguments
This commit is actually an update to make the parser in
gdb/stap-probe.c be aware of all the possible prefixes that a probe
argument can have. According to the section "Argument Format" in:
<https://sourceware.org/systemtap/wiki/UserSpaceProbeImplementation>
The bitness of the arguments can be 8, 16, 32 or 64 bits, signed or
unsigned. Currently GDB recognizes only 32 and 64-bit arguments.
This commit extends this. It also provides a testcase, only for
x86_64 systems.
gdb/
2014-05-02 Sergio Durigan Junior <sergiodj@redhat.com>
* stap-probe.c (enum stap_arg_bitness): New enums to represent 8
and 16-bit signed and unsigned arguments. Update comment.
(stap_parse_probe_arguments): Extend code to handle such
arguments. Use warning instead of complaint to notify about
unrecognized bitness.
gdb/testsuite/
2014-05-02 Sergio Durigan Junior <sergiodj@redhat.com>
* gdb.arch/amd64-stap-optional-prefix.S (main): Add several
probes to test for bitness recognition.
* gdb.arch/amd64-stap-optional-prefix.exp
(test_probe_value_without_reg): New procedure.
Add code to test for different kinds of bitness.
commit f33da99a5410692ddf1302435e27b1bfc21d0b11
Author: Sergio Durigan Junior <sergiodj@redhat.com>
Date: Fri May 2 17:45:35 2014 -0300
Fix PR breakpoints/16889: gdb segfaults when printing ASM SDT arguments
This commit fixes PR breakpoints/16889, which is about a bug that
triggers when GDB tries to parse probes whose arguments do not contain
the initial (and optional) "N@" part. For reference sake, the de
facto format is described here:
<https://sourceware.org/systemtap/wiki/UserSpaceProbeImplementation>
Anyway, this PR actually uncovered two bugs (related) that were
happening while parsing the arguments. The first one was that the
parser *was* catching *some* arguments that were missing the "N@"
part, but it wasn't correctly setting the argument's type. This was
causing a NULL pointer being dereferenced, ouch...
The second bug uncovered was that the parser was not catching all of
the cases for a probe which did not provide the "N@" part. The fix
for that was to simplify the check that the code was making to
identify non-prefixed probes. The code is simpler and easier to read
now.
I am also providing a testcase for this bug, only for x86_64
architectures.
gdb/
2014-05-02 Sergio Durigan Junior <sergiodj@redhat.com>
PR breakpoints/16889
* stap-probe.c (stap_parse_probe_arguments): Simplify
check for non-prefixed probes (i.e., probes whose
arguments do not start with "N@"). Always set the
argument type to a sane value.
gdb/testsuite/
2014-05-02 Sergio Durigan Junior <sergiodj@redhat.com>
PR breakpoints/16889
* gdb.arch/amd64-stap-optional-prefix.S: New file.
* gdb.arch/amd64-stap-optional-prefix.exp: Likewise.
commit 54cb4522e7555fdf766201c3c74bfc8510c83424
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Fri May 2 08:39:09 2014 -0700
Move fwait test with prefix to prefix.s
* gas/i386/opcode-intel.d: Undo the last change.
* gas/i386/opcode-suffix.d: Likewise.
* gas/i386/opcode.d: Likewise.
* gas/i386/opcode.s: Likewise.
* gas/i386/prefix.s: Add test for fwait with prefix.
* gas/i386/prefix.d: Updated.
commit 8df14d78dc753a5286bb6461a14d8baa1e13e3cd
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Fri May 2 08:27:16 2014 -0700
Use sigsetjmp/siglongjmp in opcodes
sigsetjmp/siglongjmp without saving the signal mask is faster than
setjmp/longjmp on systems where the signal mask is saved. This patch
uses sigsetjmp/siglongjmp without saving the signal mask if possible.
PR binutils/16886
* config.in: Regenerated.
* configure: Likewise.
* configure.in: Check if sigsetjmp is available.
* h8500-dis.c (private): Replace jmp_buf with OPCODES_SIGJMP_BUF.
(fetch_data): Replace longjmp with OPCODES_SIGLONGJMP.
(print_insn_h8500): Replace setjmp with OPCODES_SIGSETJMP.
* i386-dis.c (dis_private): Replace jmp_buf with OPCODES_SIGJMP_BUF.
(fetch_data): Replace longjmp with OPCODES_SIGLONGJMP.
(print_insn): Replace setjmp with OPCODES_SIGSETJMP.
* ns32k-dis.c (private): Replace jmp_buf with OPCODES_SIGJMP_BUF.
(fetch_data): Replace longjmp with OPCODES_SIGLONGJMP.
(print_insn_ns32k): Replace setjmp with OPCODES_SIGSETJMP.
* sysdep.h (OPCODES_SIGJMP_BUF): New macro.
(OPCODES_SIGSETJMP): Likewise.
(OPCODES_SIGLONGJMP): Likewise.
* vax-dis.c (private): Replace jmp_buf with OPCODES_SIGJMP_BUF.
(fetch_data): Replace longjmp with OPCODES_SIGLONGJMP.
(print_insn_vax): Replace setjmp with OPCODES_SIGSETJMP.
* xtensa-dis.c (dis_private): Replace jmp_buf with
OPCODES_SIGJMP_BUF.
(fetch_data): Replace longjmp with OPCODES_SIGLONGJMP.
(print_insn_xtensa): Replace setjmp with OPCODES_SIGSETJMP.
* z8k-dis.c(instr_data_s): Replace jmp_buf with OPCODES_SIGJMP_BUF.
(fetch_data): Replace longjmp with OPCODES_SIGLONGJMP.
(print_insn_z8k): Replace setjmp with OPCODES_SIGSETJMP.
commit 2f67d686330300d4d27ff99ec47a970d744df8bb
Author: Alan Modra <amodra@gmail.com>
Date: Fri May 2 20:11:49 2014 +0930
Sort target vectors to suit renaming
* targets.c: Sort bfd_target vectors somewhat alphabetically.
* configure.in: Likewise.
* configure: Regenerate.
commit 6d00b590316c0b08de21a264893b0fd627c54686
Author: Alan Modra <amodra@gmail.com>
Date: Fri May 2 20:09:40 2014 +0930
bfd target vector rationalisation
This renames the bfd targets to <cpu>_<format>_<other>_<endian>_vec.
So for example, bfd_elf32_ntradlittlemips_vec becomes
mips_elf32_ntrad_le_vec and hp300bsd_vec becomes m68k_aout_hp300bsd_vec.
bfd/
* aix386-core.c, * aout-adobe.c, * aout-arm.c, * aout-ns32k.c,
* aout-sparcle.c, * aout0.c, * aoutx.h, * armnetbsd.c, * bout.c,
* cf-i386lynx.c, * cf-sparclynx.c, * cisco-core.c, * coff-alpha.c,
* coff-apollo.c, * coff-arm.c, * coff-aux.c, * coff-go32.c,
* coff-h8300.c, * coff-h8500.c, * coff-i386.c, * coff-i860.c,
* coff-i960.c, * coff-m68k.c, * coff-m88k.c, * coff-mips.c,
* coff-rs6000.c, * coff-sh.c, * coff-sparc.c, * coff-stgo32.c,
* coff-svm68k.c, * coff-tic80.c, * coff-u68k.c, * coff-w65.c,
* coff-we32k.c, * coff-x86_64.c, * coff-z80.c, * coff-z8k.c,
* coff64-rs6000.c, * config.bfd, * configure.com, * configure.in,
* demo64.c, * elf-m10200.c, * elf-m10300.c, * elf32-am33lin.c,
* elf32-arc.c, * elf32-arm.c, * elf32-avr.c, * elf32-bfin.c,
* elf32-cr16.c, * elf32-cr16c.c, * elf32-cris.c, * elf32-crx.c,
* elf32-d10v.c, * elf32-d30v.c, * elf32-dlx.c, * elf32-epiphany.c,
* elf32-fr30.c, * elf32-frv.c, * elf32-gen.c, * elf32-h8300.c,
* elf32-hppa.c, * elf32-i370.c, * elf32-i386.c, * elf32-i860.c,
* elf32-i960.c, * elf32-ip2k.c, * elf32-iq2000.c, * elf32-lm32.c,
* elf32-m32c.c, * elf32-m32r.c, * elf32-m68hc11.c, * elf32-m68hc12.c,
* elf32-m68k.c, * elf32-m88k.c, * elf32-mcore.c, * elf32-mep.c,
* elf32-metag.c, * elf32-microblaze.c, * elf32-mips.c, * elf32-moxie.c,
* elf32-msp430.c, * elf32-mt.c, * elf32-nds32.c, * elf32-nios2.c,
* elf32-or1k.c, * elf32-pj.c, * elf32-ppc.c, * elf32-rl78.c,
* elf32-rx.c, * elf32-s390.c, * elf32-score.c, * elf32-sh-symbian.c,
* elf32-sh.c, * elf32-sh64.c, * elf32-sparc.c, * elf32-spu.c,
* elf32-tic6x.c, * elf32-tilegx.c, * elf32-tilepro.c, * elf32-v850.c,
* elf32-vax.c, * elf32-xc16x.c, * elf32-xgate.c, * elf32-xstormy16.c,
* elf32-xtensa.c, * elf64-alpha.c, * elf64-gen.c, * elf64-hppa.c,
* elf64-ia64-vms.c, * elf64-mips.c, * elf64-mmix.c, * elf64-ppc.c,
* elf64-s390.c, * elf64-sh64.c, * elf64-sparc.c, * elf64-tilegx.c,
* elf64-x86-64.c, * elfn32-mips.c, * elfnn-aarch64.c, * elfnn-ia64.c,
* epoc-pe-arm.c, * epoc-pei-arm.c, * hp300bsd.c, * hp300hpux.c,
* hppabsd-core.c, * hpux-core.c, * i386aout.c, * i386bsd.c,
* i386dynix.c, * i386freebsd.c, * i386linux.c, * i386lynx.c,
* i386mach3.c, * i386msdos.c, * i386netbsd.c, * i386os9k.c,
* irix-core.c, * m68k4knetbsd.c, * m68klinux.c, * m68knetbsd.c,
* m88kmach3.c, * m88kopenbsd.c, * mach-o-i386.c, * mach-o-x86-64.c,
* makefile.vms, * mipsbsd.c, * mmo.c, * netbsd-core.c, * newsos3.c,
* nlm32-alpha.c, * nlm32-i386.c, * nlm32-ppc.c, * nlm32-sparc.c,
* ns32knetbsd.c, * osf-core.c, * pc532-mach.c, * pe-arm-wince.c,
* pe-arm.c, * pe-i386.c, * pe-mcore.c, * pe-mips.c, * pe-ppc.c,
* pe-sh.c, * pe-x86_64.c, * pei-arm-wince.c, * pei-arm.c,
* pei-i386.c, * pei-ia64.c, * pei-mcore.c, * pei-mips.c, * pei-ppc.c,
* pei-sh.c, * pei-x86_64.c, * ppcboot.c, * ptrace-core.c, * riscix.c,
* sco5-core.c, * som.c, * sparclinux.c, * sparclynx.c,
* sparcnetbsd.c, * sunos.c, * targets.c, * trad-core.c,
* vax1knetbsd.c, * vaxbsd.c, * vaxnetbsd.c, * versados.c,
* vms-alpha.c, * vms-lib.c: Rename bfd targets to
<cpu>_<format>_<other>_<endian>_vec. Adjust associated MY macros
on aout targets.
* configure: Regenerate.
binutils/
* emul_aix.c: Update bfd target vector naming.
* testsuite/binutils-all/objcopy.exp: Likewise.
ld/
* emultempl/metagelf.em: Update bfd target vector naming.
* emultempl/nios2elf.em: Likewise.
* emultempl/spuelf.em: Likewise.
* emultempl/tic6xdsbt.em: Likewise.
commit 4e60800159eab4b73ff263595986d5ae4eaf7413
Author: Alan Modra <amodra@gmail.com>
Date: Fri May 2 09:30:38 2014 +0930
daily update
commit 5b80f00d51b4eb40cb142a633bd657b84aca33eb
Author: Pedro Alves <palves@redhat.com>
Date: Fri May 2 00:59:31 2014 +0100
gdb_load: Fix latent bugs
In a test I was writting, I needed a procedure that would connect to
the target, and do "load", or equivalent.
Years ago, boards would override gdb_load to implement that. Then
gdb_reload was added, and gdb_load was relaxed to allow boards avoid
the spawing and connecting to the target. This sped up gdbserver
testing. See
https://www.sourceware.org/ml/gdb-patches/2007-02/msg00318.html.
To actually spawn the target and load the executable on the target
side, gdb_reload was born:
# gdb_reload -- load a file into the target. Called before "running",
# either the first time or after already starting the program once,
# for remote targets. Most files that override gdb_load should now
# override this instead.
proc gdb_reload { } {
# For the benefit of existing configurations, default to gdb_load.
# Specifying no file defaults to the executable currently being
# debugged.
return [gdb_load ""]
}
Note the comment about specifying no file. Indeed looking at
config/sid.exp, or config/monitor.exp, we see examples of that.
However, the default gdb_load itself doesn't handle the case of no
file specified. When passed no file, it just calls gdb_file_cmd with
no file either, which ends up invocing the "file" command with no
argument, which means unloading the file and its symbols... That
means calling gdb_reload when testing against native targets is
broken. We don't see that today because the only call to gdb_reload
that exists today is guarded by target_info exists
gdb,do_reload_on_run.
The native-extended-gdbserver.exp board is likewise broken here. When
[gdb_load ""] is called, the board sets the remote exec-file to "" ...
Tested on x86_64 Fedora 17, native, remote gdbserver and
extended-remote gdbserver.
testsuite/
2014-05-01 Pedro Alves <palves@redhat.com>
* lib/gdb.exp (gdb_load): Extend comment. Skip calling
gdb_file_cmd if no file is specified.
* boards/native-extended-gdbserver.exp (gdb_load): Use the
last_loaded_file to set the remote exec-file.
commit b46fa76826669b1496cac329d132485ede779d85
Author: Hans-Peter Nilsson <hp@bitrange.com>
Date: Fri May 2 00:31:58 2014 +0200
ld/testsuite:
* ld-mmix/sec-11.d, ld-mmix/sec-11.ld, ld-mmix/sec-10.s,
ld-mmix/sec-10.d, ld-mmix/b-offlocmis.s, ld-mmix/sec-12.d: New
tests.
* ld-mmix/b-offloc.s: Correct address in comment.
commit 1218d67db11b6a1aceeb477855047f70d4856854
Author: Hans-Peter Nilsson <hp@bitrange.com>
Date: Fri May 2 00:30:42 2014 +0200
* mmo.c (mmo File layout documentation): Add note about low bits
of address.
(mmo_write_chunk): When handling data remainder, assert that
previous remaining data is flushed.
(mmo_write_loc_chunk): Only look for trailing and leading zeros
when dealing with an aligned VMA and for aligned lengths. Don't skip
the last 32-bit-word of zeros.
(mmo_write_loc_chunk): Emit an error if the VMA is not aligned.
(mmo_scan) <case LOP_QUOTE>: Move re-alignment of vma before
emitting data, not after updating it.
<case LOP_LOC>: Call mmo_decide_section with aligned vma.
commit 39d1b2aef3c1dbbf31d82e555624afcbda9d58e7
Author: Richard Sandiford <rdsandiford@googlemail.com>
Date: Thu May 1 21:49:01 2014 +0100
* config.sub, config.guess: Import from upstream.
commit 3efe9ec51e506c4428906a18e88e664576fb715e
Author: Richard Sandiford <rdsandiford@googlemail.com>
Date: Thu May 1 21:39:48 2014 +0100
include/opcode/
* mips.h (mips_isa_table): Avoid hard-coding INSN_ISA* values.
commit 95cf3b38cd2fae4a53c8ff12bef21b2ae3fdd0cb
Author: David Taylor <dtaylor@emc.com>
Date: Thu May 1 18:09:43 2014 +0100
compare-sections: New -r option.
When connecting to a remote system, we use the compare-sections
command to verify that the box is running the code that we think it is
running. Since the system is up and running and *NOT* 'freshly
downloaded without yet executing anything', read-write sections, of
course, differ from what they were in the executable file.
Comparing read-write sections takes time and more importantly the
MIS-MATCHED output is confusing to some users.
The compare-sections command compares all loadable sections including
read-write sections. This patch gives the user the option to compare
just the loadable read-only sections.
gdb/
2014-05-01 David Taylor <dtaylor@emc.com>
* remote.c (compare_sections_command): Add -r option to compare
all loadable read-only sections.
gdb/doc/
2014-05-01 David Taylor <dtaylor@emc.com>
* gdb.texinfo (compare-sections): Document the new -r (read-only)
option.
commit 86a80a50f2cb244e6b9ec18b93675972baa50d78
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Thu May 1 09:39:51 2014 -0700
Handle prefixes before fwait
0x9b (fwait) is both an instruction and an opcode prefix. When 0x9b is
treated as an instruction, we need to handle any prefixes before it.
This patch handles it properly.
gas/testsuite/
PR binutils/16891
* gas/i386/opcode.s: Add test for fwait with prefix.
* gas/i386/opcode-intel.d: Updated.
* gas/i386/opcode-suffix.d: Likewise.
* gas/i386/opcode.d: Likewise.
opcodes/
PR binutils/16891
* i386-dis.c (print_insn): Handle prefixes before fwait.
commit f8c2a73c881913a25c1cb5be766516a75588c7ab
Author: Pedro Alves <palves@redhat.com>
Date: Thu May 1 17:25:52 2014 +0100
New testsuite/boards/local-remote-host.exp board, now with editing on
This adds a variant of local-remote-host-notty.exp that forces
pseudo-tty allocation, so that readline/editing is enabled.
$ ssh localhost gdb -q
(gdb) show editing
Editing of command lines as they are typed is off.
(gdb)
vs:
$ ssh -t localhost gdb -q
(gdb) show editing
Editing of command lines as they are typed is on.
We now get, e.g.:
Running ../../../src/gdb/testsuite/gdb.base/filesym.exp ...
PASS: gdb.base/filesym.exp: complete on "filesy"
PASS: gdb.base/filesym.exp: completion list for "filesym"
PASS: gdb.base/filesym.exp: set breakpoint at filesym
gdb/testsuite/
2014-05-01 Pedro Alves <palves@redhat.com>
* boards/local-remote-host.exp: New file.
commit be6e8ac7441c51348adfcfe495c6dff59a38ed19
Author: Pedro Alves <palves@redhat.com>
Date: Thu May 1 17:25:51 2014 +0100
Rename testsuite/boards/local-remote-host.exp -> testsuite/boards/local-remote-host-notty.exp
When testing with this board, stdin is not a tty, and so
readline/editing is disabled:
$ ssh localhost gdb -q
(gdb) show editing
Editing of command lines as they are typed is off.
(gdb)
Rename the file, to make room for a version of this board that forces a pseudo-tty.
gdb/testsuite/
2014-05-01 Pedro Alves <palves@redhat.com>
* boards/local-remote-host.exp: Rename to ...
* boards/local-remote-host-notty.exp: ... this.
commit 65bab56b9b708e0af46d3beeff6276dafd78c993
Author: Steve Ellcey <sellcey@mips.com>
Date: Thu May 1 09:09:33 2014 -0700
2014-05-01 Steve Ellcey <sellcey@mips.com>
* include/longlong.h: Import latest version from GCC tree.
commit a4526a9a95f4885aa52d5fdc4b3e21490cc6a8f7
Author: Alan Modra <amodra@gmail.com>
Date: Thu May 1 09:30:38 2014 +0930
daily update
commit a953eec996f2f93914cc78d68d4478a2660432b6
Author: Nick Clifton <nickc@redhat.com>
Date: Wed Apr 30 17:04:04 2014 +0100
Fixes a problem with the BFD library running out of memory because it mistakenly
thought that an uncompressed .debug_str section was compressed.
* compress.c (bfd_is_section_compressed): When checking the
.debug_str section, also check the fifth byte in the section is
not part of a string.
* binutils-all/debug_str.s: New test.
* binutils-all/debug_str.d: New test control file.
* binutils-all/compress.exp: Run debug_str test.
commit 1cfdf5340af6f07bb44b97c278f7036ef8db5c43
Author: Siva Chandra <sivachandra@chromium.org>
Date: Tue Apr 29 05:27:14 2014 -0700
Remove unused arguments to few functions in dwarf2loc.c and gdbtypes.c.
gdb/ChangeLog:
* dwarf2loc.c (dwarf2_locexpr_baton_eval,
dwarf2_evaluate_property): Remove unused CORE_ADDR argument.
Update all callers.
* dwarf2loc.h (dwarf2_evaluate_property): Update signature.
* gdbtypes.c (resolve_dynamic_range, resolve_dynamic_array):
Remove unused CORE_ADDR argument. Update all callers.
commit 5087d529319fc6d5985032183c138dd715d707b3
Author: Alan Modra <amodra@gmail.com>
Date: Wed Apr 30 10:11:56 2014 +0930
Don't use vma to identify eh_frame personality function
This is all we should need to be able to run the eh_frame parts of
bfd_elf_discard_info before bfd_elf_size_dynamic_sections
* elf-eh-frame.c (struct cie.personality): Replace val with sym.
(find_merged_cie): Identify personality functions by (bfd_id,index)
pair when a local sym is used.
commit 264bddaff16ce11038fa8e40068ec7535a3a7f3c
Author: Alan Modra <amodra@gmail.com>
Date: Wed Apr 30 09:30:37 2014 +0930
daily update
commit 230977a4a571a15fe81b689b1706129d4c4e0daf
Author: Christian Svensson <blue@cmd.nu>
Date: Tue Apr 29 00:34:59 2014 +0200
or1k: Do not override section for non-TLS symbols.
Outgoing section for relocations was computed by setting a shared
pointer to which section should be used. For TLS this was overriden to
use .rela.got since they use GOT entries but since the pointer is per
section that whole section was relocated to .rela.got, even non-TLS
relocations.
* elf32-or1k.c: Fix a bug where non-TLS relocations would be forced
into .rela.got if it contained TLS relocations as well.
commit ca4f7f8bebc069b8beec58754dc721e9be0798c7
Author: Pedro Alves <palves@redhat.com>
Date: Tue Apr 29 14:01:27 2014 +0100
Fix remote connection to targets that don't support the QNonStop packet.
... and others. The recent patch that fixed several "set remote
foo-packet on/off" commands introduced a regression, observable when
connecting GDB to QEMU. For instance:
(gdb) set debug remote 1
(gdb) tar rem :4444
Remote debugging using :4444
Sending packet: $qSupported:multiprocess+;qRelocInsn+#2a...Ack
Packet received: PacketSize=1000;qXfer:features:read+
Packet qSupported (supported-packets) is supported
Sending packet: $Hgp0.0#ad...Ack
Packet received: OK
Sending packet: $qXfer:features:read:target.xml:0,ffb#79...Ack
Packet received: [...]
Sending packet: $qXfer:features:read:arm-core.xml:0,ffb#08...Ack
Packet received: [...]
!!! -> Sending packet: $QNonStop:0#8c...Ack
Packet received:
Remote refused setting all-stop mode with:
The "QNonStop" feature is associated with the PACKET_QNonStop packet,
with a default of PACKET_DISABLE, so GDB should not be sending the
packet at all.
The patch that introduced the regression decoupled packet_config's
'detect' and 'support' fields, making the former (an auto_boolean)
purely the associated "set remote foo-packet" command's variable. In
the example above, the packet config's 'supported' field does end up
correctly set to PACKET_DISABLE. However, nothing is presently
initializing packet configs that don't actually have a command
associated. Those configs's 'detect' field then ends up set to
AUTO_BOOLEAN_TRUE, simply because that happens to be 0. This forces
GDB to assume the packet is supported, irrespective of what the target
claims it supports, just like if the user had done "set remote
foo-packet on" (this being the associated command, if there was one).
Ideally, all packet configs would have a command associated. While
that isn't true, make sure all packet configs are initialized, even if
no command is associated, and add an assertion that prevents adding
more packets/features without an associated command.
Tested on x86_64 Fedora 17, against pristine gdbserver, and against a
gdbserver with the QNonStop packet/feature disabled with a local hack.
gdb/
2014-04-29 Pedro Alves <palves@redhat.com>
* remote.c (struct packet_config) <detect>: Extend comment.
(add_packet_config_cmd): Don't set the config's detect or support
fields here.
(init_all_packet_configs): Also initialize the config's 'detect'
field.
(reset_all_packet_configs_support): New function.
(remote_open_1): Call reset_all_packet_configs_support instead of
init_all_packet_configs.
(_initialize_remote): Initialize all packet configs. Assert that
all packets have an associated command, except a few known
outliers.
commit 11903c4c65d3bf0391362ac389b96ffdd9f58212
Author: Alan Modra <amodra@gmail.com>
Date: Tue Apr 29 09:30:42 2014 +0930
daily update
commit cac0dc8f4b0688771a4ab8a4012fceb1323167f1
Author: Joel Brobecker <brobecker@adacore.com>
Date: Sat Apr 19 22:19:02 2014 -0700
Add gdb.ada/dyn_arrayidx testcase.
This add a testcases that verifies correct handling of dynamicity
for lower bounds of arrays.
gdb/testsuite/ChangeLog:
* gdb.ada/dyn_arrayidx: New testcase.
commit 11c1ba785203f7f121324fa9727c2adbbc2119c2
Author: Joel Brobecker <brobecker@adacore.com>
Date: Sat Apr 19 20:41:56 2014 -0700
dwarf2read.c::read_subrange_type: Handle dynamic lower bounds
Currently, read_subrange_type handles dynamicity only in the case of
the upper bound, and assumes that the lower bound is always static.
That's rooted in the fact that dynamicity was added to support C99
variable-length arrays, where the lower bound is always zero, and
therefore never dynamic. But the lower bound can, in fact, be dynamic
in other languages such as Ada.
Consider for instance the following declaration in Ada...
type Array_Type is array (L .. U) of Natural;
... where L and U are parameters of the function where the declaration
above was made, and whose value are 5 and 10. Currently, the debugger
is able to print the value of the upper bound correctly, but not the
lower bound:
(gdb) ptype array_type
type = array (1 .. 10) of natural
After this patch, the debugger now prints:
(gdb) ptype array_type
type = array (5 .. 10) of natural
gdb/ChangeLog:
* dwarf2read.c (read_subrange_type): Handle dynamic
DW_AT_lower_bound attributes.
commit 8739bc53cd91cc38287432b1fb880be327c9435c
Author: Joel Brobecker <brobecker@adacore.com>
Date: Sat Apr 19 09:55:14 2014 -0700
Improve Ada dynamic range type handling.
Consider the following declaration in Ada...
type Array_Type is array (L .. U) of Natural;
... where L and U are parameters of the function where the declaration
above was made. At the moment, GDB relies on descriptive types in order
to properly decode the array bounds. For instance, if L was 5, and U
was 10, we would see the following:
(gdb) ptype array_type
type = array (5 .. 10) of natural
(gdb) maintenance set ada ignore-descriptive-types
(gdb) ptype array_type
type = array (1 .. 28544912) of natural
This patch enhances ada_discrete_type_{high,low}_bound to resolve
any dynamicity. This is sufficient to fix the case of the upper bound.
For the lower bound, the dwarf2read module does not handle dynamic
lower bounds yet, but once it does, the lower bound should be correctly
handled as well [1].
gdb/ChangeLog:
* ada-lang.c (ada_discrete_type_high_bound): Resolve the type's
dynamic bounds before computing its upper bound.
(ada_discrete_type_low_bound): Same as above with the lower bound.
[1]: The reason why we do not enhance dwarf2read to handle dynamic
lower bounds ahead of this patch is because it unveils some latent
issues such as this one.
commit 6f8a3220a931ac052fedd75539058bd8aa97b3a8
Author: Joel Brobecker <brobecker@adacore.com>
Date: Sat Apr 19 09:40:53 2014 -0700
Enhance dwarfread.c::resolve_dynamic_type to resolve dynamic ranges
This change breaks down the resolve_dynamic_bounds function which
works only on arrays and its index range types into two functions,
one that resolves range types, and one that resolves arrays (using
the new routine to resolve the array's index range type). The
is_dynamic_type and resolve_dynamic_type function are then re-organized
to handle range types as well.
One small change worth mentioning is the fact that, now that range
types are resolved on their own (rather than in the limited context
of array index types), the resolved range types are created from
a copy of the dynamic range type, rather than from scratch (first
parameter of create_range_type). This allows us to preserve as many
original properties in the resolved type as possible (Eg. the type's
name).
This is preparation work that will help better support dynamic range
types for languages that allow the declaration of such types (Eg. Ada).
gdb/ChangeLog:
* dwarf2read.c (is_dynamic_type): Return true for dynamic
range types. Adjust the array handling implementation to
take advantage of this change.
(resolve_dynamic_range): New function, mostly extracted from
resolve_dynamic_bounds.
(resolve_dynamic_array): New function, mostly extracted from
resolve_dynamic_bounds.
(resolve_dynamic_bounds): Delete.
(resolve_dynamic_type): Reimplement. Add handling of
TYPE_CODE_RANGE types.
commit 4d072ce478ebb605b2f0ca326c7c3168d4ee5989
Author: Joel Brobecker <brobecker@adacore.com>
Date: Thu Apr 24 12:09:11 2014 -0400
Unnecessary XA type handling in ada_varobj_describe_simple_array_child
ada-varobj.c::ada_varobj_describe_simple_array_child only ever gets
called after all GNAT encodings have been applied to (parent_value,
parent_type). So there is no point in redoing it partially by
checking for parallel XA types again.
gdb/ChangeLog:
* ada-varobj.c (ada_varobj_describe_simple_array_child): Remove
handling of parallel ___XA types.
commit 528653254b46ccd95d7ffbef73acbcc1242eaee6
Author: Joel Brobecker <brobecker@adacore.com>
Date: Tue Mar 18 10:52:08 2014 -0700
remove unnecessary second call to static_unwrap_type in ada_evaluate_subexp
In ada-lang.c::ada_evaluate_subexp, case OP_VAR_VALUE, when noside
is EVAL_AVOID_SIDE_EFFECTS, the first thing we do is set type as
follow:
type = static_unwrap_type (SYMBOL_TYPE (exp->elts[pc + 2].symbol));
Later on in the same block, we make the same call:
return value_zero
(to_static_fixed_type
(static_unwrap_type (SYMBOL_TYPE (exp->elts[pc + 2].symbol))),
not_lval);
This patch removes the second call, since it should result in the same
type being returned, so no point in making that call again.
gdb/ChangeLog:
* ada-lang.c (ada_evaluate_subexp) <OP_VAR_VALUE>: Remove
unnecessary second call to static_unwrap_type.
commit f01c1a090e6629be280efb3c596d818f1f74ae2a
Author: Nick Clifton <nickc@redhat.com>
Date: Mon Apr 28 14:32:59 2014 +0100
This fixes a bootstrapping problem with gcc 4.9 in an x86 PE environment.
The problem was that references to weak function symbols were being
incorrectly biased by definition's offset.
PR gas/16858
* config/tc-i386.c (md_apply_fix): Do not adjust value of
pc-relative fixes against weak symbols.
commit 2b577b92f0a6dc2ab894b604415cfe272f273e11
Author: Yao Qi <yao@codesourcery.com>
Date: Mon Apr 28 18:56:06 2014 +0800
[gdbserver] Correctly generate i386-avx512.c
The makefile rule i386-avx512.c is to generate i386-avx512.c, but it
is written to i386-avx.c by mistake. This patch is to fix this typo.
gdb/gdbserver:
2014-04-28 Yao Qi <yao@codesourcery.com>
* Makefile.in (i386-avx512.c): Fix the typo of generated file
name.
commit 40af4a3636504a0e7e0223b34ed1e7b15c4fa5da
Author: Nick Clifton <nickc@redhat.com>
Date: Mon Apr 28 09:34:02 2014 +0100
This patch reworks the fix to avoid a compile time warning so that it will work
with later versions of gcc.
PR ld/16821
* peXXigen.c (_bfd_XXi_swap_sym_out): Rework fix to avoid compile
time warning.
commit e3e163dbb0c50aa94af5416aca86d9ef9c225205
Author: Alan Modra <amodra@gmail.com>
Date: Mon Apr 28 09:30:57 2014 +0930
daily update
commit 433e77fad1fda55408db072de18dcd4f9116289e
Author: Hui Zhu <teawater@gmail.com>
Date: Sun Apr 27 22:23:43 2014 +0800
Make "set disassemble-next-line on" can work with DUMMY_FRAME, SIGTRAMP_FRAME and ARCH_FRAME
When GDB debug DUMMY_FRAME, SIGTRAMP_FRAME and ARCH_FRAME, even if
"set disassemble-next-line on", it will not output the asm code:
(gdb) set disassemble-next-line on
(gdb) si
<signal handler called>
(gdb)
<signal handler called>
(gdb)
<signal handler called>
So make this patch make they can work together, it will become:
(gdb) si
<signal handler called>
=> 0xffffffff816bfb09 <int_with_check+0>: 65 48 8b 0c 25 c8 c7 00 00 mov %gs:0xc7c8,%rcx
(gdb)
<signal handler called>
=> 0xffffffff816bfb12 <int_with_check+9>: 48 81 e9 d8 1f 00 00 sub $0x1fd8,%rcx
(gdb)
<signal handler called>
=> 0xffffffff816bfb19 <int_with_check+16>: 8b 51 10 mov 0x10(%rcx),%edx
2014-04-27 Hui Zhu <hui@codesourcery.com>
* stack.c (print_frame_info): Call do_gdb_disassembly with
DUMMY_FRAME, SIGTRAMP_FRAME and ARCH_FRAME.
commit 7b667436a52c584267cc78d1fbc05c84856192ee
Author: Alan Modra <amodra@gmail.com>
Date: Sun Apr 27 09:30:59 2014 +0930
daily update
commit b51a69ee0944b8ad1b020bcab85f88acdae8b10f
Author: Doug Evans <xdje42@gmail.com>
Date: Sat Apr 26 13:13:13 2014 -0700
* guile/scm-safe-call.c (scscm_eval_scheme_string): Fix comment.
commit a9e18c6a3c4a90c0edcfdfdda5c181cdee43421f
Author: Alan Modra <amodra@gmail.com>
Date: Sat Apr 26 23:00:09 2014 +0930
Regenerate files for openrisk -> or1k change
bfd/
* po/SRC-POTFILES.in: Regenerate.
* configure: Regenerate.
gas/
* po/POTFILES.in: Regenerate.
opcodes/
* po/POTFILES.in: Regenerate.
commit 9730e6ccc4307a03ae2a0dd5c8a17a30fcf9b1f2
Author: Yao Qi <yao@codesourcery.com>
Date: Thu Apr 24 16:51:33 2014 +0800
Compute the function length instead of hard coding it
In Dwarf::assemble in dwz.exp, 10 is hard-coded in it,
subprogram {
{name main}
{low_pc main addr}
{high_pc "main + 10" addr}
}
however, the length of main function varies on architectures. The
hard-coded 10 here causes dwz.exp fails on some targets, such as
nios2.
This patch is to add some code to compute the length of function main,
which is similar to what we are doing in entry-values.exp.
gdb/testsuite:
2014-04-26 Yao Qi <yao@codesourcery.com>
* gdb.dwarf2/dwz.exp: Compile main.c to object. Restart GDB
and compute the length of function main. Save it in
$main_length.
(Dwarf::assemble): Use $main_length instead of hard-coded 10.
(top-level): Use gdb_compile to compile objects into
executable and restart GDB. Remove invocation to
prepare_for_testing.
commit cec9d598f54503baaead6c8009a7998a0cd731fa
Author: Alan Modra <amodra@gmail.com>
Date: Sat Apr 26 09:30:55 2014 +0930
daily update
commit 94611da2409673314d7caaf38c66baa52d6f5adc
Author: Pedro Alves <palves@redhat.com>
Date: Fri Apr 25 19:22:27 2014 +0100
Add missing gdbserver/ChangeLog entry for previous commit.
2014-04-25 Pedro Alves <palves@redhat.com>
PR server/16255
* linux-low.c (linux_attach_fail_reason_string): New function.
(linux_attach_lwp): Delete.
(linux_attach_lwp_1): Rename to ...
(linux_attach_lwp): ... this. Take a ptid instead of a pid as
argument. Remove "initial" parameter. Return int instead of
void. Don't error or warn here.
(linux_attach): Adjust to call linux_attach_lwp. Call error on
failure to attach to the tgid. Call warning when failing to
attach to an lwp.
* linux-low.h (linux_attach_lwp): Take a ptid instead of a pid as
argument. Remove "initial" parameter. Return int instead of
void. Don't error or warn here.
(linux_attach_fail_reason_string): New declaration.
* thread-db.c (attach_thread): Adjust to linux_attach_lwp's
interface change. Use linux_attach_fail_reason_string.
commit 7ae1a6a6ccda41aa8bbe9adb0f7fcde8bf8d5cb3
Author: Pedro Alves <palves@redhat.com>
Date: Fri Apr 25 19:07:33 2014 +0100
PR server/16255: gdbserver cannot attach to a second inferior that is multi-threaded.
On Linux, we need to explicitly ptrace attach to all lwps of a
process. Because GDB might not be connected yet when an attach is
requested, and thus it may not be possible to activate thread_db, as
that requires access to symbols (IOW, gdbserver --attach), a while ago
we make linux_attach loop over the lwps as listed by /proc/PID/task to
find the lwps to attach to.
linux_attach_lwp_1 has:
...
if (initial)
/* If lwp is the tgid, we handle adding existing threads later.
Otherwise we just add lwp without bothering about any other
threads. */
ptid = ptid_build (lwpid, lwpid, 0);
else
{
/* Note that extracting the pid from the current inferior is
safe, since we're always called in the context of the same
process as this new thread. */
int pid = pid_of (current_inferior);
ptid = ptid_build (pid, lwpid, 0);
}
That "safe" comment referred to linux_attach_lwp being called by
thread-db.c. But this was clearly missed when a new call to
linux_attach_lwp_1 was added to linux_attach. As a result,
current_inferior will be set to some random process, and non-initial
lwps of the second inferior get assigned the pid of the wrong
inferior. E.g., in the case of attaching to two inferiors, for the
second inferior (and so on), non-initial lwps of the second inferior
get assigned the pid of the first inferior. This doesn't trigger on
the first inferior, when current_inferior is NULL, add_thread switches
the current inferior to the newly added thread.
Rather than making linux_attach switch current_inferior temporarily
(thus avoiding further reliance on global state), or making
linux_attach_lwp_1 get the tgid from /proc, which add extra syscalls,
and will be wrong in case of the user having originally attached
directly to a non-tgid lwp, and then that lwp spawning new clones (the
ptid.pid field of further new clones should be the same as the
original lwp's pid, which is not the tgid), we note that callers of
linux_attach_lwp/linux_attach_lwp_1 always have the right pid handy
already, so they can pass it down along with the lwpid.
The only other reason for the "initial" parameter is to error out
instead of warn in case of attach failure, when we're first attaching
to a process. There are only three callers of
linux_attach_lwp/linux_attach_lwp_1, and each wants to print a
different warn/error string, so we can just move the error/warn out of
linux_attach_lwp_1 to the callers, thus getting rid of the "initial"
parameter.
There really nothing gdbserver-specific about attaching to two
threaded processes, so this adds a new test under gdb.multi/. The
test passes cleanly against the native GNU/Linux target, but
fails/triggers the bug against GDBserver (before the patch), with the
native-extended-remote board (as plain remote doesn't support
multi-process).
Tested on x86_64 Fedora 17, with the native-extended-gdbserver board.
gdb/gdbserver/
2014-04-25 Pedro Alves <palves@redhat.com>
PR server/16255
* linux-low.c (linux_attach_fail_reason_string): New function.
(linux_attach_lwp): Delete.
(linux_attach_lwp_1): Rename to ...
(linux_attach_lwp): ... this. Take a ptid instead of a pid as
argument. Remove "initial" parameter. Return int instead of
void. Don't error or warn here.
(linux_attach): Adjust to call linux_attach_lwp. Call error on
failure to attach to the tgid. Call warning when failing to
attach to an lwp.
* linux-low.h (linux_attach_lwp): Take a ptid instead of a pid as
argument. Remove "initial" parameter. Return int instead of
void. Don't error or warn here.
(linux_attach_fail_reason_string): New declaration.
* thread-db.c (attach_thread): Adjust to linux_attach_lwp's
interface change. Use linux_attach_fail_reason_string.
gdb/
2014-04-25 Pedro Alves <palves@redhat.com>
PR server/16255
* common/linux-ptrace.c (linux_ptrace_attach_warnings): Rename to ...
(linux_ptrace_attach_fail_reason): ... this. Remove "warning: "
and newline from built string.
* common/linux-ptrace.h (linux_ptrace_attach_warnings): Rename to ...
(linux_ptrace_attach_fail_reason): ... this.
* linux-nat.c (linux_nat_attach): Adjust to use
linux_ptrace_attach_fail_reason.
gdb/testsuite/
2014-04-25 Simon Marchi <simon.marchi@ericsson.com>
Pedro Alves <palves@redhat.com>
PR server/16255
* gdb.multi/multi-attach.c: New file.
* gdb.multi/multi-attach.exp: New file.
commit 4082afcc3d1af9d8063d1c8e02deb34a8b97a489
Author: Pedro Alves <palves@redhat.com>
Date: Fri Apr 25 18:07:02 2014 +0100
Fix several "set remote foo-packet on/off" commands.
For several RSP packets, there's a corresponding "set remote
foo-packet on/off/auto" command that one can use do bypass
auto-detection of support for the packet or feature. However, I
noticed that setting several of these commands to 'on' or 'off'
doesn't actually have any effect. These are, at least:
set remote breakpoint-commands-packet
set remote conditional-breakpoints-packet
set remote fast-tracepoints-packet
set remote static-tracepoints-packet
set remote install-in-trace-packet
These are commands that control a remote protocol feature that doesn't
have a corresponding regular packet, and because of that we cache the
knowledge of the remote side support as returned by the qSupported
packet in the remote_state object.
E.g., in the case of the 'set remote breakpoint-commands-packet'
command, whether the feature is supported is recorded in the
'breakpoint_commands' field of the remote_state object.
Whether to bypass packet support auto-detection or not is controlled
by the 'detect' field of the corresponding packet's packet_config
structure. That field is the variable associated directly with the
"set remote foo-packet" command. Actual remote stub support for the
packet (or feature) is recorded in the 'support' field of the same
structure.
However, when the user toggles the command, the 'support' field is
also correspondingly updated to PACKET_ENABLE/DISABLE/SUPPORT_UNKNOWN,
discarding the knowledge of whether the target actually supports the
feature. If one toggles back to 'auto', it's no big issue for real
packets, as they'll just end up re-probed the next time they might be
necessary. But features whose support is only reported through
qSupported don't get their corresponding (manually added/maintained)
fields in remote_state objected updated. As we lost the actual status
of the target support for the feature, GDB would need to probe the
qSupported features again, which GDB doesn't do.
But we can avoid that extra traffic, and clean things up, IMO.
Instead of going in that direction, this patch completely decouples
struct packet_config's 'detect' and 'support' fields. E.g., when the
user does "set remote foo-packet off", instead of setting the packet
config's 'support' field to PACKET_DISABLE, the 'support' field is not
touched at all anymore. That is, we end up respecting this simple
table:
| packet_config->detect | packet_config->support | should use packet/feature? |
|-----------------------+------------------------+----------------------------|
| auto | PACKET_ENABLE | PACKET_ENABLE |
| auto | PACKET_DISABLE | PACKET_DISABLE |
| auto | PACKET_UNKNOWN | PACKET_UNKNOWN |
| yes | don't care | PACKET_ENABLE |
| no | don't care | PACKET_DISABLE |
This is implemented by the new packet_support function. With that, we
need to update this pattern throughout:
if (remote_protocol_packets[PACKET_foo].support == PACKET_DISABLE)
to do this instead:
if (packet_support (PACKET_qAttached) == PACKET_DISABLE)
where as mentioned, the packet_support function takes struct
packet_config's 'detect' field into account, like in the table above.
As when the packet is force-disabled or force-enabled, the 'support'
field is just ignored, if the command is set back to auto, we'll
resume respecting whatever the target said it supports. IOW, the end
result is that the 'support' field always represents whether the
target actually supports the packet or not.
After all that, the manually maintained breakpoint_commands and
equivalent fields of struct remote_state can then be eliminated, with
references replaced by checking the result of calling the
packet_support function on the corresponding packet or feature. This
required adding new PACKET_foo enum values for several features that
didn't have it yet. (The patch does not add corresponding "set remote
foo-packet" style commands though, focusing only on bug fixing and
laying the groundwork).
Tested on x86_64 Fedora 17, native GDBserver. The new tests all fail
without this patch.
gdb/
2014-04-25 Pedro Alves <palves@redhat.com>
* remote.c (struct remote_state): Remove multi_process_aware,
non_stop_aware, cond_tracepoints, cond_breakpoints,
breakpoint_commands, fast_tracepoints, static_tracepoints,
install_in_trace, disconnected_tracing,
enable_disable_tracepoints, string_tracing, and
augmented_libraries_svr4_read fields.
(remote_multi_process_p): Move further below in the file.
(struct packet_config): Add comments.
(update_packet_config): Delete function.
(show_packet_config_cmd): Use packet_config_support.
(add_packet_config_cmd): Use NULL as set callback.
(packet_ok): "set remote foo-packet"-style commands no longer
change config->supported -- adjust.
(PACKET_ConditionalTracepoints, PACKET_ConditionalBreakpoints)
(PACKET_BreakpointCommands, PACKET_FastTracepoints)
(PACKET_StaticTracepoints, PACKET_InstallInTrace): Add comments.
(PACKET_QNonStop, PACKET_multiprocess_feature)
(PACKET_EnableDisableTracepoints_feature, PACKET_tracenz_feature)
(PACKET_DisconnectedTracing_feature)
(PACKET_augmented_libraries_svr4_read_feature): New enum values.
(set_remote_protocol_packet_cmd): Delete function.
(packet_config_support, packet_support): New functions.
(set_remote_protocol_Z_packet_cmd): Don't call
update_packet_config.
(remote_query_attached, remote_pass_signals)
(remote_program_signals, remote_threads_info)
(remote_threads_extra_info, remote_start_remote): Use
packet_support.
(remote_start_remote): Use packet_config_support and
packet_support.
(init_all_packet_configs): Set all packets to unknown support,
instead of calling update_packet_config.
(remote_check_symbols): Use packet_support.
(remote_supported_packet): Unconditionally set the packet config's
support status.
(remote_multi_process_feature, remote_non_stop_feature)
(remote_cond_tracepoint_feature, remote_cond_breakpoint_feature)
(remote_breakpoint_commands_feature)
(remote_fast_tracepoint_feature, remote_static_tracepoint_feature)
(remote_install_in_trace_feature)
(remote_disconnected_tracing_feature)
(remote_enable_disable_tracepoint_feature)
(remote_string_tracing_feature)
(remote_augmented_libraries_svr4_read_feature): Delete functions.
(remote_protocol_features): Adjust to use remote_supported_packet
for "augmented-libraries-svr4-read", "multiprocess", "QNonStop",
"ConditionalTracepoints", "ConditionalBreakpoints",
"BreakpointCommands", "FastTracepoints", "StaticTracepoints",
"InstallInTrace", "DisconnectedTracing", "DisconnectedTracing",
"EnableDisableTracepoints", and "tracenz".
(remote_query_supported): Use packet_support.
(remote_open_1): Adjust.
(extended_remote_attach_1): Use packet_support. Switch on the
result of packet_ok instead of checking whether the packet ended
up disabled.
(remote_vcont_resume): Use packet_support.
(remote_resume, remote_stop_ns, fetch_register_using_p)
(remote_prepare_to_store, store_register_using_P)
(check_binary_download, remote_write_bytes): Use packet_support.
(remote_vkill): Use packet_support. Switch on the result of
packet_ok instead of checking whether the packet ended up
disabled.
(extended_remote_supports_disable_randomization): Use
packet_support.
(extended_remote_run): Switch on the result of packet_ok instead
of checking whether the packet ended up disabled.
(remote_insert_breakpoint, remote_remove_breakpoint)
(remote_insert_watchpoint, remote_remove_watchpoint)
(remote_insert_hw_breakpoint, remote_remove_hw_breakpoint): Use
packet_support.
(remote_search_memory): Use packet_config_support.
(remote_get_thread_local_address, remote_get_tib_address)
(remote_hostio_send_command, remote_can_execute_reverse): Use
packet_support.
(remote_supports_cond_tracepoints)
(remote_supports_cond_breakpoints)
(remote_supports_fast_tracepoints)
(remote_supports_static_tracepoints)
(remote_supports_install_in_trace)
(remote_supports_enable_disable_tracepoint)
(remote_supports_string_tracing)
(remote_can_run_breakpoint_commands): Rewrite, checking whether
the packet config says the feature is enabled or disabled.
(remote_download_tracepoint, remote_trace_set_readonly_regions)
(remote_get_trace_status): Use packet_support.
(remote_set_disconnected_tracing): Adjust to check whether the
feature is enabled with packet_support.
(remote_set_trace_buffer_size, remote_use_agent)
(remote_can_use_agent, remote_supports_btrace): Use
packet_support.
(remote_enable_btrace, remote_disable_btrace, remote_read_btrace):
Use packet_config_support.
(remote_augmented_libraries_svr4_read): Rewrite, checking whether
the packet config says the feature is enabled or disabled.
(set_range_stepping): Use packet_support.
gdb/testsuite/
2014-04-25 Pedro Alves <palves@redhat.com>
* gdb.base/cond-eval-mode.exp (warning): Move trailing \r\n to
user.
(top level): Test that "set remote conditional-breakpoints-packet
off" works as intended.
* gdb.base/dprintf.exp: Test that "set remote
breakpoint-commands-packet off" works as intended.
* gdb.trace/change-loc.exp (tracepoint_install_in_trace_disabled):
New function.
(top level): Call it.
* gdb.trace/ftrace.exp (test_fast_tracepoints): Test that "set
remote fast-tracepoints-packet off" works as intended.
* gdb.trace/qtro.exp (gdb_is_target_remote): Moved ...
* lib/gdb.exp (gdb_is_target_remote): ... here.
commit 88667baf24e71481f0002c0452b94a1d53116725
Author: Nick Clifton <nickc@redhat.com>
Date: Fri Apr 25 17:00:20 2014 +0100
This fixes a compile time warning which is being treated as an error. Older
versions of gcc complain about part of a conditional expression always
evaluating to false because of the size of the operands involved, even when
the entire expression is already known to be false.
* peXXigen.c (_bfd_XXi_swap_sym_out): Another fix for building on
a 342-bit host. This time for older versions of gcc.
commit bdb52a22a7672fa716997bce67ac9c1fcbd7c338
Author: Tom Tromey <tromey@redhat.com>
Date: Fri Apr 25 09:43:47 2014 -0600
document "quit" command's argument
2014-04-25 Tom Tromey <tromey@redhat.com>
* cli/cli-cmds.c (_initialize_cli_cmds): Document "quit" command's
argument.
commit e9475ead987ab329928324c3b7a38d17300580ae
Author: Sanimir Agovic <sanimir.agovic@intel.com>
Date: Tue Apr 22 15:26:33 2014 +0100
news: mention support for C99 variable length arrays
* NEWS: Mention support for C99 variable length arrays.
commit 2abc3f8d59e0130e5340a5489b53556f12c9d0ce
Author: David Blaikie <dblaikie@gmail.com>
Date: Thu Apr 10 23:45:28 2014 -0700
Ensure unreferenced static symbols aren't omitted by clang (either marking them __attribute__((used)) or making them non-static)
gdb/testsuite/
* gdb.base/catch-syscall.c: Make unreferenced statics non-static to
ensure clang would not discard them.
* gdb.base/gdbvars.c: Ditto.
* gdb.base/memattr.c: Ditto.
* gdb.base/whatis.c: Ditto.
* gdb.python/py-prettyprint.c: Ditto.
* gdb.trace/actions.c: Ditto.
* gdb.cp/ptype-cv-cp.cc: Mark unused global const int as used to
ensure clang would not discard it.
commit bfd39632142cba581a430e41ed38c5153d1fc07a
Author: David Blaikie <dblaikie@gmail.com>
Date: Thu Apr 24 22:16:29 2014 -0700
Cause clang to emit the definition of a type used only by pointer
gdb/testsuite/
* gdb.stabs/gdb11479.c (tag_dummy_enum): introduce a variable to cause
clang to emit the full definition of type required by the test
* gdb.stabs/gdb11479.exp (do_test): correct a typo in a test message
commit 22842ff63e28b86e0cd40a87186757b2525578f4
Author: David Blaikie <dblaikie@gmail.com>
Date: Sun Apr 13 00:48:45 2014 -0700
Return by value to coax Clang into emitting the full definition of a test type.
gdb/testsuite/
* gdb.cp/pr10728-x.cc: Return by value instead of pointer to coax
Clang into emitting the definition of the type.
* gdb.cp/pr10728-x.h: Ditto.
* gdb.cp/pr10728-y.cc: Ditto.
commit c2e827ad5340fcf1735df6c77cb0311e56b985ef
Author: David Blaikie <dblaikie@gmail.com>
Date: Sun Apr 13 11:42:02 2014 -0700
XFAIL under Clang tests using labels
gdb/testsuite/
* gdb.base/label.exp: XFAIL label related tests under Clang.
* gdb.cp/cplabel.exp: Ditto.
* gdb.linespec/ls-errs.exp: Refactor tests to execute directly
and XFAIL under Clang those using labels.
commit 4c2d33e7a2309f4cec2a1a850c53e8f6e147e5fd
Author: Yao Qi <yao@codesourcery.com>
Date: Thu Apr 24 18:46:22 2014 +0800
Remove unused labels in dwarf assembler
I happen to see that 'double_label' isn't used in dwz.exp dwarf assembler.
Similarly, partial_label and double_label aren't used in dwzbuildid.exp.
This patch is to remove them.
gdb/testsuite:
2014-04-25 Yao Qi <yao@codesourcery.com>
* gdb.dwarf2/dwz.exp (Dwarf::assemble): Remove unused
double_label.
* gdb.dwarf2/dwzbuildid.exp (Dwarf::assemble): Remove
partial_label and double_label.
commit d7e6f612d6ace85eb52cc1265c519c0d44f07b47
Author: Alan Modra <amodra@gmail.com>
Date: Fri Apr 25 09:30:56 2014 +0930
daily update
commit b2bcb4bdeb27d3184f4886c372f19207530a5233
Author: Christian Svensson <blue@cmd.nu>
Date: Fri Apr 25 00:40:41 2014 +0200
Add maintainers for OR1K.
* MAINTAINERS: Add myself and Stefan as OR1K maintainers.
commit 56083b99d7c76b89ebf3da6aa60ebb4ca80f3683
Author: David Blaikie <dblaikie@gmail.com>
Date: Sun Apr 13 00:38:47 2014 -0700
Fix and XFAIL test due to GCC PR55641, passes with clang
gdb/testsuite/
* gdb.python/lib-types.exp: Fix test and xfail under gcc due to gcc/55641.
commit 82eacd52ba9130cf0126fa513775b5d4415f7da3
Author: Joel Brobecker <brobecker@adacore.com>
Date: Thu Apr 24 13:16:38 2014 -0700
ada-lang.c: Expand standard_exc's introductory comment.
This patch expands standard_exc's introductory comment to explain
why this table does not include Numeric_Error.
gdb/ChangeLog:
* ada-lang.c (standard_exc): Expand introductory comment.
commit 25d4e99db83ba758e3c888d321b9f2f7845701a0
Author: David Blaikie <dblaikie@gmail.com>
Date: Sun Apr 13 17:37:56 2014 -0700
Adjust start-of-function braces to be compatible with Clang
gdb/testsuite/
* gdb.cp/cpexprs.cc: Move braces to the same line as the start
of the function to work across GCC and Clang.
* gdb.cp/cpexprs.exp: Account for GCC/Clang difference in vtable
pointer types (const void ** const V void **).
commit 08937d8023b1bd8d0b1c4d8b2f4a5951478c6ec3
Author: Nick Clifton <nickc@redhat.com>
Date: Thu Apr 24 15:49:37 2014 +0100
* peXXigen.c (rsrc_print_section): Fix compile time warning for
32-bit hosts.
commit 01f9f808e2e86187c95e7cff4aeb014a421a53ce
Author: Michael Sturm <michael.sturm@intel.com>
Date: Mon Dec 16 16:43:05 2013 +0100
Add AVX512 registers support to GDB and GDBserver.
This patch adds support for the Intel(R) Advanced Vector
Extensions 512 (Intel(R) AVX-512) registers. Native and remote
debugging are covered by this patch.
Intel(R) AVX-512 is an extension to AVX to support 512-bit wide
SIMD registers in 64-bit mode (XMM0-XMM31, YMM0-YMM31, ZMM0-ZMM31).
The number of available registers in 32-bit mode is still 8
(XMM0-7, YMM0-7, ZMM0-7). The lower 256-bits of the ZMM registers
are aliased to the respective 256-bit YMM registers. The lower
128-bits are aliased to the respective 128-bit XMM registers.
There are also 8 new, dedicated mask registers (K0-K7) in both 32-bit
mode and 64-bit mode.
For more information please see
Intel(R) Developer Zone: Intel(R) AVX
http://software.intel.com/en-us/intel-isa-extensions#pid-16007-1495
Intel(R) Architecture Instruction Set Extensions Programming Reference:
http://software.intel.com/en-us/file/319433-017pdf
2014-04-24 Michael Sturm <michael.sturm@mintel.com>
Walfred Tedeschi <walfred.tedeschi@intel.com>
* amd64-linux-nat.c (amd64_linux_gregset32_reg_offset): Add
AVX512 registers.
(amd64_linux_read_description): Add code to handle AVX512 xstate
mask and return respective tdesc.
* amd64-linux-tdep.c: Include features/i386/amd64-avx512-linux.c
and features/i386/x32-avx512-linux.c.
(amd64_linux_gregset_reg_offset): Add AVX512 registers.
(amd64_linux_core_read_description): Add code to handle AVX512
xstate mask and return respective tdesc.
(_initialize_amd64_linux_tdep): Initialize AVX512 tdesc.
* amd64-linux-tdep.h (AMD64_LINUX_ORIG_RAX_REGNUM): Adjust regnum
calculation.
(AMD64_LINUX_NUM_REGS): Adjust to new number of registers.
(tdesc_amd64_avx512_linux): New prototype.
(tdesc_x32_avx512_linux): Likewise.
* amd64-tdep.c: Include features/i386/amd64-avx512.c and
features/i386/x32-avx512.c.
(amd64_ymm_avx512_names): New register names for pseudo
registers YMM16-31.
(amd64_ymmh_avx512_names): New register names for raw registers
YMMH16-31.
(amd64_k_names): New register names for K registers.
(amd64_zmmh_names): New register names for ZMM raw registers.
(amd64_zmm_names): New registers names for ZMM pseudo registers.
(amd64_xmm_avx512_names): New register names for XMM16-31
registers.
(amd64_pseudo_register_name): Add code to return AVX512 pseudo
registers.
(amd64_init_abi): Add code to intitialize AVX512 tdep variables
if feature is present.
(_initialize_amd64_tdep): Call AVX512 tdesc initializers.
* amd64-tdep.h (enum amd64_regnum): Add AVX512 registers.
(AMD64_NUM_REGS): Adjust to new number of registers.
* i386-linux-nat.c (GETXSTATEREGS_SUPPLIES): Extend range of
registers supplied via XSTATE by AVX512 registers.
(i386_linux_read_description): Add case for AVX512.
* i386-linux-tdep.c: Include i386-avx512-linux.c.
(i386_linux_gregset_reg_offset): Add AVX512 registers.
(i386_linux_core_read_description): Add case for AVX512.
(i386_linux_init_abi): Install supported register note section
for AVX512.
(_initialize_i386_linux_tdep): Add call to tdesc init function for
AVX512.
* i386-linux-tdep.h (I386_LINUX_NUM_REGS): Set number of
registers to be number of zmm7h + 1.
(tdesc_i386_avx512_linux): Add tdesc for AVX512 registers.
* i386-tdep.c: Include features/i386/i386-avx512.c.
(i386_zmm_names): Add ZMM pseudo register names array.
(i386_zmmh_names): Add ZMM raw register names array.
(i386_k_names): Add K raw register names array.
(num_lower_zmm_regs): Add constant for the number of lower ZMM
registers. AVX512 has 16 more ZMM registers than there are YMM
registers.
(i386_zmmh_regnum_p): Add function to look up register number of
ZMM raw registers.
(i386_zmm_regnum_p): Likewise for ZMM pseudo registers.
(i386_k_regnum_p): Likewise for K raw registers.
(i386_ymmh_avx512_regnum_p): Likewise for additional YMM raw
registers added by AVX512.
(i386_ymm_avx512_regnum_p): Likewise for additional YMM pseudo
registers added by AVX512.
(i386_xmm_avx512_regnum_p): Likewise for additional XMM registers
added by AVX512.
(i386_register_name): Add code to hide YMMH16-31 and ZMMH0-31.
(i386_pseudo_register_name): Add ZMM pseudo registers.
(i386_zmm_type): Construct and return vector registers type for ZMM
registers.
(i386_pseudo_register_type): Return appropriate type for YMM16-31,
ZMM0-31 pseudo registers and K registers.
(i386_pseudo_register_read_into_value): Add code to read K, ZMM
and YMM16-31 registers from register cache.
(i386_pseudo_register_write): Add code to write K, ZMM and
YMM16-31 registers.
(i386_register_reggroup_p): Add code to include/exclude AVX512
registers in/from respective register groups.
(i386_validate_tdesc_p): Handle AVX512 feature, add AVX512
registers if feature is present in xcr0.
(i386_gdbarch_init): Add code to initialize AVX512 feature
variables in tdep structure, wire in pseudo registers and call
initialize_tdesc_i386_avx512.
* i386-tdep.h (struct gdbarch_tdep): Add AVX512 related
variables.
(i386_regnum): Add AVX512 registers.
(I386_SSE_NUM_REGS): New define for number of SSE registers.
(I386_AVX_NUM_REGS): Likewise for AVX registers.
(I386_AVX512_NUM_REGS): Likewise for AVX512 registers.
(I386_MAX_REGISTER_SIZE): Change to 64 bytes, ZMM registers are
512 bits wide.
(i386_xmm_avx512_regnum_p): New prototype for register look up.
(i386_ymm_avx512_regnum_p): Likewise.
(i386_k_regnum_p): Likewise.
(i386_zmm_regnum_p): Likewise.
(i386_zmmh_regnum_p): Likewise.
* i387-tdep.c : Update year in copyright notice.
(xsave_ymm_avx512_offset): New table for YMM16-31 offsets in
XSAVE buffer.
(XSAVE_YMM_AVX512_ADDR): New macro.
(xsave_xmm_avx512_offset): New table for XMM16-31 offsets in
XSAVE buffer.
(XSAVE_XMM_AVX512_ADDR): New macro.
(xsave_avx512_k_offset): New table for K register offsets in
XSAVE buffer.
(XSAVE_AVX512_K_ADDR): New macro.
(xsave_avx512_zmm_h_offset): New table for ZMM register offsets
in XSAVE buffer.
(XSAVE_AVX512_ZMM_H_ADDR): New macro.
(i387_supply_xsave): Add code to supply AVX512 registers to XSAVE
buffer.
(i387_collect_xsave): Add code to collect AVX512 registers from
XSAVE buffer.
* i387-tdep.h (I387_NUM_XMM_AVX512_REGS): New define for number
of XMM16-31 registers.
(I387_NUM_K_REGS): New define for number of K registers.
(I387_K0_REGNUM): New define for K0 register number.
(I387_NUM_ZMMH_REGS): New define for number of ZMMH registers.
(I387_ZMM0H_REGNUM): New define for ZMM0H register number.
(I387_NUM_YMM_AVX512_REGS): New define for number of YMM16-31
registers.
(I387_YMM16H_REGNUM): New define for YMM16H register number.
(I387_XMM16_REGNUM): New define for XMM16 register number.
(I387_YMM0_REGNUM): New define for YMM0 register number.
(I387_KEND_REGNUM): New define for last K register number.
(I387_ZMMENDH_REGNUM): New define for last ZMMH register number.
(I387_YMMH_AVX512_END_REGNUM): New define for YMM31 register
number.
(I387_XMM_AVX512_END_REGNUM): New define for XMM31 register
number.
* common/i386-xstate.h: Add AVX 3.1 feature bits, mask and XSTATE
size.
* features/Makefile: Add AVX512 related files.
* features/i386/32bit-avx512.xml: New file.
* features/i386/64bit-avx512.xml: Likewise.
* features/i386/amd64-avx512-linux.c: Likewise.
* features/i386/amd64-avx512-linux.xml: Likewise.
* features/i386/amd64-avx512.c: Likewise.
* features/i386/amd64-avx512.xml: Likewise.
* features/i386/i386-avx512-linux.c: Likewise.
* features/i386/i386-avx512-linux.xml: Likewise.
* features/i386/i386-avx512.c: Likewise.
* features/i386/i386-avx512.xml: Likewise.
* features/i386/x32-avx512-linux.c: Likewise.
* features/i386/x32-avx512-linux.xml: Likewise.
* features/i386/x32-avx512.c: Likewise.
* features/i386/x32-avx512.xml: Likewise.
* regformats/i386/amd64-avx512-linux.dat: New file.
* regformats/i386/amd64-avx512.dat: Likewise.
* regformats/i386/i386-avx512-linux.dat: Likewise.
* regformats/i386/i386-avx512.dat: Likewise.
* regformats/i386/x32-avx512-linux.dat: Likewise.
* regformats/i386/x32-avx512.dat: Likewise.
* NEWS: Add note about new support for AVX512.
testsuite/
* Makefile.in (EXECUTABLES): Added i386-avx512.
* gdb.arch/i386-avx512.c: New file.
* gdb.arch/i386-avx512.exp: Likewise.
gdbserver/
* Makefile.in: Added rules to handle new files
i386-avx512.c i386-avx512-linux.c amd64-avx512.c
amd64-avx512-linux.c x32-avx512.c x32-avx512-linux.c.
* configure.srv (srv_i386_regobj): Add i386-avx512.o.
(srv_i386_linux_regobj): Add i386-avx512-linux.o.
(srv_amd64_regobj): Add amd64-avx512.o and x32-avx512.o.
(srv_amd64_linux_regobj): Add amd64-avx512-linux.o and
x32-avx512-linux.o.
(srv_i386_32bit_xmlfiles): Add i386/32bit-avx512.xml.
(srv_i386_64bit_xmlfiles): Add i386/64bit-avx512.xml.
(srv_amd64_xmlfiles): Add i386/amd64-avx512.xml and
i386/x32-avx512.xml.
(srv_i386_linux_xmlfiles): Add i386/i386-avx512-linux.xml.
(srv_amd64_linux_xmlfiles): Add i386/amd64-avx512-linux.xml and
i386/x32-avx512-linux.xml.
* i387-fp.c (num_avx512_k_registers): New constant for number
of K registers.
(num_avx512_zmmh_low_registers): New constant for number of
lower ZMM registers (0-15).
(num_avx512_zmmh_high_registers): New constant for number of
higher ZMM registers (16-31).
(num_avx512_ymmh_registers): New contant for number of higher
YMM registers (ymm16-31 added by avx521 on x86_64).
(num_avx512_xmm_registers): New constant for number of higher
XMM registers (xmm16-31 added by AVX512 on x86_64).
(struct i387_xsave): Add space for AVX512 registers.
(i387_cache_to_xsave): Change raw buffer size to 64 characters.
Add code to handle AVX512 registers.
(i387_xsave_to_cache): Add code to handle AVX512 registers.
* linux-x86-low.c (init_registers_amd64_avx512_linux): New
prototypei from generated file.
(tdesc_amd64_avx512_linux): Likewise.
(init_registers_x32_avx512_linux): Likewise.
(tdesc_x32_avx512_linux): Likewise.
(init_registers_i386_avx512_linux): Likewise.
(tdesc_i386_avx512_linux): Likewise.
(x86_64_regmap): Add AVX512 registers.
(x86_linux_read_description): Add code to handle AVX512 XSTATE
mask.
(initialize_low_arch): Add code to initialize AVX512 registers.
doc/
* gdb.texinfo (i386 Features): Add description of AVX512
registers.
Change-Id: Ifc4c08c76b85dbec18d02efdbe6182e851584438
Signed-off-by: Michael Sturm <michael.sturm@intel.com>
commit 93ee1e3683a12f4774b8beb4f821910982e21ce2
Author: Alan Modra <amodra@gmail.com>
Date: Thu Apr 24 21:59:56 2014 +0930
PR16867, linking object with separate debug file
This teaches the DWARF2 find_line functions how to deal with separate
debug relocatable object files. Also fixes a major bug:
When _bfd_dwarf2_slurp_debug_info was split out, place_sections ran
after .debug_info was relocated. This defeated the whole purpose of
place_sections. See the comment I added before place_sections.
Fixes some minor bugs too:
- place_sections didn't set VMA for alloc but non-load sections (bss).
- zero size sections can have symbols, so they need their VMA set too.
- last_vma was incorrectly adjusted.
- my last change to place_sections left VMA unchanged for .debug_info
when the linker has mapped input to output sections, but this is
wrong since bfd_simple_get_relocated_section_contents unmaps debug
sections.
PR 16867
* dwarf2.c: Formatting.
(struct dwarf2_debug): Make adjusted_section_count signed.
(unset_sections): Make i signed.
(set_debug_vma): New function.
(place_sections): Handle separate debug object file. Set VMA
on debug sections, even if they have an output section. Also
set VMA on zero size sections, and non-load but alloc sections.
Set adjusted_section_count to -1 when no section adjustment.
Malloc adjusted_sections. Don't double last_vma. Transfer
alloc section VMAs to separate debug file.
(_bfd_dwarf2_cleanup_debug_info): Free adjusted_sections.
(_bfd_dwarf2_slurp_debug_info): Add do_place parameter. Drop
test on symbols being the same before using old stash. Read
and use separate debug file symbols. Call place_sections.
(find_line): Don't call place_sections here.
* libbfd-in.h (_bfd_dwarf2_slurp_debug_info): Update proto.
* libbfd.h: Regenerate.
* mach-o.c (bfd_mach_o_find_nearest_line): Adjust
_bfd_dwarf2_slurp_debug_info call.
* simple.c (simple_save_output_info): Clarify comment.
commit aaca88efb450bff71523d7d6f23a67f47a4d5fb3
Author: Nick Clifton <nickc@redhat.com>
Date: Thu Apr 24 11:35:51 2014 +0100
Fix a problem building the ARM assembler for non-ELF based toolchains.
* config/tc-arm.c (s_ltorg): Only create a mapping symbol for ELF
based targets.
commit 3714081cb37fc60f3262b4c64e81539eb4f3592f
Author: Nick Clifton <nickc@redhat.com>
Date: Thu Apr 24 11:15:43 2014 +0100
Fix PE/COFF resource merging problems. There were two issues:
1. Strings (and then resource data) must follow immediately after
the end of the tables.
2. Units of resource data must be 8-byte aligned.
PR ld/16807
* peXXigen.c (struct rsrc_regions): New structure.
(rsrc_print_resource_directory): Use new structure. Include
offset of directory in listing.
(rsrc_print_resource_entry): Likewise.
(rsrc_print_section): Likewise.
(rsrc_count_entries): Do not increment sizeof_strings or
sizeof_leaves.
(rsrc_count_directory): Do not increment sizeof_tables.
(rsrc_compute_region_sizes): New function.
(rsrc_write_leaf): Maintain 8-byte alignment for resource data.
(rsrc_process_section): Compute size of regions after merging
entries.
commit 2a87f7b84f1a3d101a19d7008802172ff50596e5
Author: Alan Modra <amodra@gmail.com>
Date: Thu Apr 24 09:30:44 2014 +0930
daily update
commit bf2cc635e2d45a0c59b1edd0c53d75ba495790bd
Author: Cary Coutant <ccoutant@google.com>
Date: Wed Apr 23 15:20:56 2014 -0700
Add missing PR ref to ChangeLog entry.
commit 7849f6d8dc37fc3da2fec06ac1d47afbe4b81059
Author: Cary Coutant <ccoutant@google.com>
Date: Wed Apr 23 15:17:16 2014 -0700
Add missing break statement for case elfcpp::R_X86_64_PLTOFF64.
gold/
* x86_64.cc (Target_x86_64::Relocate::relocate): Add missing break.
commit 4b48d43901e9864f9fc1c135ec75c80bde226cb8
Author: Keith Seitz <keiths@redhat.com>
Date: Wed Apr 23 12:17:31 2014 -0700
Introduce some new MI test suite cleanups for breakpoint and
breakpoint table handling. This is a patch in five parts (all committed
here in one commit).
----- 1/5: parse_args
parse_args is a very useful utility function which allows you to do
getopt-y kinds of things in Tcl.
Example:
proc myproc {foo args} {
parse_args {{bar} {baz "abc"} {qux}}
# ...
}
myproc ABC -bar -baz DEF peanut butter
will define the following variables in myproc:
foo (=ABC), bar (=1), baz (=DEF), and qux (=0)
args will be the list {peanut butter}
----- 2/5: mi_build_kv_pairs
build_kv_pairs simply does what it says: given the input list
and an option join string, it combines list elements into kv-pairs
for MI handling. It knows how to handle tuples and other special
MI types.
Example:
mi_build_kv_pairs {a b c d e f g \[.*\]}
returns a=\"b\",c=\"d\",e=\"f\",g=\[.*\]
----- 3/5: mi_make_breakpoint
This function builds breakpoint regexps, such as
"bkpt={number=\".*\", [snip]}".
Note that ONLY the options given to mi_make_breakpoint/mi_create_breakpoint
will actually be tested. So if -number is omitted, the regexp will allow
anything [number=\".*\"]
Examples:
mi_make_breakpoint -number 3
mi_create_breakpoint "myfile.c:21" -file myfile.c -line 21
----- 4/5: mi_make_breakpoint_table
This function builds MI breakpoint table regexps.
Example:
set bps {}
lappend bps [mi_make_breakpoint -number 1 -func "main" \
-file ".*/myfile.c" -line 42
lappend bps [mi_make_breakpoint -number 2 -func "marker" \
-file ".*myfile.c" -line 21
gdb_test "-break-info" "\\^done,[mi_make_breakpoint_table $bps]" \
"breakpoint list"
----- 5/5: Update all callers
Self-explanatory
testsuite/ChangeLog
2014-04-23 Keith Seitz <keiths@redhat.com>
* lib/mi-support.exp (mi_list_breakpoints): Delete.
(mi_make_breakpoint_table): New procedure.
(mi_create_breakpoint): Use mi_make_breakpoint
and return the result.
(mi_make_breakpoint): New procedure.
(mi_build_kv_pairs): New procedure.
* gdb.mi/mi-break.exp: Remove unused globals,
update mi_create_breakpoint usage, and use mi_make_breakpoint_table.
All callers updated.
* gdb.mi/mi-dprintf.exp: Use variable to track command
number.
Update all callers of mi_create_breakpoint and use
mi_make_breakpoint_table.
Remove any unused global variables.
* gdb.mi/mi-nonstop.exp: Likewise.
* gdb.mi/mi-nsintrall.exp: Likewise.
* gdb.mi/mi-nsmoribund.exp: Likewise.
* gdb.mi/mi-nsthrexec.exp: Likewise.
* gdb.mi/mi-reverse.exp: Likewise.
* gdb.mi/mi-simplerun.exp: Likewise.
* gdb.mi/mi-stepn.exp: Likewise.
* gdb.mi/mi-syn-frame.exp: Likewise.
* gdb.mi/mi-until.exp: Likewise.
* gdb.mi/mi-var-cp.exp: Likewise.
* gdb.mi/mi-var-display.exp: Likewise.
* gdb.mi/mi2-amd64-entry-value.exp: Likewise.
* gdb.mi/mi2-var-child.exp: Likewise.
* gdb.mi/mi-vla-c99.exp: Likewise.
* lib/mi-support.exp: Likewise.
From Ian Lance Taylor <iant@cygnus.com>:
* lib/gdb.exp (parse_args): New procedure.
commit 51aa91f97976e0b4d6103d5c6e6a60bbd09be2fb
Author: Pedro Alves <palves@redhat.com>
Date: Tue Apr 22 19:47:06 2014 +0100
[gdbserver] mem-break.c:find_gdb_breakpoint_at: Make static.
Nothing calls this outside mem-break.c.
gdb/gdbserver/
2014-04-23 Pedro Alves <palves@redhat.com>
* mem-break.c (find_gdb_breakpoint_at): Make static.
* mem-break.h (find_gdb_breakpoint_at): Delete declaration.
commit a4165e94f452b3137a1071a5034853a93a9de1a2
Author: Pedro Alves <palves@redhat.com>
Date: Tue Apr 22 19:47:04 2014 +0100
gdbserver: decouple x86 watchpoint / hw breakpoint routines from Z packet numbers.
My main motivation here is moving in the direction of decoupling
insert_point/remove_point from packet numbers, though this bit alone
should make it a little bit easier to merge gdb/gdbserver/i386-low.c
and gdb/i386-nat.c (which are largely the same).
Tested on x86_64 Fedora 17, and cross built for i686-mingw32 too.
gdb/gdbserver/
2014-04-23 Pedro Alves <palves@redhat.com>
* i386-low.c: Don't include break-common.h here.
(i386_low_insert_watchpoint, i386_low_remove_watchpoint): Change
prototype to take target_hw_bp_type as argument instead of a Z
packet char.
* i386-low.h: Include break-common.h here.
(Z_packet_to_hw_type): Declare.
(i386_low_insert_watchpoint, i386_low_remove_watchpoint): Change
prototypes.
* linux-x86-low.c (x86_insert_point): Convert the packet number to
a target_hw_bp_type before calling i386_low_insert_watchpoint.
(x86_remove_point): Convert the packet number to a
target_hw_bp_type before calling i386_low_remove_watchpoint.
* win32-i386-low.c (i386_insert_point): Convert the packet number
to a target_hw_bp_type before calling i386_low_insert_watchpoint.
(i386_remove_point): Convert the packet number to a
target_hw_bp_type before calling i386_low_remove_watchpoint.
commit b8acf843690988fa96123b3c54bc3850d874eb35
Author: Pedro Alves <palves@redhat.com>
Date: Tue Apr 22 19:47:03 2014 +0100
gdbserver: perror_with_name: Add ATTRIBUTE_NORETURN.
perror_with_name doesn't return, but unlike gdb's version, it wasn't
marked that way.
gdb/gdbserver/
2014-04-23 Pedro Alves <palves@redhat.com>
* utils.h (perror_with_name): Add ATTRIBUTE_NORETURN.
commit 08351840eabb44799e3d01026610420758f4fa40
Author: Pedro Alves <palves@redhat.com>
Date: Tue Apr 22 23:19:19 2014 +0100
Stale breakpoint instructions, spurious SIGTRAPS.
Without the code portion of the patch, we get these failures:
FAIL: gdb.base/break-unload-file.exp: always-inserted on: break: continue
FAIL: gdb.base/break-unload-file.exp: always-inserted on: hbreak: continue
FAIL: gdb.base/sym-file.exp: stale bkpts: continue to breakpoint: end here
They all looks like random SIGTRAPs:
continue
Continuing.
Program received signal SIGTRAP, Trace/breakpoint trap.
0x0000000000400541 in foo () at ../../../src/gdb/testsuite/gdb.base/break-unload-file.c:21
21 }
(gdb) FAIL: gdb.base/break-unload-file.exp: always-inserted on: break: continue
(This is a regression caused by the remove-symbol-file command
series.)
break-unload-file.exp is about having breakpoints inserted, and then
doing "file". I caught this while writing a test that does "file
PROGRAM", while PROGRAM was already loaded, which internally does
"file" first, because I wanted to force a breakpoint_re_set, but the
test is more explicit in case GDB ever optimizes out that re-set.
The problem is that unloading the file with "file" ends up in
disable_breakpoints_in_freed_objfile, which marks all breakpoint
locations of the objfile as both shlib_disabled, _and_ clears the
inserted flag, without actually removing the breakpoints from the
inferior. Now, usually, in all-stop, breakpoints will already be
removed from the inferior before the user can issue the "file"
command, but, with non-stop, or breakpoints always-inserted on mode,
breakpoints stay inserted even while the user has the prompt. In the
latter case, then, if we let the program continue, and it executes the
address where we had previously set the breakpoint, it'll actually
execute the breakpoint instruction that we left behind...
Now, one issue is that the intent of
disable_breakpoints_in_freed_objfile is really to handle the unloading
of OBJF_USERLOADED objfiles. These are objfiles that were added with
add-symbol-file and that are removed with remove-symbol-file.
"add-symbol-file"'s docs in the manual clearly say these commands are
used to let GDB know about dynamically loaded code:
You would use this command when @var{filename} has been dynamically
loaded (by some other means) into the program that is running.
Similarly, the online help says:
(gdb) help add-symbol-file
Load symbols from FILE, assuming FILE has been dynamically loaded.
So it makes sense to, like when shared libraries are unloaded through
the generic solib machinery, mark the breakpoint locations as
shlib_disabled. But, the "file" command is not about dynamically
loaded code, it's about the main program. So the patch makes
disable_breakpoints_in_freed_objfile skip all objfiles but
OBJF_USERLOADED ones, thus skipping the main objfile.
Then, the reason that disable_breakpoints_in_freed_objfile was
clearing the inserted flag isn't clear, but likely to avoid breakpoint
removal errors, assuming remove-symbol-file was called after the
dynamic object was already unmapped from the inferior. In that case,
it'd okay to simply clear the inserted flag, but not so if the user
for example does remove-symbol-file to remove the library because he
made a mistake in the library's address, and wants to re-do
add-symbol-file with the correct address.
To address all that, I propose an alternative implementation, that
handles both cases. The patch includes changes to sym-file.exp to
cover them.
This implementation leaves the inserted flag alone, and handles
breakpoint insertion/removal failure gracefully when the locations are
in OBJF_USERLOADED objfiles, just like we handle insertion/removal
failure gracefully for locations in shared libraries.
To try to make sure we aren't patching back stale shadow memory
contents into the inferior, in case the program mapped a different
library at the same address where we had the breakpoint, without the
user having had a chance of remove-symbol-file'ing before, this adds a
new memory_validate_breakpoint function that checks if the breakpoint
instruction is still in memory. ppc_linux_memory_remove_breakpoint
does this unconditionally for all memory breakpoints, and questions
whether memory_remove_breakpoint should be changed to do this for all
breakpoints. Possibly yes, though I'm not certain, hence this
baby-steps patch.
Tested on x86_64 Fedora 17, native and gdbserver.
gdb/
2014-04-23 Pedro Alves <palves@redhat.com>
* breakpoint.c (insert_bp_location): Tolerate errors if the
breakpoint is set in a user-loaded objfile.
(remove_breakpoint_1): Likewise. Also tolerate errors if the
location is marked shlib_disabled. If the breakpoint is set in a
user-loaded objfile is a GDB-side memory breakpoint, validate it
before uninsertion. (disable_breakpoints_in_freed_objfile): Skip
non-OBJF_USERLOADED objfiles. Don't clear the location's inserted
flag.
* mem-break.c (memory_validate_breakpoint): New function.
* objfiles.c (userloaded_objfile_contains_address_p): New
function.
* objfiles.h (userloaded_objfile_contains_address_p): Declare.
* target.h (memory_validate_breakpoint): New declaration.
gdb/testsuite/
2014-04-23 Pedro Alves <palves@redhat.com>
* gdb.base/break-unload-file.c: New file.
* gdb.base/break-unload-file.exp: New file.
* gdb.base/sym-file-lib.c (baz): New function.
* gdb.base/sym-file-loader.c (struct segment) <mapped_size>: New
field.
(load): Store the segment's mapped size.
(unload): New function.
(unload_shlib): New function.
* gdb.base/sym-file-loader.h (unload_shlib): New declaration.
* gdb.base/sym-file-main.c (main): Unload, and reload the library,
set a breakpoint at baz, and call it.
* gdb.base/sym-file.exp: New tests for stale breakpoint
instructions.
commit 076855f9e36ecfe8af325b197e9ecd46deb9fe6c
Author: Pedro Alves <palves@redhat.com>
Date: Wed Apr 23 15:06:47 2014 +0100
Don't suppress errors inserting/removing hardware breakpoints in shared
libraries.
As explained in
https://sourceware.org/ml/gdb-patches/2008-08/msg00361.html, after a
shared library was unloaded, we can no longer insert or remove
breakpoints into/from its (no longer present) code segment. That'll
fail with memory errors. However, that concern does not apply to
hardware breakpoints. By definition, hardware breakpoints are
implemented using a mechanism that is not dependent on being able to
modify the target's memory. Usually, by setting up CPU debug
registers. IOW, we should be able to set hw breakpoints in an
unmapped address. We don't seem to have a test that exercises that,
so this patch adds one.
I noticed the error supression because of a related issue -- the
target_insert_hw_breakpoint/target_remove_hw_breakpoint interfaces
don't really distinguish "not supported" from "error" return, and so
remote.c returns -1 in both cases. This results in hardware
breakpoints set in shared libraries silently ending up pending forever
even though the target doesn't actually support hw breakpoints.
(gdb) set breakpoint always-inserted on
(gdb) set remote Z-packet off
(gdb) info breakpoints
No breakpoints or watchpoints.
(gdb) hbreak shrfunc
Hardware assisted breakpoint 3 at 0x7ffff7dfb657: file ../../../src/gdb/testsuite/gdb.base/hbreak-in-shr-unsupported-shr.c, line 21.
(gdb) info break
Num Type Disp Enb Address What
3 hw breakpoint keep y <PENDING> shrfunc
After the patch we get the expected:
(gdb) hbreak shrfunc
Hardware assisted breakpoint 3 at 0x7ffff7dfb657: file ../../../src/gdb/testsuite/gdb.base/hbreak-in-shr-unsupported-shr.c, line 21.
Warning:
Cannot insert hardware breakpoint 3.
Could not insert hardware breakpoints:
You may have requested too many hardware breakpoints/watchpoints.
(gdb) info break
Num Type Disp Enb Address What
3 hw breakpoint keep y 0x00007ffff7dfb657 in shrfunc at ../../../src/gdb/testsuite/gdb.base/hbreak-in-shr-unsupported-shr.c:21
(HW breakpoints set in the main executable, when the target doesn't
support HW breakpoints always resulted in the latter output.)
We probably should improve the insert/remove interface to return a
different error code for unsupported. But I chose to fix the error
supression first, as it's a deeper and wider issue.
Tested on x86_64 Fedora 17, native and gdbserver.
gdb/
2014-04-23 Pedro Alves <palves@redhat.com>
* breakpoint.c (insert_bp_location, remove_breakpoint_1): If
the breakpoint is set in a shared library, only suppress
errors for software breakpoints, not hardware breakpoints.
gdb/testsuite/
2014-04-23 Pedro Alves <palves@redhat.com>
* gdb.base/hbreak-in-shr-unsupported-shr.c: New file.
* gdb.base/hbreak-in-shr-unsupported.c: New file.
* gdb.base/hbreak-in-shr-unsupported.exp: New file.
* gdb.base/hbreak-unmapped.c: New file.
* gdb.base/hbreak-unmapped.exp: New file.
* gdb.trace/qtro.exp (gdb_is_target_remote): Move ...
* lib/gdb.exp (gdb_is_target_remote): ... here.
commit 8a52f0d9837ae191eb6d85ded55d3a04da3b7f12
Author: Will Newton <will.newton@linaro.org>
Date: Fri Apr 4 15:08:50 2014 +0100
ld/arm: Fix testsuite failures for armeb-linux-eabi
Fix all the cases where endianness needs to be taken into account
in the ARM ld dump tests.
ld/testsuite/ChangeLog:
2014-04-23 Will Newton <will.newton@linaro.org>
* ld-arm/arm-no-rel-plt.ld: Remove OUTPUT_FORMAT and
SEARCH_DIR commands.
* ld-arm/arm-rel32.d: Update regexps to allow test to
pass on armeb-linux-eabi configuration.
* ld-arm/data-only-map.d: Likewise.
* ld-arm/fix-arm1176-off.d: Likewise.
* ld-arm/fix-arm1176-on.d: Likewise.
* ld-arm/ifunc-1.gd: Likewise.
* ld-arm/ifunc-10.gd: Likewise.
* ld-arm/ifunc-11.gd: Likewise.
* ld-arm/ifunc-12.gd: Likewise.
* ld-arm/ifunc-13.gd: Likewise.
* ld-arm/ifunc-14.gd: Likewise.
* ld-arm/ifunc-15.gd: Likewise.
* ld-arm/ifunc-16.gd: Likewise.
* ld-arm/ifunc-17.gd: Likewise.
* ld-arm/ifunc-2.gd: Likewise.
* ld-arm/ifunc-3.gd: Likewise.
* ld-arm/ifunc-4.gd: Likewise.
* ld-arm/ifunc-5.gd: Likewise.
* ld-arm/ifunc-6.gd: Likewise.
* ld-arm/ifunc-7.gd: Likewise.
* ld-arm/ifunc-8.gd: Likewise.
* ld-arm/ifunc-9.gd: Likewise.
* ld-arm/jump-reloc-veneers-long.d: Likewise.
* ld-arm/reloc-boundaries.d: Likewise.
commit 4862acf1cf6f1e65bf38cd0f594e80e2ad8b5b28
Author: Will Newton <will.newton@linaro.org>
Date: Fri Apr 4 11:52:59 2014 +0100
gas/arm: Fix gas tests to run on armeb-linux-eabi
Fix various places where endianness needed to be taken into account
in the gas testsuite for ARM.
gas/testsuite/ChangeLog:
2014-04-23 Will Newton <will.newton@linaro.org>
* gas/arm/backslash-at.d: Fix dump output regexps for
armeb-linux-eabi configuration.
* gas/arm/got_prel.d: Likewise.
* gas/arm/inst-po.d: Likewise.
* gas/arm/unwind.d: Likewise.
commit 47fc6e36e3863545a6225034d97f64760fffae05
Author: Will Newton <will.newton@linaro.org>
Date: Fri Apr 4 10:07:06 2014 +0100
gas/arm: Force output of a data mapping symbol for literal pools
If there is a a trailing align statement in a code section we may
output data padding with a data mapping followed by a code alignment
with a code mapping. The literal pool may then be output with a code
mapping symbol which will cause it to be endian swapped in a big-endian
configuration. When outputting a literal pool make sure that a data
mapping symbol is output in all cases.
gas/ChangeLog:
2014-04-23 Will Newton <will.newton@linaro.org>
* config/tc-arm.c (s_ltorg): Call make_mapping_symbol
directly instead of mapping_state.
gas/testsuite/ChangeLog:
2014-04-23 Will Newton <will.newton@linaro.org>
* gas/arm/mapmisc.d: Check literal pool mapping with
a trailing .align statement.
* gas/arm/mapmisc.s: Likewise.
commit 7d64c587c15f290d228ca550bb288d53f0eb2ac4
Author: Andrew Bennett <andrew.bennett@imgtec.com>
Date: Wed Apr 23 11:24:30 2014 +0100
Add support for the MIPS eXtended Physical Address (XPA) ASE.
ChangeLog:
binutils/
* doc/binutils.texi: Document the disassemble MIPS XPA instructions
command line option.
gas/
* config/tc-mips.c (options): Add OPTION_XPA and OPTION_NO_XPA.
(md_longopts): Add xpa and no-xpa command line options.
(mips_ases): Add MIPS XPA ASE.
(mips_cpu_info_table): Update p5600 entry to allow the XPA ASE.
* doc/as.texinfo: Document the MIPS XPA command line options.
* doc/c-mips.texi: Document the MIPS XPA command line options,
and assembler directives.
gas/testsuite/
* gas/mips/mips.exp: Add xpa tests.
* gas/mips/xpa.s: New test.
* gas/mips/xpa.d: Likewise.
include/
* opcode/mips.h (ASE_XPA): New define.
opcodes/
* mips-dis.c (mips_arch_choices): Update mips32r2 and mips64r2
to allow the MIPS XPA ASE.
(parse_mips_dis_option): Process the -Mxpa option.
* mips-opc.c (XPA): New define.
(mips_builtin_opcodes): Add MIPS XPA instructions and move the
locations of the ctc0 and cfc0 instructions.
commit cd0449ab05e9045682a81bf521bd0c8732c98feb
Author: Alan Modra <amodra@gmail.com>
Date: Wed Apr 23 14:26:19 2014 +0930
PR ld/16787, stale dwarf2 stash
Throw away the dwarf2 stash if it becomes invalid due to section
VMAs changing. It would be nice to reclaim all the bfd_alloc
memory here when we throw away the stash, perhaps by putting
everything we alloc on a private dwarf2 objalloc, but I haven't done
that with this patch.
I've also fixed a problem with bfd_perform_relocation losing reloc
addends, which meant a second or subsequent look at debug info
sections did not properly relocate the sections. I can't see why
bfd_perform_relocation should need to change addends except for ld -r,
and the history (985fca12, e98e6ec1) doesn't help much.
Finally, the patch tweaks place_sections to avoid unnecessary work.
If we've mapped input to output sections, then input section VMA
isn't used so there's not much point in adjusting it. Incidentally,
this also means place_sections isn't effective in all cases.
PR ld/16787
* dwarf2.c (struct dwarf2_debug): Add sec_vma field.
(place_sections): Do not modify VMA of sections when called from
linker after sections have been placed in output sections. Short
circuit single section case.
(save_section_vma, section_vma_same): New functions.
(_bfd_dwarf2_slurp_debug_info): Throw away stash if section VMAs
change.
* reloc.c (bfd_perform_relocation): Do not modify reloc addend
when non-relocatable.
commit 1547d98f5a774617b38f2bdd9be3b5c21c2b9312
Author: Sandra Loosemore <sandra@codesourcery.com>
Date: Tue Apr 22 19:41:14 2014 -0700
Add missing ChangeLog entries for nios2 gas selftest patch.
commit e883b50c50feca944164a57138c9924f39509764
Author: Alan Modra <amodra@gmail.com>
Date: Wed Apr 23 09:30:59 2014 +0930
daily update
commit a35d5e823fdfe8a6e7e05ca8e3fb8bb5697335b1
Author: Max Filippov <jcmvbkbc@gmail.com>
Date: Tue Apr 15 19:12:46 2014 +0400
Fix alignment for the first section frag on xtensa
Linking object files produced by partial linking with link-time
relaxation enabled sometimes fails with the following error message:
dangerous relocation: call8: misaligned call target: (.text.unlikely+0x63)
This happens because no basic block with an XTENSA_PROP_ALIGN flag in the
property table is generated for the first basic block, even if the
.align directive is present.
It was believed that the first frag alignment could be derived from the
section alignment, but this was not implemented for the partial linking
case: after partial linking first frag of a section may become not
first, but no additional alignment frag is inserted before it.
Basic block for such frag may be merged with previous basic block into
extended basic block during relaxation pass losing its alignment
restrictions.
Fix this by always recording alignment for the first section frag.
2014-04-22 Max Filippov <jcmvbkbc@gmail.com>
gas/
* config/tc-xtensa.c (xtensa_handle_align): record alignment for the
first section frag.
gas/testsuite/
* gas/xtensa/all.exp: Add test for the first section frag alignment.
* gas/xtensa/first_frag_align.d: First section frag alignment expected
dump.
* gas/xtensa/first_frag_align.s: First section frag alignment test
source.
commit 483805cf9ea5a6dace41415d8830e93fccc49c43
Author: Pedro Alves <palves@redhat.com>
Date: Tue Apr 22 15:00:56 2014 +0100
Consecutive step-overs trigger internal error.
If a thread trips on a breakpoint that needs stepping over just after
finishing a step over, GDB currently fails an assertion. This is a
regression caused by the "Handle multiple step-overs." patch
(99619beac6252113fed212fdb9e1ab97bface423) at
https://sourceware.org/ml/gdb-patches/2014-02/msg00765.html.
(gdb) x /4i $pc
=> 0x400540 <main+4>: movl $0x0,0x2003da(%rip) # 0x600924 <i>
0x40054a <main+14>: movl $0x1,0x2003d0(%rip) # 0x600924 <i>
0x400554 <main+24>: movl $0x2,0x2003c6(%rip) # 0x600924 <i>
0x40055e <main+34>: movl $0x3,0x2003bc(%rip) # 0x600924 <i>
(gdb) PASS: gdb.base/consecutive-step-over.exp: get breakpoint addresses
break *0x40054a
Breakpoint 2 at 0x40054a: file ../../../src/gdb/testsuite/gdb.base/consecutive-step-over.c, line 23.
(gdb) PASS: gdb.base/consecutive-step-over.exp: insn 1: set breakpoint
condition $bpnum condition
(gdb) PASS: gdb.base/consecutive-step-over.exp: insn 1: set condition
break *0x400554
Breakpoint 3 at 0x400554: file ../../../src/gdb/testsuite/gdb.base/consecutive-step-over.c, line 24.
(gdb) PASS: gdb.base/consecutive-step-over.exp: insn 2: set breakpoint
condition $bpnum condition
(gdb) PASS: gdb.base/consecutive-step-over.exp: insn 2: set condition
break *0x40055e
Breakpoint 4 at 0x40055e: file ../../../src/gdb/testsuite/gdb.base/consecutive-step-over.c, line 25.
(gdb) PASS: gdb.base/consecutive-step-over.exp: insn 3: set breakpoint
condition $bpnum condition
(gdb) PASS: gdb.base/consecutive-step-over.exp: insn 3: set condition
break 27
Breakpoint 5 at 0x400568: file ../../../src/gdb/testsuite/gdb.base/consecutive-step-over.c, line 27.
(gdb) continue
Continuing.
../../src/gdb/infrun.c:5200: internal-error: switch_back_to_stepped_thread: Assertion `!tp->control.trap_expected' failed.
A problem internal to GDB has been detected,
further debugging may prove unreliable.
FAIL: gdb.base/consecutive-step-over.exp: continue to breakpoint: break here (GDB internal error)
The assertion fails, because the code is not expecting that the event
thread itself might need another step over. IOW, not expecting that
TP in:
tp = find_thread_needs_step_over (stepping_thread != NULL,
stepping_thread);
could be the event thread.
A small fix for this would be to clear the event thread's
trap_expected earlier, before asserting. But looking deeper, although
currently_stepping_or_nexting_callback's intention is finding the
thread that is doing a step/next, it also returns the thread that is
doing a step-over dance, with trap_expected set. If there ever was a
reason for that (it was I who added
currently_stepping_or_nexting_callback , but I can't recall why I put
trap_expected there in the first place), the only remaining reason
nowadays is to aid in implementing switch_back_to_stepped_thread's
assertion that is now triggering, by piggybacking on the walk over all
threads, thus avoiding a separate walk. This is quite obscure, and I
think we can do even better, by merging the walks that look for the
stepping thread, and the walk that looks for some thread that might
need a step over.
Tested on x86_64 Fedora 17, native and gdbserver, and also native on
top of my "software single-step on x86_64" series.
gdb/
2014-04-22 Pedro Alves <palves@redhat.com>
* infrun.c (schedlock_applies): New function, factored out from
find_thread_needs_step_over.
(find_thread_needs_step_over): Use it.
(switch_back_to_stepped_thread): Always clear trap_expected if the
step over is finished. Return early if scheduler locking applies.
Look for the stepping thread and a potential step-over thread with
a single loop.
(currently_stepping_or_nexting_callback): Delete.
2014-04-22 Pedro Alves <palves@redhat.com>
* gdb.base/consecutive-step-over.c: New file.
* gdb.base/consecutive-step-over.exp: New file.
commit 06d9754365774595eae45a8548d5f24d7093006c
Author: Pedro Alves <palves@redhat.com>
Date: Tue Apr 22 19:15:48 2014 +0100
Make gdb_continue_to_breakpoint fail quickly on internal errors.
This switches the gdb_continue_to_breakpoint routine to use
gdb_test_multiple instead of send_gdb/gdb_expect, so that an internal
error is detected immediately, instead of failing on timeout.
gdb/testsuite/
2014-04-22 Pedro Alves <palves@redhat.com>
* lib/gdb.exp (gdb_continue_to_breakpoint): Use gdb_test_multiple
instead of send_gdb/gdb_expect.
commit fad16e308cc96f460d74cf240b76b414c331d7fa
Author: Sandra Loosemore <sandra@codesourcery.com>
Date: Tue Apr 22 10:56:02 2014 -0700
Fix Nios II assembler self-test mode.
2014-04-22 Sandra Loosemore <sandra@codesourcery.com>
gas/
* config/tc-nios2.c (nios2_consume_arg): Add case for 'E' to
unbreak self-test mode.
gas/testsuite/
* gas/nios2/selftest.s: New.
* gas/nios2/selftest.d: New.
commit 43c001c7d638bde9f310fdc3a199e02036f7b205
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Tue Apr 22 10:22:39 2014 -0700
Add tests for PR ld/16846
PR ld/16846
* ld-plugin/lto.exp (lto_link_tests): Add tests for PR ld/16846.
* ld-plugin/pr16846a.c: New file.
* ld-plugin/pr16846b.c: Likewise.
* ld-plugin/pr16846c.c: Likewise.
commit d5f59c10fc37e325d3fbad4ae7970c7cf0857b46
Author: Nick Clifton <nickc@redhat.com>
Date: Tue Apr 22 16:57:34 2014 +0100
Another fix for building on a 32-bit host.
PR ld/16821
* peXXigen.c (_bfd_XXi_swap_sym_out): Fix for 32-bit hosts.
commit 73589c9dbddc7906fa6a150f2a2a0ff6b746e8ba
Author: Christian Svensson <blue@cmd.nu>
Date: Tue Apr 22 15:57:47 2014 +0100
Remove support for the (deprecated) openrisc and or32 configurations and replace
with support for the new or1k configuration.
commit a75fef0e5bc3bfeb4eac434c1c68831f55ab597d
Author: Nick Clifton <nickc@redhat.com>
Date: Tue Apr 22 11:23:05 2014 +0100
Add a note to the GDB/NEWS file mentioning that the ARM simulator now
supports instruction tracing with or without disassembly alongside.
* NEWS: Mention that ARM sim now supports tracing.
commit 285fc9d8f8ed30b8a9d680fbf37e8f1843b95bc0
Author: Yuanhui Zhang <asmwarrior@gmail.com>
Date: Tue Apr 22 11:00:39 2014 +0100
Fix build problem on 32-bit hosts with the recent patch for PR 16821.
PR ld/16821
* peXXigen.c (abs_finder): Fix for 32-bit host builds.
commit 5d3b02f0036dbf39863fd24414e28f28a53ea1fd
Author: Will Newton <will.newton@linaro.org>
Date: Mon Apr 14 13:37:51 2014 +0100
bfd/elfnn-aarch64.c: Remove elfNN_aarch64_section_flags
This function seems to be a left over from some previous
functionality that no longer exists - the comment above seems to
make no sense with the current code. Remove the function as it
breaks handling of SystemTap static probe note sections.
bfd/ChangeLog:
2014-04-22 Will Newton <will.newton@linaro.org>
* elfnn-aarch64.c (elfNN_aarch64_section_flags): Remove
function. (elf_backend_section_flags): Remove define.
commit b4429ea262cfbeb9a6ebd9308654b0883b19d1a5
Author: Yao Qi <yao@codesourcery.com>
Date: Fri Mar 21 12:52:24 2014 +0800
Check tracefile is generated by binary execution
In gdb.trace/tfile.exp, we execute binary to generate tracefile,
remote_exec target "$binfile"
however, this fails on bare metal target. This patch is to
handle binary execution failure by running binary in GDB.
The binary will do some io operation to generate tracefile, so
we need a check 'target_info exists gdb,nofileio'.
This patch is to check whether tracefile is generated. tfile.exp can
be skipped if generation is failed, while test_tfind_tfile in
mi-traceframe-changed.exp is skipped if generated failed. The rest of
the mi-traceframe-changed.exp can still be executed, because on some
bare metal targets, the remote stub supports tracepoint but doesn't
support fileio.
gdb/testsuite:
2014-04-22 Yao Qi <yao@codesourcery.com>
* lib/trace-support.exp (generate_tracefile): New procedure.
* gdb.trace/tfile.exp: Skip the test if generate_tracefile
return 0.
* gdb.trace/mi-traceframe-changed.exp: Invoke test_tfind_tfile
if generate_tracefile returns 1.
commit 48b6e87ef297136a6409c2c993c4626f28bbb4d1
Author: Yao Qi <yao@codesourcery.com>
Date: Fri Apr 18 19:32:01 2014 +0800
Unify ctf_fetch_registers and tfile_fetch_registers
Functions ctf_fetch_registers and tfile_fetch_registers have some
duplicated code about guessing the PC in regcache. Sometimes, we
may change one function and forget to update the other one, like this
https://www.sourceware.org/ml/gdb-patches/2014-01/msg00292.html
This patch is to move the duplicated code into a new function
tracefile_fetch_registers, and let both ctf_fetch_registers and
tfile_fetch_registers call it.
gdb:
2014-04-22 Yao Qi <yao@codesourcery.com>
* tracefile-tfile.c (tfile_fetch_registers): Move the bottom to ...
* tracefile.c (tracefile_fetch_registers): ... it. New function.
* tracefile.h (tracefile_fetch_registers): Declare.
* ctf.c (ctf_fetch_registers): Remove the bottom. Call
tracefile_fetch_registers.
commit f159927f4d15d820a6eb615e33d68780db035c8d
Author: Alan Modra <amodra@gmail.com>
Date: Tue Apr 22 09:30:39 2014 +0930
daily update
commit d1c109de72f880ea2a761fccb41f330672674fd9
Author: Richard Henderson <rth@twiddle.net>
Date: Mon Apr 21 08:14:18 2014 -0700
Fix alpha-elf relaxation
ld/
* emultempl/alphaelf.em (alpha_after_parse): Enable 2 relax passes.
bfd/
* elf64-alpha.c (elf64_alpha_size_got_sections): New may_merge
parameter; honor it and disable got merging when false.
(elf64_alpha_relax_got_load): Do not relax to GPREL relocs during
the first pass of relaxation.
(elf64_alpha_relax_with_lituse): Likewise. Move relaxed relocs to
the end of the LITERAL+LITUSE chain.
(elf64_alpha_relax_section): Only process LITERAL relocs during the
second pass of relaxation.
commit cc75d373fdb9668f367959f99f0b67e056a6c18a
Author: Richard Henderson <rth@twiddle.net>
Date: Mon Apr 21 08:05:49 2014 -0700
Enable secureplt by default for alpha-linux
* configure.ac (use_secureplt): Enable by default.
* configure: Rebuild.
commit a7bdd4ed3f8396e707231cbb7ee989d2e8ba9d46
Author: Alan Modra <amodra@gmail.com>
Date: Mon Apr 21 09:30:38 2014 +0930
daily update
commit 8b5c7890e8bfa3360339c303599fe5b0c9faa848
Author: Alan Modra <amodra@gmail.com>
Date: Sun Apr 20 09:30:38 2014 +0930
daily update
commit 17617f2d366ca969ccbc784be4f75931a1afd20f
Author: Eli Zaretskii <eliz@gnu.org>
Date: Sat Apr 19 11:12:19 2014 +0300
PR gdb/14018 -- avoid "PC register not available" errors.
gdb/windows-nat.c (thread_rec): Don't display a warning when
SuspendThread fails with ERROR_ACCESS_DENIED. If SuspendThread
fails for any reason, set th->suspended to -1, so that we don't
try to resume such a thread. Also, don't return NULL in these
cases, to avoid completely ruin the session due to "PC register is
not available" error.
(do_windows_fetch_inferior_registers): Check errors in
GetThreadContext call.
(windows_continue): Accept an additional argument KILLED; if not
zero, ignore errors in the SetThreadContext call, since the
inferior was killed and is shutting down.
(windows_resume, get_windows_debug_event)
(windows_create_inferior, windows_mourn_inferior)
(windows_kill_inferior): All callers of windows_continue changed
to adjust to its new calling sequence.
commit 5723a6fd0636bed6d278ab19f6ead31d748a7a78
Author: Yao Qi <yao@codesourcery.com>
Date: Fri Apr 18 19:19:22 2014 +0800
Call post_create_inferior in ctf_open.
We don't call post_create_inferior at the end of ctf_open. It is an
oversight in patch
[PATCH 2/2] Create inferior for ctf target.
https://sourceware.org/ml/gdb-patches/2014-01/msg01056.html
This patch is to call post_create_inferior at the end of ctf_open,
like the end of tfile_open.
gdb:
2014-04-19 Yao Qi <yao@codesourcery.com>
* ctf.c (ctf_open): Call post_create_inferior.
commit 614d5099da07f5899dfac9720f49b9f6f350c1bd
Author: Yao Qi <yao@codesourcery.com>
Date: Sat Apr 19 10:14:58 2014 +0800
Get trace_regblock_size from metadata instead of event
In ctf trace, for each 'R' block, we save it as a "register" event,
as defined below in metadata.
event {
name = "register";
id = 0;
fields := struct {
ascii contents[440];
};
}
Nowadays, we initialize trace_regblock_size by getting the length of
"contents" from a "register" event. However, 'R' block may not exist
in traceframe, as a result, "register" event doesn't exist in trace file
and trace_regblock_size isn't set.
This patch changes to get trace_regblock_size from metadata (or declaration)
which always exists.
gdb:
2014-04-19 Yao Qi <yao@codesourcery.com>
* ctf.c (handle_id): New static variable.
(ctf_open_dir): Get handle_id from bt_context_add_trace return
value. Get the declaration of event "register" and get length
of field "contents".
commit dac3e7103f2822b42ecbb58e40f70f7ccb802d42
Author: Yao Qi <yao@codesourcery.com>
Date: Fri Apr 18 19:22:23 2014 +0800
Add null pointer check in ctf_xfer_partial
I find a gdb crash when gdb reads ctf trace. The crash is caused by passing
NULL to strcmp. This patch is to add null pointer check, as what we did
somewhere else in ctf.c.
gdb:
2014-04-19 Yao Qi <yao@codesourcery.com>
* ctf.c (ctf_xfer_partial): Check 'name' is NULL before strcmp.
commit 2bca57bacc88e4d81fd92c72f1d4eb42c1372ac8
Author: Siva Chandra <sivachandra@chromium.org>
Date: Mon Mar 3 05:08:47 2014 -0800
Remove unnecessary argument METHOD to valops.c:oload_method_static.
* valops.c (oload_method_static): Remove unnecessary argument
METHOD. Update all callers.
commit 13cfc86c8705188e003035775a017f36c56f75bd
Author: Alan Modra <amodra@gmail.com>
Date: Sat Apr 19 09:30:59 2014 +0930
daily update
commit c9ffd2eaf8efea61f083a5c226df8aab0aea6e23
Author: Tristan Gingold <tristan.gingold@adacore.com>
Date: Thu Apr 3 14:45:31 2014 +0200
mach-o: layout executables
bfd/
* mach-o.h (bfd_mach_o_dyld_info_command): Add rebase_content,
bind_content, weak_bind_content, lazy_bind_content,
export_content.
(bfd_mach_o_load_command): Add comments, add next field.
(mach_o_data_struct): Replace commands field by first_command
and last_command.
* mach-o.c (bfd_mach_o_append_command): New function.
(bfd_mach_o_bfd_copy_private_symbol_data): Add blank lines.
(bfd_mach_o_bfd_copy_private_section_data): Check flavour,
copy fields.
(bfd_mach_o_bfd_copy_private_header_data): Copy load commands.
(bfd_mach_o_pad4, bfd_mach_o_pad_command): New functions.
(bfd_mach_o_write_thread): Use macro instead of literal.
(bfd_mach_o_write_dylinker, bfd_mach_o_write_dylib)
(bfd_mach_o_write_main, bfd_mach_o_write_dyld_info): New
functions.
(bfd_mach_o_write_symtab_content): New function (extracted
from bfd_mach_o_write_symtab).
(bfd_mach_o_write_symtab): Split.
(bfd_mach_o_count_indirect_symbols): Move
(bfd_mach_o_build_dysymtab): Remove layout code.
(bfd_mach_o_write_contents): Rewritten to build commands in order.
(bfd_mach_o_count_sections_for_seg): Remove.
(bfd_mach_o_build_obj_seg_command): New function (extracted from
bfd_mach_o_build_seg_command).
(bfd_mach_o_build_exec_seg_command): New function.
(bfd_mach_o_build_dysymtab_command): Remove.
(bfd_mach_o_layout_commands): New function.
(bfd_mach_o_init_segment): New function.
(bfd_mach_o_build_commands): Major rework to handle non-object
files.
(bfd_mach_o_alloc_and_read, bfd_mach_o_read_dyld_content): New
function.
(bfd_mach_o_read_dyld_info): Clear content fields.
(bfd_mach_o_read_segment): Adjust call.
(bfd_mach_o_flatten_sections): Adjust as now load commands are
chained.
(bfd_mach_o_scan_start_address, bfd_mach_o_scan)
(bfd_mach_o_mkobject_init, bfd_mach_o_get_base_address)
(bfd_mach_o_lookup_command, bfd_mach_o_core_fetch_environment):
Likewise.
binutils/
* od-macho.c (dump_section_map): Adjust as load commands
are now chained.
(dump_load_command, dump_section_content): Likewise.
commit 967b2c539ac8232a7922ed303106d1e5fde120d7
Author: Tristan Gingold <tristan.gingold@adacore.com>
Date: Wed Apr 9 10:16:39 2014 +0200
mach-o: Define copy_private_header instead of copy_private_bfd.
bfd/
* mach-o-target.c (bfd_mach_o_bfd_copy_private_header_data):
Define instead of bfd_mach_o_bfd_copy_private_bfd_data.
* mach-o.c (bfd_mach_o_bfd_copy_private_bfd_data): Rename.
* mach-o.h (bfd_mach_o_bfd_copy_private_bfd_data): Likewise.
commit 4525c51ab02e6fdd29017d353e5decaceaeb1000
Author: Tristan Gingold <tristan.gingold@adacore.com>
Date: Wed Apr 9 10:15:50 2014 +0200
mach-o: remove name_len field.
bfd/
* mach-o.h (bfd_mach_o_dylinker_command)
(bfd_mach_o_dylib_command, bfd_mach_o_fvmlib_command): Remove
name_len field.
* mach-o.c (bfd_mach_o_read_dylinker, bfd_mach_o_read_dylib)
(bfd_mach_o_read_fvmlib): Adjust after name_len removal.
commit 51d481464ec03be1f5479ed648cc38fb944d7fc0
Author: Pedro Alves <palves@redhat.com>
Date: Fri Apr 18 10:15:21 2014 +0100
Fix PR backtrace/15558
This PR is about an assertion failure in GDB that can be triggered by
setting "backtrace limit" to a value that causes GDB to stop unwinding
after an inline frame. In this case, an assertion in
inline_frame_this_id will trigger:
/* We need a valid frame ID, so we need to be based on a valid
frame. (...). */
gdb_assert (frame_id_p (*this_id));
Looking at the function:
static void
inline_frame_this_id (struct frame_info *this_frame,
void **this_cache,
struct frame_id *this_id)
{
struct symbol *func;
/* In order to have a stable frame ID for a given inline function,
we must get the stack / special addresses from the underlying
real frame's this_id method. So we must call get_prev_frame.
Because we are inlined into some function, there must be previous
frames, so this is safe - as long as we're careful not to
create any cycles. */
*this_id = get_frame_id (get_prev_frame (this_frame));
we see we're computing the frame id for the inline frame. If this is
an inline frame, which is a virtual frame constructed based on debug
info, on top of a real stack frame, we should _always_ be able to find
where the frame was inlined into, as that ultimately just means
peeling off the virtual frames on top of the real stack frame. If
there ultimately was no prev (real) stack frame, then we wouldn't have
been able to construct the inline frame either, by design. That's
what the assertion catches.
So we have an inline frame, we should _always_ be able to compute its
ID, even if that means bypassing the user backtrace limits to get at
the real stack frame's info. The problem is that inline_frame_id
calls get_prev_frame, and that takes user backtrace limits into
account. Code that wants to bypass the limits calls get_prev_frame_1
instead.
Note how get_prev_frame_1 already skips all checks for inline frames:
/* If we are unwinding from an inline frame, all of the below tests
were already performed when we unwound from the next non-inline
frame. We must skip them, since we can not get THIS_FRAME's ID
until we have unwound all the way down to the previous non-inline
frame. */
if (get_frame_type (this_frame) == INLINE_FRAME)
return get_prev_frame_if_no_cycle (this_frame);
And note how the related frame_unwind_caller_id function also uses
get_prev_frame_1:
struct frame_id
frame_unwind_caller_id (struct frame_info *next_frame)
{
struct frame_info *this_frame;
/* Use get_prev_frame_1, and not get_prev_frame. The latter will truncate
the frame chain, leading to this function unintentionally
returning a null_frame_id (e.g., when a caller requests the frame
ID of "main()"s caller. */
next_frame = skip_artificial_frames (next_frame);
this_frame = get_prev_frame_1 (next_frame);
if (this_frame)
return get_frame_id (skip_artificial_frames (this_frame));
else
return null_frame_id;
}
get_prev_frame_1 is currently static in frame.c. As a _1 suffix is
not a good name for an extern function, I've renamed it.
Tested on x86-64 Fedora 17.
gdb/
2014-04-18 Pedro alves <palves@redhat.com>
Tom Tromey <tromey@redhat.com>
PR backtrace/15558
* frame.c (get_prev_frame_1): Rename to ...
(get_prev_frame_always): ... this, and make extern. Adjust.
(skip_artificial_frames): Use get_prev_frame_always.
(frame_unwind_caller_id, frame_pop, get_prev_frame)
(get_frame_unwind_stop_reason): Adjust to rename.
* frame.h (get_prev_frame_always): Declare.
* inline-frame.c: Include frame.h.
(inline_frame_this_id): Use get_prev_frame_always.
gdb/testsuite/
2014-04-18 Tom Tromey <palves@redhat.com>
Pedro alves <tromey@redhat.com>
PR backtrace/15558
* gdb.opt/inline-bt.exp: Test backtracing from an inline function
with a backtrace limit.
* gdb.python/py-frame-inline.exp: Test running to an inline
function with a backtrace limit, and printing the newest frame.
* gdb.python/py-frame-inline.c (main): Call f.
commit 1bdad2e0421a56e16c0f4623e6320e1225cbe5ee
Author: Tristan Gingold <tristan.gingold@adacore.com>
Date: Fri Apr 18 11:03:46 2014 +0200
solib-darwin: simplify code.
Use bfd_mach_o_get_base_address to extract load address.
gdb/
* solib-darwin.c (darwin_solib_create_inferior_hook): Simplify
code by using bfd_mach_o_get_base_address.
commit 4384b28422294779be111ac24fb34fb6bfe57b32
Author: Tristan Gingold <tristan.gingold@adacore.com>
Date: Wed Apr 9 10:10:44 2014 +0200
mach-o: add page_size to backend data.
This is preliminary work to layout executables.
bfd/
* mach-o.h (bfd_mach_o_backend_data): Add page_size field.
* mach-o-target.c: Check TARGET_PAGESIZE is defined.
(TARGET_NAME_BACKEND): Add TARGET_PAGESIZE.
* mach-o.c (TARGET_PAGESIZE): Define and undefined for
each targets declared.
* mach-o-x86-64.c (TARGET_PAGESIZE): Define.
* mach-o-i386.c (TARGET_PAGESIZE): Define.
commit 452216ab0978a5684aacc76a422efd910d7c15df
Author: Tristan Gingold <tristan.gingold@adacore.com>
Date: Wed Apr 16 16:01:47 2014 +0200
mach-o.c: use boolean instead of int to return status.
bfd/
* mach-o.c (bfd_mach_o_write_thread)
(bfd_mach_o_write_section_32, bfd_mach_o_write_section_64)
(bfd_mach_o_write_segment_32, bfd_mach_o_write_segment_64)
(bfd_mach_o_read_dylinker, bfd_mach_o_read_dylib)
(bfd_mach_o_read_prebound_dylib, bfd_mach_o_read_prebind_cksum)
(bfd_mach_o_read_twolevel_hints, bfd_mach_o_read_fvmlib)
(bfd_mach_o_read_thread, bfd_mach_o_read_dysymtab)
(bfd_mach_o_read_symtab, bfd_mach_o_read_uuid)
(bfd_mach_o_read_linkedit, bfd_mach_o_read_str)
(bfd_mach_o_read_dyld_info, bfd_mach_o_read_segment)
(bfd_mach_o_read_segment_32, bfd_mach_o_read_segment_64)
(bfd_mach_o_read_command): Now return a boolean status.
Adjust return statements.
(bfd_mach_o_write_contents, bfd_mach_o_scan): Adjust tests.
(bfd_mach_o_core_file_failing_command): Remove useless initialization.
commit 8575cf7345408b513264484ccc72b6b14452be0c
Author: Alan Modra <amodra@gmail.com>
Date: Fri Apr 18 09:30:42 2014 +0930
daily update
commit bd1dce5fe56e4454e2c5ec17a1ebe685aeb9aea8
Author: Marcus Shawcroft <marcus.shawcroft@arm.com>
Date: Thu Apr 17 15:26:37 2014 +0100
Drop srcdir from untested source path.
commit cb22ccf4110d82441b8d56875419d871f10f3f8f
Author: Kwok Cheung Yeung <kcy@codesourcery.com>
Date: Thu Apr 17 14:13:44 2014 +0100
This patch causes local GOT entries addressed via a 16-bit index to
be placed towards the front of local GOT space, while entries addressed
via a 32-bit index are placed towards the rear.
Provided that there are fewer than ~16K local GOT entries addressed via
a 16-bit index in total, this should eliminate any relocation overflows
caused by such GOT entries being allocated beyond the addressable range.
bfd/
* elfxx-mips.c (struct mips_got_info): Delete assigned_gotno
field. Add assigned_low_gotno and assigned_high_gotno fields.
(mips_elf_create_local_got_entry): Update out-of-space condition.
Set index of new GOT entry to assigned_low_gotno if required by
the current relocation, else set it to assigned_high_gotno.
(mips_elf_set_global_gotidx): Replace uses of assigned_gotno
with assigned_low_gotno.
(mips_elf_multi_got): Initialize assigned_low_gotno and
assigned_high_gotno in secondary GOTs. Use assigned_low_gotno
in place of assigned_gotno when handling global GOT entries.
(mips_elf_lay_out_got): Initialize assigned_low_gotno and
assigned_high_gotno.
(_bfd_mips_elf_finish_dynamic_sections): Account for a possible
gap in the middle of local GOT space.
ld/testsuite/
* ld-mips-elf/elf-rel-xgot-n32.d: Update for new GOT layout.
* ld-mips-elf/elf-rel-xgot-n32-embed.d: Likewise.
* ld-mips-elf/elf-rel-xgot-n64.d: Likewise.
* ld-mips-elf/elf-rel-xgot-n64-embed.d: Likewise.
* ld-mips-elf/elf-rel-xgot-n64-linux.d: Likewise.
commit 7ce16bd4c4d5e6f6a48ca7fcf532720fec0406bf
Author: Ulrich Weigand <ulrich.weigand@de.ibm.com>
Date: Thu Apr 17 14:09:49 2014 +0200
Enable DWARF unwinders for SPU
This patch enables use of DWARF unwinders for the SPU target.
In addition to appending the DWARF unwinders, we also need to install
a spu_dwarf_reg_to_regnum that maps the raw stack pointer register to
the cooked version (to avoid mismatches with gdbarch_sp_regnum).
This also causes confusion with the AX collect handling, so we also
install ax_pseudo_register routines to handle the cooked SP.
gdb/
2014-04-17 Ulrich Weigand <uweigand@de.ibm.com>
* spu-tdep.c: Include "dwarf2-frame.h" and "ax.h".
(spu_ax_pseudo_register_collect): New function.
(spu_ax_pseudo_register_push_stack): Likewise.
(spu_dwarf_reg_to_regnum): Likewise.
(spu_gdbarch_init): Install them. Append DWARF unwinders.
commit 2ed3c037cf8aac5f6dbee5b6c2a1239550a04202
Author: Ulrich Weigand <ulrich.weigand@de.ibm.com>
Date: Thu Apr 17 14:01:39 2014 +0200
Use address_from_register in dwarf2-frame.c:read_addr_from_reg
This patch fixes a problem that prevented use of the Dwarf unwinders on SPU,
because dwarf2-frame.c common code did not support the situation where the
stack and/or frame pointer is maintained in a *vector* register. This is
because read_addr_from_reg is hard-coded to assume that such pointers can
be read from registers via a simple get_frame_register / unpack_pointer
operation.
Now, there *is* a routine address_from_register that calls into the
appropriate tdep routines to handle pointer values in "weird" registers
like on SPU, but it turns out I cannot simply change dwarf2-frame.c to
use address_from_register. This is because address_from_register uses
value_from_register to create a (temporary) value, and that routine
at some point calls get_frame_id in order to set up that value's
VALUE_FRAME_ID entry.
However, the dwarf2-frame.c read_addr_from_reg routine will be called
during early unwinding (to unwind the frame's CFA), at which point the
frame's ID is not actually known yet! This would cause an assert.
On the other hand, we may notice that VALUE_FRAME_ID is only needed in the
value returned by value_from_register if that value is later used as an
lvalue. But this is obviously never done to the temporary value used in
address_from_register. So, if we could change address_from_register to
not call value_from_register but instead accept constructing a value
that doesn't have VALUE_FRAME_ID set, things should be fine.
To do that, we can change the value_from_register callback to accept
a FRAME_ID instead of a FRAME; the only existing uses of the FRAME
argument were either to extract its frame ID, or its gdbarch. (To
keep a way of getting at the latter, we also change the callback's
type from "f" to "m".) Together with the required follow-on changes
in the existing value_from_register implementations (including the
default one), this seems to fix the problem.
As another minor interface cleanup, I've removed the explicit TYPE
argument from address_from_register. This routine really always
uses a default pointer type, and in the new implementation it -to
some extent- relies on that fact, in that it will now no longer
handle types that require gdbarch_convert_register_p handling.
gdb:
2014-04-17 Ulrich Weigand <uweigand@de.ibm.com>
* gdbarch.sh (value_from_register): Make class "m" instead of "f".
Replace FRAME argument with FRAME_ID.
* gdbarch.c, gdbarch.h: Regenerate.
* findvar.c (default_value_from_register): Add GDBARCH argument;
replace FRAME by FRAME_ID. No longer call get_frame_id.
(value_from_register): Update call to gdbarch_value_from_register.
* value.h (default_value_from_register): Update prototype.
* s390-linux-tdep.c (s390_value_from_register): Update interface
and call to default_value_from_register.
* spu-tdep.c (spu_value_from_register): Likewise.
* findvar.c (address_from_register): Remove TYPE argument.
Do not call value_from_register; use gdbarch_value_from_register
with null_frame_id instead.
* value.h (address_from_register): Update prototype.
* dwarf2-frame.c (read_addr_from_reg): Use address_from_register.
* dwarf2loc.c (dwarf_expr_read_addr_from_reg): Update for
address_from_register interface change.
commit 40d1a503c43cda6c04a637972e5635d803f46cde
Author: Marcus Shawcroft <marcus.shawcroft@arm.com>
Date: Thu Apr 17 10:52:43 2014 +0100
Drop prefix from unsupported source path.
commit 4c34aff883e4fcc958a2d2c98874a035efc07651
Author: Alan Modra <amodra@gmail.com>
Date: Thu Apr 17 13:08:32 2014 +0930
Fix LTO mismatched TLS reference
PR 16846
* elflink.c (_bfd_elf_merge_symbol): Ignore TLS mismatch when
current bfd is a plugin. Don't always set type_change_ok
when old bfd is a plugin.
commit 389b98f7d880c8551bec64f9e7fb0b05fa941de6
Author: Yao Qi <yao@codesourcery.com>
Date: Mon Mar 24 11:26:06 2014 +0800
[testsuite] Set target-charset to ascii
Hi,
We find gdb.base/printcmds.exp fails a lot on windows host, like this,
p ctable1[163]
$204 = 163 '£'
(gdb) FAIL: gdb.base/printcmds.exp: p ctable1[163]
however, on linux host,
p ctable1[163]
$205 = 163 '\243'
(gdb) PASS: gdb.base/printcmds.exp: p ctable1[163]
The printing related code is in valprint.c:print_wchar,
if (gdb_iswprint (w) && (!need_escape || (!gdb_iswdigit (w)
&& w != LCST ('8')
&& w != LCST ('9'))))
{
gdb_wchar_t wchar = w;
if (w == gdb_btowc (quoter) || w == LCST ('\\'))
obstack_grow_wstr (output, LCST ("\\"));
obstack_grow (output, &wchar, sizeof (gdb_wchar_t));
}
else
{
// print W in hex or octal digits
}
When I debug gdb on different hosts, I find
on windows host, gdb_iswprint (iswprint) returns true if 'w' is 163.
However, on linux host, iswprint returns false if 'w' is 163. Looks
this difference is caused by the charset. On Linux host,
the target-charset is ANSI_X3.4-1968, while on windows host, the
target-charset is CP1252.
We can see how target-charset affects the output. On linux host,
(gdb) set target-charset ASCII
(gdb) p ctable1[163]
$1 = 163 '\243'
(gdb) set target-charset CP1252
(gdb) p ctable1[163]
$2 = 163 '£'
we can print the pound sign too, and it shows target-charset does
affect the output.
This patch is to set target-charset temporarily to ASCII for some
charset-sensitive tests. Tested on arm-none-eabi and
powerpc-linux-gnu on mingw32 host. More than one hundred fails are
fixed.
gdb/testsuite:
2014-04-17 Yao Qi <yao@codesourcery.com>
* lib/gdb.exp (with_target_charset): New proc.
* gdb.base/printcmds.exp (test_print_all_chars): Wrap tests with
with_target_charset.
(test_print_strings): Likewise.
(test_repeat_bytes): Likewise.
* gdb.base/setvar.exp: Set target-charset to ASCII temporarily
for some tests.
commit 71e50e8314af251f153207192194eaffdf638f5e
Author: Yao Qi <yao@codesourcery.com>
Date: Thu Mar 13 14:07:26 2014 +0800
Automatic link generation by doxygen
Nowadays, we have one page on "GDB Types" generated by doxygen, but types
and macros referenced in doc are not linked to their definitions. This
patch tweaks the comments a little to use doxygen syntax so that these
types and macros are linked their definitions.
Is it OK?
gdb:
2014-04-17 Yao Qi <yao@codesourcery.com>
* gdbtypes.h: Update comments to link to types and macros'
definitions.
commit 1568481a553b0071c397e6d5d79a8cae4133485b
Author: Alan Modra <amodra@gmail.com>
Date: Thu Apr 17 09:31:10 2014 +0930
daily update
commit 7a23c5494be60600d34527f5adeaa2a34b85fdb6
Author: Siva Chandra <sivachandra@chromium.org>
Date: Wed Apr 16 15:41:35 2014 -0700
Add the ChangeLog entry missed in 8000c58e455259951daa4370631aa616b367d1a7.
commit 8000c58e455259951daa4370631aa616b367d1a7
Author: Siva Chandra <sivachandra@chromium.org>
Date: Mon Apr 14 06:50:24 2014 -0700
Remove unused and incorrect macro TYPE_FN_FIELDS.
* gdbtypes.h: Remove definition of the macro TYPE_FN_FIELDS.
commit 22869d73e127511e177a6bd855f9b5dbe22b9eca
Author: Keith Seitz <keiths@redhat.com>
Date: Wed Apr 16 14:39:10 2014 -0700
PR gdb/15827
Install some sanity checks that sibling DIE offsets are not beyond the
defined limits of the DWARF input buffer in read_partial_die and skip_one_die.
2014-03-20 Keith Seitz <keiths@redhat.com>
PR gdb/15827
* dwarf2read.c (skip_one_die): Check that all relative-offset
sibling DIEs fall within range of the current reader's buffer.
(read_partial_die): Likewise.
2014-03-20 Keith Seitz <keiths@redhat.com>
PR gdb/15827
* gdb.dwarf2/corrupt.c: New file.
* gdb.dwarf2/corrupt.exp: New file.
commit c4f87ca6dbe041e2a331e5054a76c9134f29d545
Author: Keith Seitz <keiths@redhat.com>
Date: Wed Apr 16 14:20:19 2014 -0700
PR c++/16597
[forgot to commit/push these with previous push]
If lookup_symbol_file tries to locate a member variable with NULL name:
/* A simple lookup failed. Check if the symbol was defined in
a base class. */
cleanup = make_cleanup (null_cleanup, NULL);
/* Find the name of the class and the name of the method,
variable, etc. */
prefix_len = cp_entire_prefix_len (name);
/* If no prefix was found, search "this". */
if (prefix_len == 0)
{
struct type *type;
struct symbol *this;
this = lookup_language_this (language_def (language_cplus), block);
if (this == NULL)
{
do_cleanups (cleanup);
return NULL;
}
type = check_typedef (TYPE_TARGET_TYPE (SYMBOL_TYPE (this)));
klass = xstrdup (TYPE_NAME (type));
nested = xstrdup (name);
}
TYPE_NAME (type) is NULL, so xstrdup (NULL) and boom!
This can happen, e.g., with clang++. See testsuite/gdb.cp/namelessclass.exp
or the bugzilla report.
This patch simply adds a fencepost against this case, allowing the caller
of lookup_symbol_file to search other blocks for the right symbol.
commit fe28be73c7c22cc6eb1c3573f1be65c75e37d9b7
Author: Keith Seitz <keiths@redhat.com>
Date: Wed Apr 16 14:12:22 2014 -0700
PR c++/16597
If lookup_symbol_file tries to locate a member variable with NULL name:
/* A simple lookup failed. Check if the symbol was defined in
a base class. */
cleanup = make_cleanup (null_cleanup, NULL);
/* Find the name of the class and the name of the method,
variable, etc. */
prefix_len = cp_entire_prefix_len (name);
/* If no prefix was found, search "this". */
if (prefix_len == 0)
{
struct type *type;
struct symbol *this;
this = lookup_language_this (language_def (language_cplus), block);
if (this == NULL)
{
do_cleanups (cleanup);
return NULL;
}
type = check_typedef (TYPE_TARGET_TYPE (SYMBOL_TYPE (this)));
klass = xstrdup (TYPE_NAME (type));
nested = xstrdup (name);
}
TYPE_NAME (type) is NULL, so xstrdup (NULL) and boom!
This can happen, e.g., with clang++. See testsuite/gdb.cp/namelessclass.exp
or the bugzilla report.
This patch simply adds a fencepost against this case, allowing the caller
of lookup_symbol_file to search other blocks for the right symbol.
commit 8056826a68e7cb370425c56703a52af98fa159fe
Author: Steve Ellcey <sellcey@mips.com>
Date: Wed Apr 16 10:47:13 2014 -0700
2014-04-16 Steve Ellcey <sellcey@mips.com>
* emultempl/elf32.em: Include safe-ctype.h.
commit 751e54c92eb7846e3edcd9b8179051ab8174e5b5
Author: Steve Ellcey <sellcey@mips.com>
Date: Wed Apr 16 10:45:08 2014 -0700
2014-04-16 Steve Ellcey <sellcey@mips.com>
* ldbuildid.c (generate_build_id): Add ATTRIBUTE_UNUSED to size arg.
commit ab19de874b887743e0862e6680e561f6fc4f02fa
Author: Doug Evans <dje@google.com>
Date: Wed Apr 16 10:40:41 2014 -0700
Fix wrapper.exp testcase with stdio gdbserver.
* lib/gdbserver-support.exp (gdbserver_default_get_remote_address):
Add comment.
(gdbserver_default_get_comm_port): New function.
(gdbserver_start): Check if board file provided
"gdbserver,get_comm_port" and use it if so.
* boards/native-stdio-gdbserver.exp (sockethost): Set to "".
(gdb,socketport): Set to "stdio".
(gdbserver,get_comm_port): Set to ${board}_get_comm_port.
(stdio_gdbserver_template): Delete.
(${board}_get_remote_address): Update.
(${board}_build_remote_cmd): Delete.
(${board}_get_comm_port): New function.
(${board}_spawn): Update.
* boards/remote-stdio-gdbserver.exp (${board}_build_remote_cmd):
Delete.
(${board}_get_remote_address): Update.
(${board}_get_comm_port): New function.
commit fc98a809db2b6792a47919d30c9bd3446f5a83ca
Author: Andrew Burgess <aburgess@broadcom.com>
Date: Wed Apr 16 17:42:29 2014 +0100
gdb.base/memattr.exp regexp improvements.
https://sourceware.org/ml/gdb-patches/2014-04/msg00210.html
Improve the regexp used in the memattr.exp test so allow for different
memory regions (.data / .bss) being laid out in different orders.
gdb/testsuite/ChangeLog:
* gdb.base/memattr.exp: Improve regexps to handle memory regions
appearing in any order.
commit 8e63ef2f2539b7fd3f81f11d930b8bdf8daa9da1
Author: Alan Modra <amodra@gmail.com>
Date: Wed Apr 16 22:58:15 2014 +0930
Fix more fallout from TC_CONS_FIX_NEW change
* config/tc-tilegx.h (TC_CONS_FIX_NEW): Add RELOC arg.
* config/tc-tilepro.h (TC_CONS_FIX_NEW): Likewise.
commit e89d3dee76bc7f2d4b967ce9238f7f22e0a7c147
Author: Tristan Gingold <tristan.gingold@adacore.com>
Date: Fri Apr 11 17:10:03 2014 +0200
Mach-O: Add objdump -P dyld_info to dump dyld data.
include/mach-o/
* loader.h: Add macros for rebase, bind and export constants.
binutils/
* od-macho.c (OPT_DYLD_INFO): New macro.
(options): Add entry for dyld_info.
(mach_o_help): Likewise.
(load_and_dump, dump_dyld_info_rebase, dump_dyld_info_bind)
(dump_dyld_info_export_1, dump_dyld_info_export): New functions.
(bfd_mach_o_dyld_rebase_type_name): New array.
(export_info_data): New struct.
(dump_dyld_info): Add verbose argument. Dump rebase, bind and
exports data.
(dump_load_command): Adjust dump_dyld_info call.
(mach_o_dump): Handle dyld_info.
commit 47f8a1070c0619bf7698e6584f7196f06e529da0
Author: Tristan Gingold <tristan.gingold@adacore.com>
Date: Fri Apr 11 15:27:10 2014 +0200
Mach-O: improve objdump -P load output.
binutils/
* od-macho.c (dump_header): Display sizeofcmds in decimal too.
(dump_segment): Reformat output.
(dump_dyld_info): Also display end offsets.
(dump_load_command): Add IDX argument, display commands size
and offset, reformat display.
(dump_load_commands): Adjust for added argument.
commit 12241a34d72fe9be70e8c7001b05764bb7e9738e
Author: Tristan Gingold <tristan.gingold@adacore.com>
Date: Wed Apr 9 10:12:45 2014 +0200
Mach-O: add cpu and cpusubtype caps.
include/mach-o/
2014-04-16 Tristan Gingold <gingold@adacore.com>
* loader.h (BFD_MACH_O_CPU_ARCH_MASK, BFD_MACH_O_CPU_ARCH_ABI64)
(BFD_MACH_O_CPU_SUBTYPE_MASK, BFD_MACH_O_CPU_SUBTYPE_LIB64): Define.
bfd/
2014-04-16 Tristan Gingold <gingold@adacore.com>
* mach-o-x86-64.c (bfd_mach_o_x86_64_mkobject): Adjust cpusubtype
flag.
commit 40fd06d18832d52c9ab08914d8d5428ca68e5726
Author: Alan Modra <amodra@gmail.com>
Date: Wed Apr 16 11:47:13 2014 +0930
fill ppc476 fixup area
Stops false positive warnings from scanner.
* elf32-ppc.c (ppc_elf_relocate_section): Fill 476 fixup area
with "ba 0" rather than zeros.
commit 7d9ac5f946c94de300fb22962b53701d2b73c52d
Author: Alan Modra <amodra@gmail.com>
Date: Wed Apr 16 09:31:06 2014 +0930
daily update
commit 87fd9e6ed8fdac0661026b7d2a66a9b364fe4bc2
Author: Doug Evans <dje@google.com>
Date: Tue Apr 15 16:11:32 2014 -0700
* gdb.gdb/selftest.exp (do_steps_and_nexts): Don't reference
uninitialized value of "description".
commit bfb1f6c31687a01e2763a30c8ca92e0426afb725
Author: Cary Coutant <ccoutant@google.com>
Date: Tue Apr 15 12:06:29 2014 -0700
2014-04-15 Sasa Stankovic <Sasa.Stankovic@imgtec.com>
elfcpp/
* mips.h (R _MIPS16_TLS_GD, R_MIPS16_TLS_LDM, R_MIPS16_TLS_DTPREL_HI16,
R_MIPS16_TLS_DTPREL_LO16, R_MIPS16_TLS_GOTTPREL,
R_MIPS16_TLS_TPREL_HI16, R_MIPS16_TLS_TPREL_LO16, R_MICROMIPS_26_S1,
R_MICROMIPS_HI16, R_MICROMIPS_LO16, R_MICROMIPS_GPREL16,
R_MICROMIPS_LITERAL, R_MICROMIPS_GOT16, R_MICROMIPS_PC7_S1,
R_MICROMIPS_PC10_S1, R_MICROMIPS_PC16_S1, R_MICROMIPS_CALL16,
R_MICROMIPS_GOT_DISP, R_MICROMIPS_GOT_PAGE, R_MICROMIPS_GOT_OFST,
R_MICROMIPS_GOT_HI16, R_MICROMIPS_GOT_LO16, R_MICROMIPS_SUB,
R_MICROMIPS_HIGHER, R_MICROMIPS_HIGHEST, R_MICROMIPS_CALL_HI16,
R_MICROMIPS_CALL_LO16, R_MICROMIPS_SCN_DISP, R_MICROMIPS_JALR,
R_MICROMIPS_HI0_LO16, R_MICROMIPS_TLS_GD, R_MICROMIPS_TLS_LDM,
R_MICROMIPS_TLS_DTPREL_HI16, R_MICROMIPS_TLS_DTPREL_LO16,
R_MICROMIPS_TLS_GOTTPREL, R_MICROMIPS_TLS_TPREL_HI16,
R_MICROMIPS_TLS_TPREL_LO16, R_MICROMIPS_GPREL7_S2,
R_MICROMIPS_PC23_S20, R_MIPS_EH): New enums for relocations (mips16 and
micromips).
(STO_MIPS_FLAGS): New enum constant.
(elf_st_is_mips16): New function.
(elf_st_is_micromips): New function.
(is_micromips): New function.
(abi_n32): New function.
(abi_n64): New function.
(ODK_NULL, ODK_REGINFO, ODK_EXCEPTIONS, ODK_PAD, ODK_HWPATCH, ODK_FILL,
ODK_TAGS, ODK_HWAND, ODK_HWOR, ODK_GP_GROUP, ODK_IDENT): New enum
constants.
* elfcpp.h (SHT_MIPS_OPTIONS): New enum constant.
commit 099fc3ea4c68d257cc52c21844173d75873313b1
Author: Keith Seitz <keiths@redhat.com>
Date: Tue Apr 15 12:07:33 2014 -0700
Remove unused globals in mi-simplerun.exp.
2014-04-15 Keith Seitz <keiths@redhat.com>
* gdb.mi/mi-simplerun.exp (test_breakpoints_creation_and_listing):
Remove unused globals.
(test_running_the_program): Likewise.
(test_controlled_execution): Likewise.
(test_controlling_breakpoints): Likewise.
(test_program_termination): Likewise.
commit 99fd8cfff7a9da67efc2e6c627176f5c767c6e7d
Author: Cary Coutant <ccoutant@google.com>
Date: Tue Apr 15 11:24:30 2014 -0700
Allow target to decide whether to include a section.
2014-04-15 Sasa Stankovic <Sasa.Stankovic@imgtec.com>
gold/
* layout.cc (Layout::include_section): Allow a target to decide
whether to include a section.
* target.h (Target::should_include_section): New function.
(Target::do_should_include_section): New function.
commit 91f43acd5d692518f95a901e92dec7dbb6347564
Author: Cary Coutant <ccoutant@google.com>
Date: Tue Apr 15 11:19:18 2014 -0700
Allow target to derive from Copy_relocs class.
2014-04-15 Sasa Stankovic <Sasa.Stankovic@imgtec.com>
gold/
* copy-relocs.cc (Copy_relocs::Copy_reloc_entry::emit): Remove and
inline into ...
(Copy_relocs::emit): ... here.
* copy-relocs.h (Copy_reloc_entry): Change from class to struct.
(Copy_reloc_entry::make_copy_reloc): Change from private to protected.
(Copy_reloc_entry::entries_): Change from private to protected.
commit 5da151d470a6c99ae6cbd5efa01f2a3b97261e59
Author: Keith Seitz <keiths@redhat.com>
Date: Tue Apr 15 11:47:57 2014 -0700
Test suite cleanup.
2014-04-15 Keith Seitz <keiths@redhat.com>
* gdb.mi/mi-break.exp (test_tbreak_creation_and_listing): Remove
unused globals.
(test_rbreak_creation_and_listing): Likewise.
(test_ignore_count): Likewise.
(test_error): Likewise.
commit fa85fb9a1bf35209a149d07ebefb2a8970e4a27a
Author: Marcus Shawcroft <marcus.shawcroft@arm.com>
Date: Tue Apr 15 17:46:07 2014 +0100
[AArch64] Fix off by one error in instruction relaxation mask.
The AArch64 TLSDESC to IE relaxation code uses a bit mask intended to
ensure that destination register in a relaxed ldr instruction is
always X0. The mask has an off by one error resulting in the most
significant bit of the destination register being retained in the
relaxed instruction. The issue generally appears when the compiler
emits TLS accesses code under high register pressure resulting in a
broken code sequence.
commit 35e5d2f0f81d97f9bd41586b1979345072b7989d
Author: Pedro Alves <palves@redhat.com>
Date: Tue Apr 15 14:02:34 2014 +0100
gdb.base/sym-file.exp, hide guts of the custom loader.
This test uses a simple custom elf loader, implemented in
gdb.base/sym-file-loader.h|c. This loader doesn't have a dlclose-like
function today, but I'll need one. But, I found that the guts of the
loader are exposed too much to the client, making the interface more
complicated than necessary. It's simpler if the loader just exports a
few dlopen/dlsym -style functions. That's what this patch does.
Tested on x86_86 Fedora 17, native and gdbserver.
gdb/testsuite/
2014-04-15 Pedro Alves <palves@redhat.com>
* gdb.base/sym-file-loader.h: Move inclusion of <inttypes.h>,
<ansidecl.h>, <elf/common.h> and <elf/external.h> to
sym-file-loader.c.
(Elf_External_Phdr, Elf_External_Ehdr, Elf_External_Shdr)
(Elf_External_Sym, Elf_Addr, GET, GETADDR, struct segment): Move
to sym-file-loader.c.
(struct library): Forward declare.
(load_shlib, lookup_function): Change prototypes.
(find_shstrtab, find_strtab, find_shdr, find_symtab)
(translate_offset): Remove declarations.
(get_text_addr): New declaration.
* gdb.base/sym-file-loader.c: Move inclusion of <inttypes.h>,
<ansidecl.h>, <elf/common.h> and <elf/external.h> here from
sym-file-loader.h.
(Elf_External_Phdr, Elf_External_Ehdr, Elf_External_Shdr)
(Elf_External_Sym, Elf_Addr, GET, GETADDR, struct segment): Move
here from sym-file-loader.h.
(struct library): New structure.
(load_shlib, lookup_function): Change prototypes and adjust to
work with a struct library.
(find_shstrtab, find_strtab, find_shdr, find_symtab)
(translate_offset): Make static.
(get_text_addr): New function.
* gdb.base/sym-file-main.c (main): Adjust to new loader interface.
commit eb4c17106b7303565b8d0ce8b572fa64945d1e7d
Author: Pedro Alves <palves@redhat.com>
Date: Tue Apr 15 14:13:08 2014 +0100
gdb.base/sym-file-loader.c: Fix typo.
SELF_LINK, not SELK_LINK...
gdb/testsuite/
2014-04-15 Pedro Alves <palves@redhat.com>
* gdb.base/sym-file-loader.c: Fix typo. SELF_LINK, not SELK_LINK.
commit 2d1baf521e08bc390d604aaf1326347cc130ce1f
Author: Pedro Alves <palves@redhat.com>
Date: Mon Apr 14 17:23:55 2014 +0100
Make sym-file.exp work with remote targets and hosts.
The main issue here is that this test passes the host's absolute path
to the library to load to the "dlopen"-like routine, which doesn't
work when either the target or the host are remote, unless a shared
filesystem has been set up.
Tests that dynamically load a library solve this by dlopen'ing by
basename, and setting rpath to $ORIGIN. See gdb_compile.
This test doesn't use dlopen, but instead uses its own simple elf
loader. The fix is to pass this loader the library basename, and
teach it to look up the library by basename in the executable's
directory as well, i.e., assuming/emulating RPATH=$ORIGIN.
Tested on x86_64 Fedora 17, native and gdbserver.
I looked around in the web to figure out Linux's /proc/self/exe
equivalents in other ELF OSs. I think I covered all relevant, but if
not, I think it'll be simple enough to add more. (Note the test is
skipped on non-ELF targets.)
Tested on x86_64 Fedora 17, native and gdbserver.
gdb/testsuite/
2014-04-15 Pedro Alves <palves@redhat.com>
* gdb.base/sym-file-loader.c: Include <limits.h>.
(SELF_LINK): New define.
(get_origin): New function.
(load_shlib): Use it.
* gdb.base/sym-file.exp: Don't early return if the target is
remote. Use runto_main, and issue fail is that fails. Use
gdb_load_shlibs.
(shlib_name): Delete.
(lib_so, lib_syms, lib_dlopen): New globals. Use them throughout.
commit 7dd6df0171796757f404a549c76f0d9b9192c849
Author: Pedro Alves <palves@redhat.com>
Date: Tue Apr 15 12:49:51 2014 +0100
gdb.base/sym-file.exp: clean up test messages a bit.
Remove regex characters from test message, and don't refer to
breakpoint numbers in test messages (subsequent patches will add more
breakpoints, changing these numbers). Result:
-PASS: gdb.base/sym-file.exp: add-symbol-file .*sym-file-lib\.so addr
+PASS: gdb.base/sym-file.exp: add-symbol-file sym-file-lib.so addr
-PASS: gdb.base/sym-file.exp: check if Breakpoint 2 is pending.
-PASS: gdb.base/sym-file.exp: check if Breakpoint 3 is pending.
+PASS: gdb.base/sym-file.exp: breakpoint at foo is pending
+PASS: gdb.base/sym-file.exp: breakpoint at bar is pending
gdb/testsuite/
2014-04-15 Pedro Alves <palves@redhat.com>
* gdb.base/sym-file.exp: Remove regex characters from test
message. Don't refer to breakpoint numbers in test messages.
commit 170015c5a013f0036073ebc3d455c379371edc27
Author: Alan Modra <amodra@gmail.com>
Date: Tue Apr 15 09:30:44 2014 +0930
daily update
commit b50c861487bb7d71185777193a9246bac81e4f26
Author: Keith Seitz <keiths@redhat.com>
Date: Mon Apr 14 15:47:15 2014 -0700
Remove symbol_matches_domain. This fixes
PR c++/16253.
symbol_matches_domain was permitting searches for a VAR_DOMAIN
symbol to also match STRUCT_DOMAIN symbols for languages like C++
where STRUCT_DOMAIN symbols also define a typedef of the same name,
e.g., "struct foo {}" introduces a typedef of the name "foo".
Problems occur if there exists both a VAR_DOMAIN and STRUCT_DOMAIN
symbol of the same name. Then it is essentially a race between which
symbol is found first. The other symbol is obscurred.
[This is a relatively common idiom: enum e { ... } e;]
This patchset moves this "language defines a typedef" logic to
lookup_symbol[_in_language], looking first for a symbol in the given
domain and falling back to searching STRUCT_DOMAIN when/if appropriate.
2014-04-14 Keith Seitz <keiths@redhat.com>
PR c++/16253
* ada-lang.c (ada_symbol_matches_domain): Moved here and renamed
from symbol_matches_domain in symtab.c. All local callers
of symbol_matches_domain updated.
(standard_lookup): If DOMAIN is VAR_DOMAIN and no symbol is found,
search STRUCT_DOMAIN.
(ada_find_any_type_symbol): Do not search STRUCT_DOMAIN
independently. standard_lookup will do that automatically.
* cp-namespace.c (cp_lookup_symbol_nonlocal): Explain when/why
VAR_DOMAIN searches may return a STRUCT_DOMAIN match.
(cp_lookup_symbol_in_namespace): Likewise.
If no VAR_DOMAIN symbol is found, search STRUCT_DOMAIN.
(cp_lookup_symbol_exports): Explain when/why VAR_DOMAIN searches
may return a STRUCT_DOMAIN match.
(lookup_symbol_file): Search for the class name in STRUCT_DOMAIN.
* cp-support.c: Include language.h.
(inspect_type): Explicitly search STRUCT_DOMAIN before searching
VAR_DOMAIN.
* psymtab.c (match_partial_symbol): Compare the requested
domain with the symbol's domain directly.
(lookup_partial_symbol): Likewise.
* symtab.c (lookup_symbol_in_language): Explain when/why
VAR_DOMAIN searches may return a STRUCT_DOMAIN match.
If no VAR_DOMAIN symbol is found, search STRUCT_DOMAIN for
appropriate languages.
(symbol_matches_domain): Renamed `ada_symbol_matches_domain'
and moved to ada-lang.c
(lookup_block_symbol): Explain that this function only returns
symbol matching the requested DOMAIN.
Compare the requested domain with the symbol's domain directly.
(iterate_over_symbols): Compare the requested domain with the
symbol's domain directly.
* symtab.h (symbol_matches_domain): Remove.
2014-04-14 Keith Seitz <keiths@redhat.com>
PR c++/16253
* gdb.cp/var-tag.cc: New file.
* gdb.cp/var-tag.exp: New file.
* gdb.dwarf2/dw2-ada-ffffffff.exp: Set the language to C++.
* gdb.dwarf2/dw2-anon-mptr.exp: Likewise.
* gdb.dwarf2/dw2-double-set-die-type.exp: Likewise.
* gdb.dwarf2/dw2-inheritance.exp: Likewise.
commit 3d567982aca11c85a7fa31f13046de3271d3afc8
Author: Tom Tromey <tromey@redhat.com>
Date: Thu Mar 27 12:24:27 2014 -0600
implement support for "enum class"
This adds support for the C++11 "enum class" feature. This is
PR c++/15246.
I chose to use the existing TYPE_DECLARED_CLASS rather than introduce
a new type code. This seemed both simple and clear to me.
I made overloading support for the new enum types strict. This is how
it works in C++; and it didn't seem like an undue burden to keep this,
particularly because enum constants are printed symbolically by gdb.
Built and regtested on x86-64 Fedora 20.
2014-04-14 Tom Tromey <tromey@redhat.com>
PR c++/15246:
* c-exp.y (type_aggregate_p): New function.
(qualified_name, classify_inner_name): Use it.
* c-typeprint.c (c_type_print_base): Handle TYPE_DECLARED_CLASS
and TYPE_TARGET_TYPE of an enum type.
* dwarf2read.c (read_enumeration_type): Set TYPE_DECLARED_CLASS on
an enum type.
(determine_prefix) <case DW_TAG_enumeration_type>: New case;
handle TYPE_DECLARED_CLASS.
* gdbtypes.c (rank_one_type): Handle TYPE_DECLARED_CLASS on enum
types.
* gdbtypes.h (TYPE_DECLARED_CLASS): Update comment.
* valops.c (enum_constant_from_type): New function.
(value_aggregate_elt): Use it.
* cp-namespace.c (cp_lookup_nested_symbol): Handle
TYPE_CODE_ENUM.
2014-04-14 Tom Tromey <tromey@redhat.com>
* gdb.cp/classes.exp (test_enums): Handle underlying type.
* gdb.dwarf2/enum-type.exp: Add test for enum with underlying
type.
* gdb.cp/enum-class.exp: New file.
* gdb.cp/enum-class.cc: New file.
commit c848d64244912f9f411bec7b1c045bf14c72b61b
Author: Tom Tromey <tromey@redhat.com>
Date: Thu Mar 27 12:16:38 2014 -0600
constify value_aggregate_elt
While working on another patch I realized that value_aggregate_elt's
"name" parameter ought to be const. This patch implements this.
2014-04-14 Tom Tromey <tromey@redhat.com>
* valops.c (value_aggregate_elt, value_struct_elt_for_reference)
(value_namespace_elt, value_maybe_namespace_elt): Make "name"
const.
* value.h (value_aggregate_elt): Update.
commit 0626fc76d1b95c1c5b158a9b0be17791aa9078f8
Author: Tom Tromey <tromey@redhat.com>
Date: Wed Mar 26 08:54:56 2014 -0600
handle DW_AT_type on an enumeration
DWARF allows an enumeration type to have a DW_AT_type. GDB doesn't
recognize this, but there is a patch to change GCC to emit it, and a
DWARF proposal to further allow an enum type with a DW_AT_type to omit
the DW_AT_byte_size. This patch changes gdb to implement this.
Built and regtested on x86-64 Fedora 20.
2014-04-14 Tom Tromey <tromey@redhat.com>
* dwarf2read.c (read_enumeration_type): Handle DW_AT_type.
2014-04-14 Tom Tromey <tromey@redhat.com>
* gdb.dwarf2/enum-type.exp: New file.
commit dca325b370730f8cfd3b63ac848569bf58d8746c
Author: Sanimir Agovic <sanimir.agovic@intel.com>
Date: Fri Nov 15 12:48:00 2013 +0000
test: add mi vla test
testsuite/ChangeLog:
* gdb.mi/mi-vla-c99.exp: New file.
* gdb.mi/vla.c: New file.
commit 5854b38a00f8f5021e6d9b075e882aafcf2e91ed
Author: Sanimir Agovic <sanimir.agovic@intel.com>
Date: Fri Nov 15 12:47:47 2013 +0000
test: basic c99 vla tests for C primitives
gdb/testsuite/ChangeLog:
* gdb.base/vla-datatypes.c: New file.
* gdb.base/vla-datatypes.exp: New file.
commit 463bb9571be732fdbd3101bd6edd104c99ea4883
Author: Sanimir Agovic <sanimir.agovic@intel.com>
Date: Fri Nov 15 12:47:44 2013 +0000
test: evaluate pointers to C99 vla correctly.
gdb/testsuite/ChangeLog:
* gdb.base/vla-ptr.c: New file.
* gdb.base/vla-ptr.exp: New file.
commit 3dd170be2528487b4c200b531d7abda38d64634f
Author: Sanimir Agovic <sanimir.agovic@intel.com>
Date: Tue Nov 26 14:47:16 2013 +0000
test: cover subranges with present DW_AT_count attribute
The dwarf attribute DW_AT_count specifies the elements of a subrange.
This test covers subranges with present count but absent upper bound
attribute, both with static and dynamic attribute values.
testsuite/ChangeLog:
* gdb.dwarf2/count.exp: New file.
commit 5ecaaa66e0d056412ca95b3ac2e385b3e470a95c
Author: Sanimir Agovic <sanimir.agovic@intel.com>
Date: Wed Feb 5 16:22:08 2014 +0000
vla: evaluate operand of sizeof if its type is a vla
The c99 standard in "6.5.3.4 The sizeof operator" states:
If the type of the operand is a variable length array type, the operand
is evaluated;[...]
This patch mirrors the following c99 semantic in gdb:
1| int vla[n][m];
2| int i = 1;
3| sizeof(vla[i++][0]); // No sideffect
4| assert (i == 1);
5| sizeof(vla[i++]); // With sideffect
6| assert (i == 2);
Note: ptype/whatis still do not allow any sideeffects.
This patch was motivated by:
https://sourceware.org/ml/gdb-patches/2014-01/msg00732.html
gdb/ChangeLog:
* eval.c (evaluate_subexp_for_sizeof): Add enum noside argument.
(evaluate_subexp_standard): Pass noside argument.
(evaluate_subexp_for_sizeof) <BINOP_SUBSCRIPT>: Handle subscript case
if noside equals EVAL_NORMAL. If the subscript yields a vla type
re-evaluate subscript operation with EVAL_NORMAL to enable sideffects.
* gdbtypes.c (resolve_dynamic_bounds): Mark bound as evaluated.
* gdbtypes.h (enum range_flags): Add RANGE_EVALUATED case.
testsuite/ChangeLog:
* gdb.base/vla-sideeffect.c: New file.
* gdb.base/vla-sideeffect.exp: New file.
commit 1612e0c0f973f3defdfb2e74b09ec93f3d819c79
Author: Sanimir Agovic <sanimir.agovic@intel.com>
Date: Tue Nov 26 14:35:43 2013 +0000
vla: resolve dynamic bounds if value contents is a constant byte-sequence
A variable location might be a constant value and therefore no inferior memory
access is needed to read the content. In this case try to resolve the type
bounds.
gdb/ChangeLog:
* findvar.c (default_read_var_value): Resolve dynamic bounds if location
points to a constant blob.
commit c451ebe5dd0c38617c74e0b6f0d5ef3188c25d56
Author: Sanimir Agovic <sanimir.agovic@intel.com>
Date: Tue Nov 19 12:54:24 2013 +0000
vla: support for DW_AT_count
This patch adds support for DW_AT_count as requested in the code review:
https://sourceware.org/ml/gdb-patches/2013-11/msg00200.html
gdb/ChangeLog:
* dwarf2read.c (read_subrange_type): Convert DW_AT_count to a dynamic
property and store it as the high bound and flag the range accordingly.
* gdbtypes.c (resolve_dynamic_bounds): If range is flagged as
RANGE_UPPER_BOUND_IS_COUNT assign low + high - 1 as the new high bound.
* gdbtypes.h (enum range_flags): New enum.
(struct range_bounds): Add flags member.
commit 1d42e4c4d85cb12ce07a5349b1b2e11dce2d077d
Author: Sanimir Agovic <sanimir.agovic@intel.com>
Date: Thu Nov 14 09:55:52 2013 +0000
vla: print "variable length" for unresolved dynamic bounds
1| void foo (size_t n) {
2| int vla[n];
3| }
Given the following expression
(gdb) ptype &vla
Gdb evaluates the expression with EVAL_AVOID_SIDE_EFFECTS and thus
does not resolve the bounds information and misinterprets the high
bound as a constant. The current output is:
type = int (*)[1289346]
this patch deals with this case and prints:
type = int (*)[variable length]
instead.
gdb/ChangeLog:
* c-typeprint.c (c_type_print_varspec_suffix): Added
check for not yet resolved high bound. If unresolved, print
"variable length" string to the console instead of random
length.
commit 9f1f738adae6b28c4f7db7e3607b4c224f1f7612
Author: Sanimir Agovic <sanimir.agovic@intel.com>
Date: Mon Oct 14 08:36:13 2013 +0100
vla: update type from newly created value
Constructing a value based on a type and address might change the type
of the newly constructed value. Thus re-fetch type via value_type to ensure
we have the correct type at hand.
gdb/ChangeLog
* ada-lang.c (ada_value_primitive_packed_val): Re-fetch type from value.
(ada_template_to_fixed_record_type_1): Likewise.
(ada_to_fixed_type_1): Likewise.
* cp-valprint.c (cp_print_value_fields_rtti): Likewise.
(cp_print_value): Likewise.
* d-valprint.c (dynamic_array_type): Likewise.
* findvar.c (address_of_variable): Likewise.
* jv-valprint.c (java_value_print): Likewise.
* valops.c (value_ind): Likewise.
* value.c (coerce_ref): Likewise.
commit 3c8452d46ac23d455c30438d0885a738e02b56e1
Author: Sanimir Agovic <sanimir.agovic@intel.com>
Date: Sat Oct 12 12:36:16 2013 +0100
vla: enable sizeof operator for indirection
This patch enables the sizeof operator for indirections:
1| void foo (size_t n) {
2| int vla[n];
3| int *vla_ptr = &vla;
4| }
(gdb) p sizeof(*vla_ptr)
yields sizeof (size_t) * n.
gdb/ChangeLog:
* eval.c (evaluate_subexp_for_sizeof) <UNOP_IND>: Create an indirect
value and retrieve the dynamic type size.
commit 4ad88275f81a586e32e86351cc415a97d58ef448
Author: Sanimir Agovic <sanimir.agovic@intel.com>
Date: Wed Oct 9 15:28:22 2013 +0100
vla: enable sizeof operator to work with variable length arrays
In C99 the sizeof operator computes the size of a variable length array
at runtime (6.5.3.4 The sizeof operator). This patch reflects the semantic
change in the debugger.
We now are able to get the size of a vla:
1| void foo (size_t n) {
2| int vla[n];
3| }
(gdb) p sizeof(vla)
yields N * sizeof(int).
gdb/ChangeLog:
* eval.c (evaluate_subexp_for_sizeof) <OP_VAR_VALUE>: If the type
passed to sizeof is dynamic evaluate the argument to compute the length.
commit 80180f796d366d230822c07a15aa68971abf9d77
Author: Sanimir Agovic <sanimir.agovic@intel.com>
Date: Wed Oct 9 15:28:22 2013 +0100
type: add c99 variable length array support
The dwarf standard allow certain attributes to be expressed as dwarf
expressions rather than constants. For instance upper-/lowerbound attributes.
In case of a c99 variable length array the upperbound is a dynamic attribute.
With this change c99 vla behave the same as with static arrays.
1| void foo (size_t n) {
2| int ary[n];
3| memset(ary, 0, sizeof(ary));
4| }
(gdb) print ary
$1 = {0 <repeats 42 times>}
gdb/ChangeLog:
* dwarf2loc.c (dwarf2_locexpr_baton_eval): New function.
(dwarf2_evaluate_property): New function.
* dwarf2loc.h (dwarf2_evaluate_property): New function prototype.
* dwarf2read.c (attr_to_dynamic_prop): New function.
(read_subrange_type): Use attr_to_dynamic_prop to read high bound
attribute.
* gdbtypes.c: Include dwarf2loc.h.
(is_dynamic_type): New function.
(resolve_dynamic_type): New function.
(resolve_dynamic_bounds): New function.
(get_type_length): New function.
(check_typedef): Use get_type_length to compute type length.
* gdbtypes.h (TYPE_HIGH_BOUND_KIND): New macro.
(TYPE_LOW_BOUND_KIND): New macro.
(is_dynamic_type): New function prototype.
* value.c (value_from_contents_and_address): Call resolve_dynamic_type
to resolve dynamic properties of the type. Update comment.
* valops.c (get_value_at, value_at, value_at_lazy): Update comment.
commit 41f1ada5d2d4cff7a235644661ec30de156fd038
Author: David Blaikie <dblaikie@gmail.com>
Date: Fri Apr 11 17:20:49 2014 -0700
Add return value for non-void function return statements to fix error in clang build.
Clang defaults this warning to an error, breaking the build & causing
these tests not to run.
gdb/testsuite/
* gdb.mi/non-stop.c: Add return value for non-void function return
statement.
* gdb.threads/staticthreads.c: Ditto.
commit a155684382884a471075e02b265b4dfbdbc79332
Author: Richard Henderson <rth@twiddle.net>
Date: Mon Apr 14 08:30:56 2014 -0700
Fix typo in _initialize_alpha_linux_nat prototype
* alpha-linux-nat.c (_initialize_alpha_linux_nat): Fix prototype.
commit da3a208854095a3e11d592aed2efdabe7c73ae11
Author: Alan Modra <amodra@gmail.com>
Date: Mon Apr 14 11:48:06 2014 +0930
ppc476 plt call stubs
Fuss over bctr in call stubs.
* elf32-ppc.c (BA): Define
(ppc_elf_link_hash_table_create): Correct default_params.
(write_glink_stub): Pad small plt call stub with "ba 0" rather
than "nop" for ppc476_workaround.
(ppc_elf_finish_dynamic_sections): Likewise for branch table
and __glink_PLTresolve. Ensure plt call stub at end of page
doesn't allow fall-thru prefetch.
commit f87121158599eb6f6463092ecad0a988d3e3cd75
Author: Alan Modra <amodra@gmail.com>
Date: Mon Apr 14 09:30:41 2014 +0930
daily update
commit 3c4630ee7e281aadf6ff24cb3b94919a84ab5f31
Author: Alan Modra <amodra@gmail.com>
Date: Sun Apr 13 09:30:41 2014 +0930
daily update
commit 0be03e84176ab0077462b84ef236c56a7a0376fd
Author: Doug Evans <xdje42@gmail.com>
Date: Sat Apr 12 09:09:41 2014 -0700
Copy over fix for fetching dynamic type of a reference from python side.
* guile/scm-value.c (gdbscm_value_dynamic_type): Use coerce_ref to
dereference TYPE_CODE_REF values.
testsuite/
* gdb.guile/scm-value.c: Improve test case.
* gdb.guile/scm-value.exp: Add new test.
commit f180a1fb463a6a9ab4a883374120d16770486914
Author: David Blaikie <dblaikie@gmail.com>
Date: Fri Apr 11 12:45:37 2014 -0700
Compile inline test with -std=gnu89 explicitly to override Clang's default (-std=c99)
gdb/testsuite/
* gdb.opt/inline-break.exp: Explicitly specify -std=gnu89 to
override Clang's default.
commit d616f26a0480204b401470af5759ea2c60775644
Author: Alan Modra <amodra@gmail.com>
Date: Sat Apr 12 09:30:56 2014 +0930
daily update
commit 191a8a90463a21431432b36bd33ac2197ea6e3af
Author: Joel Brobecker <brobecker@adacore.com>
Date: Fri Apr 11 15:28:08 2014 -0700
gdb/testsuite/ChangeLog: Fix path to a few files in previous entries.
commit 6b662e19e420d2ef28f14b985390977080bcd341
Author: Joel Brobecker <brobecker@adacore.com>
Date: Fri Apr 11 14:47:15 2014 -0700
Revert the entire VLA series.
This reverts the following patch series, as they cause some regresssions.
commit 37c1ab67a35025d37d42c449deab5f254f9f59da
type: add c99 variable length array support
gdb/
* dwarf2loc.c (dwarf2_locexpr_baton_eval): New function.
(dwarf2_evaluate_property): New function.
* dwarf2loc.h (dwarf2_evaluate_property): New function prototype.
* dwarf2read.c (attr_to_dynamic_prop): New function.
(read_subrange_type): Use attr_to_dynamic_prop to read high bound
attribute.
* gdbtypes.c: Include dwarf2loc.h.
(is_dynamic_type): New function.
(resolve_dynamic_type): New function.
(resolve_dynamic_bounds): New function.
(get_type_length): New function.
(check_typedef): Use get_type_length to compute type length.
* gdbtypes.h (TYPE_HIGH_BOUND_KIND): New macro.
(TYPE_LOW_BOUND_KIND): New macro.
(is_dynamic_type): New function prototype.
* value.c (value_from_contents_and_address): Call resolve_dynamic_type
to resolve dynamic properties of the type. Update comment.
* valops.c (get_value_at, value_at, value_at_lazy): Update comment.
commit 26cb189f8b46dbe7b2d485525329a8919005ca8a
vla: enable sizeof operator to work with variable length arrays
gdb/
* eval.c (evaluate_subexp_for_sizeof) <OP_VAR_VALUE>: If the type
passed to sizeof is dynamic evaluate the argument to compute the length.
commit 04b19544ef6a97b62b2cc4a3170b900e046ab185
vla: enable sizeof operator for indirection
gdb/
* eval.c (evaluate_subexp_for_sizeof) <UNOP_IND>: Create an indirect
value and retrieve the dynamic type size.
commit bcd629a44fff61527430f353cf77e20fe3afc395
vla: update type from newly created value
gdb/
* ada-lang.c (ada_value_primitive_packed_val): Re-fetch type from value.
(ada_template_to_fixed_record_type_1): Likewise.
(ada_to_fixed_type_1): Likewise.
* cp-valprint.c (cp_print_value_fields_rtti): Likewise.
(cp_print_value): Likewise.
* d-valprint.c (dynamic_array_type): Likewise.
* eval.c (evaluate_subexp_with_coercion): Likewise.
* findvar.c (address_of_variable): Likewise.
* jv-valprint.c (java_value_print): Likewise.
* valops.c (value_ind): Likewise.
* value.c (coerce_ref): Likewise.
commit b86138fb0484f42db6cb83abed1e3d0ad2ec4eac
vla: print "variable length" for unresolved dynamic bounds
gdb/
* c-typeprint.c (c_type_print_varspec_suffix): Added
check for not yet resolved high bound. If unresolved, print
"variable length" string to the console instead of random
length.
commit e1969afbd454c09c3aad1990305715f70bc47c3c
vla: support for DW_AT_count
gdb/
* dwarf2read.c (read_subrange_type): Convert DW_AT_count to a dynamic
property and store it as the high bound and flag the range accordingly.
* gdbtypes.c (resolve_dynamic_bounds): If range is flagged as
RANGE_UPPER_BOUND_IS_COUNT assign low + high - 1 as the new high bound.
* gdbtypes.h (enum range_flags): New enum.
(struct range_bounds): Add flags member.
commit 92b09522dc5a93ba4bda3c1c0b3c58264e357c8a
vla: resolve dynamic bounds if value contents is a constant byte-sequence
gdb/
* findvar.c (default_read_var_value): Resolve dynamic bounds if location
points to a constant blob.
commit 3bce82377f683870cc89925ff43aefb7dcce4a77
vla: evaluate operand of sizeof if its type is a vla
gdb/
* eval.c (evaluate_subexp_for_sizeof): Add enum noside argument.
(evaluate_subexp_standard): Pass noside argument.
(evaluate_subexp_for_sizeof) <BINOP_SUBSCRIPT>: Handle subscript case
if noside equals EVAL_NORMAL. If the subscript yields a vla type
re-evaluate subscript operation with EVAL_NORMAL to enable sideffects.
* gdbtypes.c (resolve_dynamic_bounds): Mark bound as evaluated.
* gdbtypes.h (enum range_flags): Add RANGE_EVALUATED case.
gdb/testsuite
* gdb.base/vla-sideeffect.c: New file.
* gdb.base/vla-sideeffect.exp: New file.
commit 504f34326e5ae7c78ebfcdd6ed03c7403b42048b
test: cover subranges with present DW_AT_count attribute
gdb/testsuite/
* gdb.dwarf2/count.exp: New file.
commit 1a237e0ee53bbdee97d72d794b5b42e774cc81c0
test: multi-dimensional c99 vla.
gdb/testsuite/
* gdb.base/vla-multi.c: New file.
* gdb.base/vla-multi.exp: New file.
commit 024e13b46f9c33d151ae82fd9d64c53092fd9313
test: evaluate pointers to C99 vla correctly.
gdb/testsuite/
* gdb.base/vla-ptr.c: New file.
* gdb.base/vla-ptr.exp: New file.
commit c8655f75e2f0fada311be193e3090087a77ec802
test: basic c99 vla tests for C primitives
gdb/testsuite/
* gdb.base/vla-datatypes.c: New file.
* gdb.base/vla-datatypes.exp: New file.
commit 58a84dcf29b735ee776536b4c51ba90b51612b71
test: add mi vla test
gdb/testsuite/
* gdb.mi/mi-vla-c99.exp: New file.
* gdb.mi/vla.c: New file.
commit 245a5f0b7429b03566eb3f57a92544218f33393c
Author: Keith Seitz <keiths@redhat.com>
Date: Fri Apr 11 14:17:17 2014 -0700
Fix c++/16675 -- sizeof reference type should give the size of
the referent, not the size of the actual reference variable.
commit 32ae0d80cd430150ad9536aa160f34f504e129bc
Author: Nick Clifton <nickc@redhat.com>
Date: Fri Apr 11 16:02:52 2014 +0100
PE32+ binaries that use addresses > 1^32 have a problem in that the linker
converts some address expressions into absolute values, but the PE format
only stores absolutes as 32-bits. This is a partial solution which attempts
to convert such absolute values back to section relative ones instead. It
fails for symbols like __image_base and ImageBase__, but it is unclear as to
whether these values are ever actually used by applications.
PR ld/16821
* peXXigen.c (abs_finder): New function.
(_bfd_XXi_swap_sym_out): For absolute symbols with values larger
than 1^32 try to convert them into section relative values
instead.
commit 58a84dcf29b735ee776536b4c51ba90b51612b71
Author: Sanimir Agovic <sanimir.agovic@intel.com>
Date: Fri Nov 15 12:48:00 2013 +0000
test: add mi vla test
testsuite/gdb.mi/
* mi-vla-c99.exp: New file.
* vla.c: New file.
commit c8655f75e2f0fada311be193e3090087a77ec802
Author: Sanimir Agovic <sanimir.agovic@intel.com>
Date: Fri Nov 15 12:47:47 2013 +0000
test: basic c99 vla tests for C primitives
gdb/testsuite:
* gdb.base/vla-datatypes.c: New file.
* gdb.base/vla-datatypes.exp: New file.
commit 024e13b46f9c33d151ae82fd9d64c53092fd9313
Author: Sanimir Agovic <sanimir.agovic@intel.com>
Date: Fri Nov 15 12:47:44 2013 +0000
test: evaluate pointers to C99 vla correctly.
gdb/testsuite:
* gdb.base/vla-ptr.c: New file.
* gdb.base/vla-ptr.exp: New file.
commit 1a237e0ee53bbdee97d72d794b5b42e774cc81c0
Author: Sanimir Agovic <sanimir.agovic@intel.com>
Date: Fri Nov 15 12:47:32 2013 +0000
test: multi-dimensional c99 vla.
gdb/testsuite:
* gdb.base/vla-multi.c: New file.
* gdb.base/vla-multi.exp: New file.
commit 504f34326e5ae7c78ebfcdd6ed03c7403b42048b
Author: Sanimir Agovic <sanimir.agovic@intel.com>
Date: Tue Nov 26 14:47:16 2013 +0000
test: cover subranges with present DW_AT_count attribute
The dwarf attribute DW_AT_count specifies the elements of a subrange.
This test covers subranges with present count but absent upper bound
attribute, both with static and dynamic attribute values.
testsuite:
* gdb.dwarf2/count.exp: New file.
commit 3bce82377f683870cc89925ff43aefb7dcce4a77
Author: Sanimir Agovic <sanimir.agovic@intel.com>
Date: Wed Feb 5 16:22:08 2014 +0000
vla: evaluate operand of sizeof if its type is a vla
The c99 standard in "6.5.3.4 The sizeof operator" states:
If the type of the operand is a variable length array type, the operand
is evaluated;[...]
This patch mirrors the following c99 semantic in gdb:
1| int vla[n][m];
2| int i = 1;
3| sizeof(vla[i++][0]); // No sideffect
4| assert (i == 1);
5| sizeof(vla[i++]); // With sideffect
6| assert (i == 2);
Note: ptype/whatsis still do not allow any sideeffects.
This patch was motivated by:
https://sourceware.org/ml/gdb-patches/2014-01/msg00732.html
* eval.c (evaluate_subexp_for_sizeof): Add enum noside argument.
(evaluate_subexp_standard): Pass noside argument.
(evaluate_subexp_for_sizeof) <BINOP_SUBSCRIPT>: Handle subscript case
if noside equals EVAL_NORMAL. If the subscript yields a vla type
re-evaluate subscript operation with EVAL_NORMAL to enable sideffects.
* gdbtypes.c (resolve_dynamic_bounds): Mark bound as evaluated.
* gdbtypes.h (enum range_flags): Add RANGE_EVALUATED case.
testsuite/gdb.base/
* vla-sideeffect.c: New file.
* vla-sideeffect.exp: New file.
commit 92b09522dc5a93ba4bda3c1c0b3c58264e357c8a
Author: Sanimir Agovic <sanimir.agovic@intel.com>
Date: Tue Nov 26 14:35:43 2013 +0000
vla: resolve dynamic bounds if value contents is a constant byte-sequence
A variable location might be a constant value and therefore no inferior memory
access is needed to read the content. In this case try to resolve the type
bounds.
* findvar.c (default_read_var_value): Resolve dynamic bounds if location
points to a constant blob.
commit e1969afbd454c09c3aad1990305715f70bc47c3c
Author: Sanimir Agovic <sanimir.agovic@intel.com>
Date: Tue Nov 19 12:54:24 2013 +0000
vla: support for DW_AT_count
This patch adds support for DW_AT_count as requested in the code review:
https://sourceware.org/ml/gdb-patches/2013-11/msg00200.html
* dwarf2read.c (read_subrange_type): Convert DW_AT_count to a dynamic
property and store it as the high bound and flag the range accordingly.
* gdbtypes.c (resolve_dynamic_bounds): If range is flagged as
RANGE_UPPER_BOUND_IS_COUNT assign low + high - 1 as the new high bound.
* gdbtypes.h (enum range_flags): New enum.
(struct range_bounds): Add flags member.
commit b86138fb0484f42db6cb83abed1e3d0ad2ec4eac
Author: Sanimir Agovic <sanimir.agovic@intel.com>
Date: Thu Nov 14 09:55:52 2013 +0000
vla: print "variable length" for unresolved dynamic bounds
1| void foo (size_t n) {
2| int vla[n];
3| }
Given the following expression
(gdb) ptype &vla
Gdb evaluates the expression with EVAL_AVOID_SIDE_EFFECTS and thus
does not resolve the bounds information and misinterprets the high
bound as a constant. The current output is:
type = int (*)[1289346]
this patch deals with this case and prints:
type = int (*)[variable length]
instead.
* c-typeprint.c (c_type_print_varspec_suffix): Added
check for not yet resolved high bound. If unresolved, print
"variable length" string to the console instead of random
length.
commit bcd629a44fff61527430f353cf77e20fe3afc395
Author: Sanimir Agovic <sanimir.agovic@intel.com>
Date: Mon Oct 14 08:36:13 2013 +0100
vla: update type from newly created value
Constructing a value based on a type and address might change the type
of the newly constructed value. Thus re-fetch type via value_type to ensure
we have the correct type at hand.
* ada-lang.c (ada_value_primitive_packed_val): Re-fetch type from value.
(ada_template_to_fixed_record_type_1): Likewise.
(ada_to_fixed_type_1): Likewise.
* cp-valprint.c (cp_print_value_fields_rtti): Likewise.
(cp_print_value): Likewise.
* d-valprint.c (dynamic_array_type): Likewise.
* eval.c (evaluate_subexp_with_coercion): Likewise.
* findvar.c (address_of_variable): Likewise.
* jv-valprint.c (java_value_print): Likewise.
* valops.c (value_ind): Likewise.
* value.c (coerce_ref): Likewise.
commit 04b19544ef6a97b62b2cc4a3170b900e046ab185
Author: Sanimir Agovic <sanimir.agovic@intel.com>
Date: Sat Oct 12 12:36:16 2013 +0100
vla: enable sizeof operator for indirection
This patch enables the sizeof operator for indirections:
1| void foo (size_t n) {
2| int vla[n];
3| int *vla_ptr = &vla;
4| }
(gdb) p sizeof(*vla_ptr)
yields sizeof (size_t) * n.
* eval.c (evaluate_subexp_for_sizeof) <UNOP_IND>: Create an indirect
value and retrieve the dynamic type size.
commit 26cb189f8b46dbe7b2d485525329a8919005ca8a
Author: Sanimir Agovic <sanimir.agovic@intel.com>
Date: Wed Oct 9 15:28:22 2013 +0100
vla: enable sizeof operator to work with variable length arrays
In C99 the sizeof operator computes the size of a variable length array
at runtime (6.5.3.4 The sizeof operator). This patch reflects the semantic
change in the debugger.
We now are able to get the size of a vla:
1| void foo (size_t n) {
2| int vla[n];
3| }
(gdb) p sizeof(vla)
yields N * sizeof(int).
* eval.c (evaluate_subexp_for_sizeof) <OP_VAR_VALUE>: If the type
passed to sizeof is dynamic evaluate the argument to compute the length.
commit 37c1ab67a35025d37d42c449deab5f254f9f59da
Author: Sanimir Agovic <sanimir.agovic@intel.com>
Date: Wed Oct 9 15:28:22 2013 +0100
type: add c99 variable length array support
The dwarf standard allow certain attributes to be expressed as dwarf
expressions rather than constants. For instance upper-/lowerbound attributes.
In case of a c99 variable length array the upperbound is a dynamic attribute.
With this change c99 vla behave the same as with static arrays.
1| void foo (size_t n) {
2| int ary[n];
3| memset(ary, 0, sizeof(ary));
4| }
(gdb) print ary
$1 = {0 <repeats 42 times>}
* dwarf2loc.c (dwarf2_locexpr_baton_eval): New function.
(dwarf2_evaluate_property): New function.
* dwarf2loc.h (dwarf2_evaluate_property): New function prototype.
* dwarf2read.c (attr_to_dynamic_prop): New function.
(read_subrange_type): Use attr_to_dynamic_prop to read high bound
attribute.
* gdbtypes.c: Include dwarf2loc.h.
(is_dynamic_type): New function.
(resolve_dynamic_type): New function.
(resolve_dynamic_bounds): New function.
(get_type_length): New function.
(check_typedef): Use get_type_length to compute type length.
* gdbtypes.h (TYPE_HIGH_BOUND_KIND): New macro.
(TYPE_LOW_BOUND_KIND): New macro.
(is_dynamic_type): New function prototype.
* value.c (value_from_contents_and_address): Call resolve_dynamic_type
to resolve dynamic properties of the type. Update comment.
* valops.c (get_value_at, value_at, value_at_lazy): Update comment.
commit 729efb13174d6522fba4aa7ab273e7f25a253c47
Author: Sanimir Agovic <sanimir.agovic@intel.com>
Date: Tue Oct 8 15:04:49 2013 +0100
vla: introduce new bound type abstraction adapt uses
The rational behind this patch is to get started to implement the feature
described in dwarf4 standard (2.19) Static and Dynamic Values of Attributes.
It adds new BOUND_PROP to store either a constant, exprloc, or reference to
describe an upper-/lower bound of a subrange. Other than that no new features
are introduced.
* dwarf2read.c (read_subrange_type): Use struct bound_prop for
declaring high/low bounds and change uses accordingly. Call
create_range_type instead of create_static_range_type.
* gdbtypes.c (create_range_type): New function.
(create_range_type): Convert bounds into struct bound_prop and pass
them to create_range_type.
* gdbtypes.h (struct bound_prop): New struct.
(create_range_type): New function prototype.
(struct range_bounds): Use struct bound_prop instead of LONGEST for
high/low bounds. Remove low_undefined/high_undefined and adapt all uses.
(TYPE_LOW_BOUND,TYPE_HIGH_BOUND): Adapt macros to refer to the static
part of the bound.
* parse.c (follow_types): Set high bound kind to BOUND_UNDEFINED.
commit 0c9c3474029f5250b428274eaf63f7a349c6fc5f
Author: Sanimir Agovic <sanimir.agovic@intel.com>
Date: Thu Dec 19 08:31:17 2013 +0000
refactoring: rename create_range_type to create_static_range_type
* gdbtypes.c (create_static_range_type): Renamed from create_range_type.
* gdbtypes.h (create_static_range_type): Renamed from create_range_type.
* ada-lang.c: All uses of create_range_type updated.
* coffread.c: All uses of create_range_type updated.
* dwarf2read.c: All uses of create_range_type updated.
* f-exp.y: All uses of create_range_type updated.
* m2-valprint.c: All uses of create_range_type updated.
* mdebugread.c: All uses of create_range_type updated.
* stabsread.c: All uses of create_range_type updated.
* valops.c: All uses of create_range_type updated.
* valprint.c: All uses of create_range_type updated.
commit 85cf705b9d4c2082e5c4a41126bf773ff435d3d2
Author: Nick Clifton <nickc@redhat.com>
Date: Fri Apr 11 12:39:03 2014 +0100
Regenerate header files after this commit:
2014-04-10 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
* reloc.c: Add BFD_RELOC_AVR_DIFF8/16/32 relocations
commit 322f9c2100806387b8ace4df7a2b940b03b3d703
Author: Yao Qi <yao@codesourcery.com>
Date: Wed Apr 2 12:44:22 2014 +0800
Check file exists before completion tests
Doug told me that there are some regressions in gdb.base/completion.exp.
They are caused by my recent change, and can be reproduced via:
$ make check-parallel TESTS=gdb.base/completion.exp
FAIL: gdb.base/completion.exp: complete target core ./gdb.base/completion
FAIL: gdb.base/completion.exp: complete target tfile ./gdb.base/completion
FAIL: gdb.base/completion.exp: complete target exec ./gdb.base/completion
Current tests assume that gdb.base/completion exists but that is wrong
in a parallel run, because binary file and object files are placed
in outputs/gdb.base/completion/.
This patch is to check file exists on two candidate directories,
"gdb.base" and "outputs/gdb.base/completion/", and run tests with files
existed in either of them.
gdb/testsuite:
2014-04-11 Yao Qi <yao@codesourcery.com>
* gdb.base/completion.exp: Check file exists before running tests
on file completion.
commit 1511baeca965fcf4cf36379c6b3f8a0b85263544
Author: Sandra Loosemore <sandra@codesourcery.com>
Date: Thu Apr 10 17:14:18 2014 -0700
Ignore non-stub sections for nios2 stub_bfd processing.
2014-04-10 Cesar Philippidis <cesar@codesourcery.com>
bfd/
* elf32-nios2.c (nios2_elf32_build_stubs): Ignore dynobjs
when building function stubs.
commit 0a1478f501e2470165d469618ddd069e2c7e4f27
Author: Alan Modra <amodra@gmail.com>
Date: Fri Apr 11 09:30:57 2014 +0930
daily update
commit d708bcd102465e520c56e8be3ca4c9097dd389cc
Author: Pedro Alves <palves@redhat.com>
Date: Thu Apr 10 19:22:23 2014 +0100
Conditional Z1 breakpoint hangs GDBserver.
While trying to fix hbreak2.exp against GDBserver I noticed this...
(gdb) hbreak main if 1
Sending packet: $m400580,40#2e...Packet received: e8d2ffffff5dc3554889e54883ec10c745fc00000000eb0eb800000000e8c1ffffff8345fc01817dfce70300007ee9b800000000c9c3662e0f1f840000000000
Sending packet: $m40058f,1#31...Packet received: c7
Hardware assisted breakpoint 1 at 0x40058f: file ../../../src/gdb/testsuite/gdb.base/break-idempotent.c, line 46.
Sending packet: $Z1,40058f,1;X3,220127#9b...
*hangs forever*
The issue is that nothing advances the packet pointer if
add_breakpoint_condition either fails to parse the agent expression,
or fails to find the breakpoint, resulting in an infinite loop in
process_point_options. The latter case should really be fixed by
GDBserver tracking GDB Z1 breakpoints in its breakpoint structures
like Z0 breakpoints are, but the latter case still needs handling.
add_breakpoint_commands has the same issue, though at present I don't
know any way to trigger it other than sending a manually cooked
packet.
Unbelievably, it doesn't look like we have any test that tries setting
a conditional hardware breakpoint. Looking at cond-eval-mode.exp, it
looks like the file was meant to actually test something, but it's
mostly empty today. This patch adds tests that tries all sorts of
conditional breakpoints and watchpoints. The test hangs/fails without
the GDBserver fix.
Tested on x86_64 Fedora 17.
gdb/gdbserver/
2014-04-10 Pedro Alves <palves@redhat.com>
* mem-break.c (add_breakpoint_condition, add_breakpoint_commands):
Check if the condition or command is NULL before checking if the
breakpoint is known. On success, return true.
* mem-break.h (add_breakpoint_condition): Document return.
(add_breakpoint_commands): Add describing comment.
* server.c (skip_to_semicolon): New function.
(process_point_options): Use it.
gdb/testsuite/
2014-04-10 Pedro Alves <palves@redhat.com>
* gdb.base/cond-eval-mode.c: New file.
* gdb.base/cond-eval-mode.exp: Use standard_testfile. Adjust
prepare_for_testing to build the new file. Check result of
runto_main.
(test_break, test_watch): New procedures.
(top level): Use them.
commit e4ef1b6c3fee295ab41138bf77a82dff16f1d7c3
Author: Denis Chertykov <chertykov@gmail.com>
Date: Thu Apr 10 19:50:33 2014 +0400
bfd/ChangeLog
* elf32-avr.c: Add DIFF relocations for AVR.
(avr_final_link_relocate): Handle the DIFF relocs.
(bfd_elf_avr_diff_reloc): New.
(elf32_avr_is_diff_reloc): New.
(elf32_avr_adjust_diff_reloc_value): Reduce difference value.
(elf32_avr_relax_delete_bytes): Recompute difference after deleting
bytes.
* reloc.c: Add BFD_RELOC_AVR_DIFF8/16/32 relocations
gas/ChangeLog
* config/tc-avr.c: Add new flag mlink-relax.
(md_show_usage): Add flag and help text.
(md_parse_option): Record whether link relax is turned on.
(relaxable_section): New.
(avr_validate_fix_sub): New.
(avr_force_relocation): New.
(md_apply_fix): Generate DIFF reloc.
(avr_allow_local_subtract): New.
* config/tc-avr.h (TC_LINKRELAX_FIXUP): Define to 0.
(TC_FORCE_RELOCATION): Define.
(TC_FORCE_RELOCATION_SUB_SAME): Define.
(TC_VALIDATE_FIX_SUB): Define.
(avr_force_relocation): Declare.
(avr_validate_fix_sub): Declare.
(md_allow_local_subtract): Define.
(avr_allow_local_subtract): Declare.
gas/testsuite/ChangeLog
* gas/avr/diffreloc_withrelax.d: New testcase.
* gas/avr/noreloc_withoutrelax.d: Likewise.
* gas/avr/relax.s: Likewise.
include/ChangeLog
* elf/avr.h: Add new DIFF relocs.
ld/testsuite/ChangeLog
* ld-avr/norelax_diff.d: New testcase.
* ld-avr/relax_diff.d: Likewise.
* ld-avr/relax.s: Likewise.
commit 9d497a19eabe25b3af1cdd50a957592ed22658e5
Author: Pedro Alves <palves@redhat.com>
Date: Thu Apr 10 14:19:52 2014 +0100
breakpoint shadowing, take single-step breakpoints into account.
Breakpoints are supposed to be transparent to memory accesses. For
all kinds of breakpoints breakpoint_xfer_memory hides the breakpoint
instructions. However, sss breakpoints aren't tracked like all other
breakpoints, and nothing is taking care of hiding them from memory
reads.
Say, as is, a background step + disassemble will see breakpoints
instructions on software step targets. E.g., stepping over this line:
while (1);
with s&
and then "disassemble" would show sss breakpoints.
Actually, that's still not be possible to see today, because:
- in native Linux, you can't read memory while the program
is running.
- with Linux gdbserver, you can, but in the all-stop RSP you
can't talk to the server while the program is running...
- and with non-stop, on software step targets, we presently
force the use of displaced-stepping for all single-steps,
so no single-step breakpoints are used...
I've been working towards making non-stop not force displaced stepping
on sss targets, and I noticed the issue then. With that, I indeed see
this:
(gdb) set remote Z-packet off
(gdb) s&
(gdb) disassemble main
Dump of assembler code for function main:
0x000000000040049c <+0>: push %rbp
0x000000000040049d <+1>: mov %rsp,%rbp
0x00000000004004a0 <+4>: int3
0x00000000004004a1 <+5>: (bad)
End of assembler dump.
Instead of the correct:
(gdb) disassemble main
Dump of assembler code for function main:
0x000000000040049c <+0>: push %rbp
0x000000000040049d <+1>: mov %rsp,%rbp
0x00000000004004a0 <+4>: jmp 0x4004a0 <main+4>
This is actually one thing that my v1 of the recent "fix a bunch of
run control bugs" series was fixing, because it made sss breakpoints
be regular breakpoints in the breakpoint chain. But dropped it in the
version that landed in the tree, due to some problems.
So instead of making sss breakpoints regular breakpoints, go with a
simpler fix (at least for now) -- make breakpoint_xfer_memory take
software single-step breakpoints into account. After the patch, I get
the correct disassemble output.
Tested on x86_64 Fedora 17, and also on top of my "use software
single-step on x86" series.
Also fixes the issue pointed out by Yao at
https://sourceware.org/ml/gdb-patches/2014-04/msg00045.html, where the
prologue analysis/frame sniffing manages to see software step
breakpoint instructions.
gdb/
2014-04-10 Pedro Alves <palves@redhat.com>
* breakpoint.c (single_step_breakpoints)
(single_step_gdbarch): Move up in the file.
(one_breakpoint_xfer_memory): New function, factored out from ...
(breakpoint_xfer_memory): ... here. Also process single-step
breakpoints.
commit bbaa46c0f3f297bf776d9a171a7442e8a6f7a024
Author: Andrew Bennett <andrew.bennett@imgtec.com>
Date: Tue Apr 8 14:50:42 2014 +0100
Add support for the MIPS P5600 family of CPUs.
ChangeLog:
2014-04-10 Andrew Bennett <andrew.bennett@imgtec.com>
* config/tc-mips.c (mips_cpu_info_table): Add P5600
configuation.
* doc/c-mips.texi: Document p5600.
commit 7af20180c0c537c78aabf4cfa0e9ab2880a52877
Author: Alan Modra <amodra@gmail.com>
Date: Thu Apr 10 09:30:52 2014 +0930
daily update
commit edf84efc4eae005d0e543e13cc51a751296e6aad
Author: Nick Clifton <nickc@redhat.com>
Date: Wed Apr 9 17:12:30 2014 +0100
Remove remaining default manifest support.
* Makefile.am (default-manifest.o): Remove rule.
(EMUL_EXTRA_BINARIES): Delete.
(ALL_EMUL_EXTRA_BINARIES): Delete.
(ld_new_DEPENDENCIES): Remove EMUL_EXTRA_BINARIES.
(install-data-local): Remove EMUL_EXTRA_BINARIES.
* Makefile.in: Regenerate.
* configure.in (all_emul_extra_binaries): Delete.
(EMUL_EXTRA_BINARIES): Remove.
* configure: Regenerate.
* configure.tgt (target_extra_binaries): Delete.
* emultempl/default-manifest.rc: Delete.
* ld.texinfo: Remove discussion of default manifest.
* emulparams/i386pe.sh (DEFAULT_MANIFEST): Delete.
* emulparams/i386pep.sh (DEFAULT_MANIFEST): Delete.
commit 2eec7d5ba1928301955f4da013072c3e2f69f4a0
Author: Pedro Alves <palves@redhat.com>
Date: Wed Apr 9 15:01:33 2014 +0100
[GDBserver] Fix SH/Linux build.
sh-linux-gnu-gcc (...) src/gdb/gdbserver/linux-low.c
.../src/gdb/gdbserver/linux-low.c: In function 'linux_read_loadmap':
.../src/gdb/gdbserver/linux-low.c:5284:13: error: 'struct lwp_info' has no member named 'entry'
make[1]: *** [linux-low.o] Error 1
gdb/gdbserver/
2014-04-09 Pedro Alves <palves@redhat.com>
* linux-low.c (linux_read_loadmap): Pass current_inferior directly
to lwpid_of.
commit 00c06fdc57ab89d14789b5207763410a79c39a11
Author: Nick Clifton <nickc@redhat.com>
Date: Wed Apr 9 14:05:58 2014 +0100
Fix a few more targets affected by the change to the TC_CONS_FIX_NEW macro.
* config/tc-rl78.h (TC_CONS_FIX_NEW): Add RELOC parameter.
* config/tc-z80.h (TC_CONS_FIX_NEW): Discard RELOC parameter.
* config/tc-aarch64.h (TC_CONS_FIX_NEW): Discard RELOC parameter.
* read.c (emit_expr_fix): Mark the r parameter as potentially
unused.
commit 15a9128a964499b78bd70ef3d2dc73edce56d825
Author: Tristan Gingold <tristan.gingold@adacore.com>
Date: Wed Apr 9 10:23:19 2014 +0200
darwin: fix thinko (free thread port after threads are discovered).
Due to a thinko, a message could be not understood and ignored. The result
was a dead-lock (gdb is waiting for an event that never happen). The port
of the thread was deallocated before new threads are discovered. As a
consequence, the origin of the message was unknown (instead of being
linked to the newly created thread).
gdb/
* darwin-nat.c (darwin_check_new_threads): Fix port leak, add
comments.
(darwin_decode_exception_message): Free port only after use.
commit 19e1c431f72007f8a7a6a8e8b2511c74f3e8a000
Author: Alan Modra <amodra@gmail.com>
Date: Wed Apr 9 13:23:41 2014 +0930
Add a time-stamp for chew
One last time-stamp. Now none of the doc rules using move-if-change
will run unnecessarily.
* Makefile.am ($(MKDOC)): New rule, depend on chew.stamp. Move
old rule to..
(chew.stamp): ..here.
(DISTCLEANFILES): Move *.stamp..
(MOSTLYCLEANFILES): ..to here.
* Makefile.in: Regenerate.
commit bf7279d5358c47b90b89c4b6b5f8be9960120be2
Author: Alan Modra <amodra@gmail.com>
Date: Wed Apr 9 07:03:53 2014 +0930
ppc476 gas warn on data in code sections
* config/tc-ppc.c (warn_476, last_insn, last_seg, last_subseg):
New static vars.
(md_longopts, md_parse_option, md_show_usage): Add --ppc476-workaround.
(ppc_elf_cons_fix_check): New function.
(md_assemble): Set last_insn, last_seg, last_subseg.
(ppc_byte, md_apply_fix): Handle warn_476.
* config/tc-ppc.h (TC_CONS_FIX_CHECK): Define.
(ppc_elf_cons_fix_check): Declare.
* read.c (cons_worker): Invoke TC_CONS_FIX_CHECK.
commit 62ebcb5cbedf0fdc0b5faaa05e46aa43ced2aa68
Author: Alan Modra <amodra@gmail.com>
Date: Tue Apr 8 14:38:22 2014 +0930
gas TC_PARSE_CONS_EXPRESSION communication with TC_CONS_FIX_NEW
A number of targets pass extra information from TC_PARSE_CONS_EXPRESSION
to TC_CONS_FIX_NEW via static variables. That's OK, but not best
practice. tc-ppc.c goes further in implementing its own replacement
for cons(), because the generic one doesn't allow relocation modifiers
on constants. This patch fixes both of these warts.
* gas/config/tc-alpha.h (TC_CONS_FIX_NEW): Add RELOC parameter.
* gas/config/tc-arc.c (arc_cons_fix_new): Add reloc parameter.
* gas/config/tc-arc.h (arc_cons_fix_new): Update prototype.
(TC_CONS_FIX_NEW): Add RELOC parameter.
* gas/config/tc-arm.c (cons_fix_new_arm): Similarly
* gas/config/tc-arm.h (cons_fix_new_arm, TC_CONS_FIX_NEW): Similarly.
* gas/config/tc-cr16.c (cr16_cons_fix_new): Similarly.
* gas/config/tc-cr16.h (cr16_cons_fix_new, TC_CONS_FIX_NEW): Similarly.
* gas/config/tc-crx.h (TC_CONS_FIX_NEW): Similarly.
* gas/config/tc-m32c.c (m32c_cons_fix_new): Similarly.
* gas/config/tc-m32c.h (m32c_cons_fix_new, TC_CONS_FIX_NEW): Similarly.
* gas/config/tc-mn10300.c (mn10300_cons_fix_new): Similarly.
* gas/config/tc-mn10300.h (mn10300_cons_fix_new, TC_CONS_FIX_NEW):
Similarly.
* gas/config/tc-ns32k.c (cons_fix_new_ns32k): Similarly.
* gas/config/tc-ns32k.h (cons_fix_new_ns32k): Similarly.
* gas/config/tc-pj.c (pj_cons_fix_new_pj): Similarly.
* gas/config/tc-pj.h (pj_cons_fix_new_pj, TC_CONS_FIX_NEW): Similarly.
* gas/config/tc-rx.c (rx_cons_fix_new): Similarly.
* gas/config/tc-rx.h (rx_cons_fix_new, TC_CONS_FIX_NEW): Similarly.
* gas/config/tc-sh.c (sh_cons_fix_new): Similarly.
* gas/config/tc-sh.h (sh_cons_fix_new, TC_CONS_FIX_NEW): Similarly.
* gas/config/tc-tic54x.c (tic54x_cons_fix_new): Similarly.
* gas/config/tc-tic54x.h (tic54x_cons_fix_new, TC_CONS_FIX_NEW):
Similarly.
* gas/config/tc-tic6x.c (tic6x_cons_fix_new): Similarly.
* gas/config/tc-tic6x.h (tic6x_cons_fix_new, TC_CONS_FIX_NEW):
Similarly.
* gas/config/tc-arc.c (arc_parse_cons_expression): Return reloc.
* gas/config/tc-arc.h (arc_parse_cons_expression): Update proto.
* gas/config/tc-avr.c (exp_mod_data): Make global.
(pexp_mod_data): Delete.
(avr_parse_cons_expression): Return exp_mod_data pointer.
(avr_cons_fix_new): Add exp_mod_data_t pointer param.
(exp_mod_data_t): Move typedef..
* gas/config/tc-avr.h: ..to here.
(exp_mod_data): Declare.
(TC_PARSE_CONS_RETURN_TYPE, TC_PARSE_CONS_RETURN_NONE): Define.
(avr_parse_cons_expression, avr_cons_fix_new): Update prototype.
(TC_CONS_FIX_NEW): Update.
* gas/config/tc-hppa.c (hppa_field_selector): Delete static var.
(cons_fix_new_hppa): Add hppa_field_selector param.
(fix_new_hppa): Adjust.
(parse_cons_expression_hppa): Return field selector.
* gas/config/tc-hppa.h (parse_cons_expression_hppa): Update proto.
(cons_fix_new_hppa): Likewise.
(TC_PARSE_CONS_RETURN_TYPE, TC_PARSE_CONS_RETURN_NONE): Define.
* gas/config/tc-i386.c (got_reloc): Delete static var.
(x86_cons_fix_new): Add reloc param.
(x86_cons): Return got reloc.
* gas/config/tc-i386.h (x86_cons, x86_cons_fix_new): Update proto.
(TC_CONS_FIX_NEW): Add RELOC param.
* gas/config/tc-ia64.c (ia64_cons_fix_new): Add reloc param. Adjust
calls.
* gas/config/tc-ia64.h (ia64_cons_fix_new): Update prototype.
(TC_CONS_FIX_NEW): Add reloc param.
* gas/config/tc-microblaze.c (parse_cons_expression_microblaze):
Return reloc.
(cons_fix_new_microblaze): Add reloc param.
* gas/config/tc-microblaze.h: Formatting.
(parse_cons_expression_microblaze): Update proto.
(cons_fix_new_microblaze): Likewise.
* gas/config/tc-nios2.c (nios2_tls_ldo_reloc): Delete static var.
(nios2_cons): Return ldo reloc.
(nios2_cons_fix_new): Delete.
* gas/config/tc-nios2.h (nios2_cons): Update prototype.
(nios2_cons_fix_new, TC_CONS_FIX_NEW): Delete.
* gas/config/tc-ppc.c (md_pseudo_table): Remove quad, long, word,
short. Make llong use cons.
(ppc_elf_suffix): Return BFD_RELOC_NONE rather than BFD_RELOC_UNUSED.
(ppc_elf_cons): Delete.
(ppc_elf_parse_cons): New function.
(ppc_elf_validate_fix): Don't check for BFD_RELOC_UNUSED.
(md_assemble): Use BFD_RELOC_NONE rather than BFD_RELOC_UNUSED.
* gas/config/tc-ppc.h (TC_PARSE_CONS_EXPRESSION): Define
(ppc_elf_parse_cons): Declare.
* gas/config/tc-sparc.c (sparc_cons_special_reloc): Delete static var.
(sparc_cons): Return reloc specifier.
(cons_fix_new_sparc): Add reloc specifier param.
(sparc_cfi_emit_pcrel_expr): Use emit_expr_with_reloc.
* gas/config/tc-sparc.h (TC_PARSE_CONS_RETURN_TYPE): Define.
(TC_PARSE_CONS_RETURN_NONE): Define.
(sparc_cons, cons_fix_new_sparc): Update prototype.
* gas/config/tc-v850.c (hold_cons_reloc): Delete static var.
(v850_reloc_prefix): Use BFD_RELOC_NONE rather than BFD_RELOC_UNUSED.
(md_assemble): Likewise.
(parse_cons_expression_v850): Return reloc.
(cons_fix_new_v850): Add reloc parameter.
* gas/config/tc-v850.h (parse_cons_expression_v850): Update proto.
(cons_fix_new_v850): Likewise.
* gas/config/tc-vax.c (vax_cons_special_reloc): Delete static var.
(vax_cons): Return reloc.
(vax_cons_fix_new): Add reloc parameter.
* gas/config/tc-vax.h (vax_cons, vax_cons_fix_new): Update proto.
* gas/config/tc-xstormy16.c (xstormy16_cons_fix_new): Add reloc param.
* gas/config/tc-xstormy16.h (xstormy16_cons_fix_new): Update proto.
* gas/dwarf2dbg.c (TC_PARSE_CONS_RETURN_NONE): Provide default.
(emit_fixed_inc_line_addr): Adjust exmit_expr_fix calls.
* gas/read.c (TC_PARSE_CONS_EXPRESSION): Return value.
(do_parse_cons_expression): Adjust.
(cons_worker): Pass return value from TC_PARSE_CONS_EXPRESSION
to emit_expr_with_reloc.
(emit_expr_with_reloc): New function handling reloc, mostly
extracted from..
(emit_expr): ..here.
(emit_expr_fix): Add reloc param. Adjust TC_CONS_FIX_NEW invocation.
Handle reloc.
(parse_mri_cons): Convert to ISO.
* gas/read.h (TC_PARSE_CONS_RETURN_TYPE): Define.
(TC_PARSE_CONS_RETURN_NONE): Define.
(emit_expr_with_reloc): Declare.
(emit_expr_fix): Update prototype.
* gas/write.c (write_object_file): Update TC_CONS_FIX_NEW invocation.
commit e30d16e9ecd56cd2557b30ae1116946d772944b3
Author: Alan Modra <amodra@gmail.com>
Date: Wed Apr 9 13:25:04 2014 +0930
Fix fallout from splitting ldbuildid.[ch] off elf32.em.
bfd/
* libcoff.h: Regenerate.
ld/
* emultempl/spuelf.em: Include safe-ctype.h, remove duplicate errno.h.
* emultempl/nds32elf.em: Include bfd_stdint.h.
* po/POTFILES.in: Regenerate.
commit 81b1ec4ff645501f0ea7fc32af34e96e1972b5c1
Author: Alan Modra <amodra@gmail.com>
Date: Tue Apr 8 10:04:18 2014 +0930
bfd doc chew
I got tired of watching chew.c being compiled a dozen or more times
each time I do a binutils build.
* Makefile.am (MKDOC): Use $@ in command.
(aoutx.texi): New rule, depend on aoutx.stamp. Move old rule..
(aoutx.stamp): .. to here. Don't depend on chew.c, depend on MKDOC
and omit recursive MAKE. Use $< in command.
(archive.texi, archures.texi, bfdt.texi, cache.texi, coffcode.texi,
core.texi, elf.texi, elfcode.texi, mmo.texi, format.texi, libbfd.texi,
bfdio.texi, bfdwin.texi, opncls.texi, reloc.texi, section.texi,
syms.texi, targets.texi, init.texi, hash.texi, linker.texi): Similarly.
(DISTCLEANFILES): Remove *.stamp.
* Makefile.in: Regenerate.
commit 3f7df22100cfb9b0cd3d8aca02aef4d33355bb17
Author: Alan Modra <amodra@gmail.com>
Date: Wed Apr 9 09:30:57 2014 +0930
daily update
commit b4ab4364239efcf0cec74e89a85d844d628138c0
Author: Alan Modra <amodra@gmail.com>
Date: Sat Apr 5 17:55:13 2014 +1030
ppc476 icache workaround fix for bctr
I got the ppc476 workaround wrong. bctr (and bctrl) as the last
instruction in a page can hit the icache bug if the preceding mtctr
insn is close by, and the destination is in the first few instructions
on the next page. This scenario can occur with code generated by gcc
to implement switch statements, or in code generated to call by
function pointer.
To prevent the bctr problem it is also necessary to remove other
instructions that otherwise would be safe.
bfd/
* elf32-ppc.c (ppc_elf_relocate_section): Remove bctr from list
of safe ppc476 insns at end of page. Also remove non-branch insns.
Expand comments.
ld/
* emultempl/ppc32elf.em (no_zero_padding, ppc_finish): New functions.
(LDEMUL_FINISH): Define.
commit 9c97a0704e03c662b6afd92032c171fe6714b42d
Author: Pierre Langlois <pierre.langlois@embecosm.com>
Date: Fri Apr 4 18:31:36 2014 +0100
Fix erroneous backtrace on avrxmega architectures.
* avr-tdep.c (struct gdbarch_tdep): Mention avrxmega in the comment.
(avr_gdbarch_init): Add xmega architectures given by bfd_architecture
when setting the size of call_length.
commit 6c1799adabb2391ac088828501135cd0dd11b2da
Author: Nick Clifton <nickc@redhat.com>
Date: Tue Apr 8 17:45:33 2014 +0100
This patch removes the inclusion of the default manifest in final links for
the Cygwin and MinGW targets. The manifest is now going to be handled by gcc.
* scripttempl/pe.sc (R_RSRC): Remove default manifest.
* scripttempl/pep.sc (R_RSRC): Remove default manifest.
commit 61e2488cd8497d158303a78563ad40f51f5c3f8e
Author: Jon TURNEY <jon.turney@dronecode.org.uk>
Date: Tue Apr 8 10:59:43 2014 +0100
Add support for generating and inserting build IDs into COFF binaries.
* peXXigen.c (pe_print_debugdata): New function: Displays the
contents of the debug directory and decodes codeview entries.
(_bfd_XXi_swap_debugdir_in, _bfd_XXi_swap_debugdir_out)
(_bfd_XXi_slurp_codeview_record, _bfd_XXi_write_codeview_record):
Add functions for reading and writing debugdir and codeview
records.
* libpei.h (_bfd_XXi_swap_debugdir_in, _bfd_XXi_swap_debugdir_out)
(_bfd_XXi_write_codeview_record): Add prototypes and macros.
* libcoff-in.h (pe_tdata): Add build-id data.
* libcoff.h: Regenerate.
* coffcode.h (coff_write_object_contents): Run build_id
after_write_object_contents hook.
* pe.h (external_IMAGE_DEBUG_DIRECTORY, _CV_INFO_PDB70)
(_CV_INFO_PDB20): Add structures and constants for debug directory
and codeview records.
* internal.h (internal_IMAGE_DEBUG_DIRECTORY, CODEVIEW_INFO):
Add structures and constants for internal representation of debug
directory and codeview records.
* emultempl/elf32.em (id_note_section_size, read_hex, write_build_id):
Move code for parsing build-id option and calculating the build-id to...
* ldbuildid.c: New file.
* ldbuildid.h: New file.
* Makefile.am (CFILES, HFILES, OFILES, ld_new_SOURCES): Add new
files.
* Makefile.in: Regenerate.
* ld.texinfo: Update --build-id description to mention COFF
support.
* NEWS: Mention support for COFF build ids.
* emultempl/pe.em (gld${EMULATION_NAME}_handle_option):
(pecoff_checksum_contents, write_build_id, setup_build_id)
(gld_${EMULATION_NAME}_after_open): Handle and implement
build-id option.
* emultempl/pep.em: Likewise.
commit ae1d276159c3cfb29caacdf567aea01f433f78b0
Author: Pierre Muller <muller@sourceware.org>
Date: Tue Mar 25 08:37:36 2014 +0800
[testsuite] Disable Ctrl-V use for mingw hosts.
On mingw host, we have seen two fails as below,
p int1dim[0]^V@2
Invalid character '^V' in expression.
(gdb) FAIL: gdb.base/printcmds.exp: p int1dim[0]@2
p int1dim[0]^V@2^V@3
Invalid character '^V' in expression.
(gdb) FAIL: gdb.base/printcmds.exp: p int1dim[0]@2@3
In the test, the comment says "# Send \026@ instead of just @ in case
the kill character is @". Historically, kill character was @, and
Ctrl-V (\026) is to escape the next character. However, we don't have
to do so on mingw. This patch is to disable ctrl-v usage on mingw
hots. With this patch applied, it becomes:
p int1dim[0]@2
$607 = {0, 1}
(gdb) PASS: gdb.base/printcmds.exp: p int1dim[0]@2
p int1dim[0]@2@3
$608 = {{0, 1}, {2, 3}, {4, 5}}
Note that this patch is picked from Pierre's submission,
[RFC 6/6] Fix remaining failures in gdb.base/printcmds.exp for mingw hosts.
https://www.sourceware.org/ml/gdb-patches/2013-09/msg00943.html
gdb/testsuite:
2014-04-08 Pierre Muller <muller@sourceware.org>
* gdb.base/printcmds.exp (test_artificial_arrays): Disable
Ctrl-V use for mingw hosts.
commit ebb8ed8e946c7e48f64a3c2577403594c3971230
Author: Alan Modra <amodra@gmail.com>
Date: Tue Apr 8 09:30:58 2014 +0930
daily update
commit 7af389b892404edc76e1a60c59b354b785378fa5
Author: Siva Chandra <sivachandra@chromium.org>
Date: Fri Mar 21 06:42:50 2014 -0700
[python] Fix gdb.Value.dynamic_type for reference values.
gdb.Value.dynamic_type is supposed to work for reference and pointer
values. However, the value object in the function 'valpy_get_dynamic_type'
was being dereferenced using 'value_ind' irrespective of the value type
being TYPE_CODE_PTR or TYPE_CODE_REF. This patch fixes that to use
'coerce_ref' for TYPE_CODE_REF values.
ChangeLog:
* python/py-value.c (valpy_get_dynamic_type): Use coerce_ref to
dereference TYPE_CODE_REF values.
testsuite/
* gdb.python/py-value.c: Improve test case.
* gdb.python/py-value.exp: Add new test.
commit 5e703181143d5eb3724115e5cbb59a6b294e6222
Author: Doug Evans <dje@google.com>
Date: Mon Apr 7 14:14:03 2014 -0700
Add support to recognize clang.
* lib/compiler.c: Identify the clang compiler.
* lib/compiler.cc: Ditto.
commit 17c34b8f3d79369cfb3a3f9d37109a7051bd8ea4
Author: Andreas Schwab <schwab@linux-m68k.org>
Date: Sat Apr 5 22:03:44 2014 +0200
Fix spurious failures in ld-plugin/lto.exp
* ld-plugin/lto.exp: Make "-Wp," prefix optional when filtering
out _FORTIFY_SOURCE.
("Build libdummy.a 9", "PR ld/12696"): Mark as c++.
commit 86ad98c392e804eae299eb6226e16732a521a9b4
Author: Joel Brobecker <brobecker@adacore.com>
Date: Mon Apr 7 09:43:23 2014 -0700
Fix ARI warning in darwin-nat.c::darwin_decode_message
gdb/ChangeLog:
* darwin-nat.c (darwin_decode_message): Remove trailing '\n' at
end of warning message.
commit 5063a42103f83b921b0b6899acdd5d4d920fdc36
Author: Alan Modra <amodra@gmail.com>
Date: Mon Apr 7 13:44:50 2014 +0930
Report an error on objcopy/strip of sectionless binaries
All strip operations require section headers to be present, as do most
objcopy operations. BFD is seriously confused by objects without
section info. The error message added here is similar to the error
on attempting to strip/objcopy a zero length object.
PR binutils/16811
* objcopy.c (copy_object): Error if no sections.
commit 27f0d6b4fe4888e3bb0bdc8e64af51c521fa9f1d
Author: Alan Modra <amodra@gmail.com>
Date: Mon Apr 7 09:30:38 2014 +0930
daily update
commit 8520f58492b37c82881e10db2e45a0932928c064
Author: Alan Modra <amodra@gmail.com>
Date: Sun Apr 6 09:30:52 2014 +0930
daily update
commit 115c6d5c37ee70477adc3d8c45ec7d77c2278951
Author: Alan Modra <amodra@gmail.com>
Date: Sat Apr 5 12:38:47 2014 +1030
Fix map file reference
The testcase in pr16417 comment #6 produces a map file showing
libpthread.so.0 (write@@GLIBC_2.2.5)
ie. missing the file referencing the symbol.
* elflink.c (_bfd_elf_add_default_symbol): Pass poldbfd when
merging non-default sym.
commit 2cafe348f61bae1037dac338ba434ebf86c0d670
Author: Alan Modra <amodra@gmail.com>
Date: Sat Apr 5 09:30:58 2014 +1030
daily update
commit 50f800063da5cfe4e7fc5f7056530d1802af398c
Author: Eric Botcazou <ebotcazou@gcc.gnu.org>
Date: Fri Apr 4 22:54:42 2014 +0200
This fixes PR bootstrap/60620:
* Makefile.def (dependencies): Make gnattools depend on libstdc++-v3.
* Makefile.in: Regenerate.
commit abc9061b5c4d684da66945a9928d54a424cb6e4e
Author: Cary Coutant <ccoutant@google.com>
Date: Fri Apr 4 09:28:23 2014 -0700
Document optional comma in linker script.
The linker script documentation does not mention the optional comma
that may follow an output section command or an overlay command.
In some cases, where a fill expression is used, and the next
output section command begins with an operator (e.g., "/DISCARD/"),
the comma may be required to separate the two commands.
Currently, GNU ld doesn't require the comma, but gold does.
ld/
PR gold/16804
* ld.texinfo: Document optional comma following output section
command and overlay command.
commit 2cf200a4c8a850e6f696e572ea03f340eae97c8a
Author: Ilya Tocar <ilya.tocar@intel.com>
Date: Thu Apr 3 16:40:04 2014 +0400
Add support for Intel SGX instructions
Add Intel SGX instructions support to assembler and disassembler.
gas/
* config/tc-i386.c (cpu_arch): Add .se1.
* doc/c-i386.texi: Document .se1/se1.
gas/testsuite/
* gas/i386/i386.exp: Run SE1 tests.
* gas/i386/se1.d: New file.
* gas/i386/se1.s: Ditto.
* gas/i386/x86-64-se1.d: Ditto.
* gas/i386/x86-64-se1.s: Ditto.
opcodes/
* i386-dis.c (rm_table): Add encls, enclu.
* i386-gen.c (cpu_flag_init): Add CPU_SE1_FLAGS,
(cpu_flags): Add CpuSE1.
* i386-opc.h (enum): Add CpuSE1.
(i386_cpu_flags): Add cpuse1.
* i386-opc.tbl: Add encls, enclu.
* i386-init.h: Regenerated.
* i386-tbl.h: Likewise.
commit 26954155a64f1a6a24b96213a8ee2f5390e649c6
Author: Tristan Gingold <tristan.gingold@adacore.com>
Date: Thu Apr 3 12:50:31 2014 +0200
mach-o: reject 64 bit targets when not configured for.
bfd/
* mach-o.c (bfd_mach_o_header_p): Reject 64 bit target when not
configured for.
commit ca148c5ad5baae432b763cc40d01333303ceb9db
Author: Tristan Gingold <tristan.gingold@adacore.com>
Date: Fri Apr 4 12:38:24 2014 +0200
mach-o: fix section name conversion from bfd to mach-o.
bfd/
* mach-o.c (bfd_mach_o_convert_section_name_to_mach_o): Fix
thinko on names length.
commit 47c509326557dcef05608226b8d6428476289886
Author: Tristan Gingold <tristan.gingold@adacore.com>
Date: Fri Apr 4 12:37:50 2014 +0200
mach-o: output output_section target_index to write relocs.
bfd/
* mach-o-i386.c (bfd_mach_o_i386_swap_reloc_out): Use target index
of output_section.
* mach-o-x86-64.c (bfd_mach_o_x86_64_swap_reloc_out): Ditto.
commit 4ef27e045fbd5b9ec41685ea3843f65fc15827af
Author: Tristan Gingold <tristan.gingold@adacore.com>
Date: Thu Apr 3 11:59:05 2014 +0200
bfd_get_arch_size: return size from arch info on non-ELF targets.
bfd/
* bfd.c (bfd_get_arch_size): Default is taken from arch.
commit ffe54b3798db9112505e7f6b9d5e0d0b13823a29
Author: Alan Modra <amodra@gmail.com>
Date: Fri Apr 4 11:45:03 2014 +1030
Pad sections according to current script FILL.
When aligning input sections, we are supposed to take the fill pattern
from a FILL statement, if there is one in the output section statement.
ld/
* ldlang.c (lang_size_sections_1 <lang_input_section_enum>): Use
current "fill", not "output_section_statement->fill".
ld/testsuite/
* ld-scripts/fill.d, * ld-scripts/fill.t, * ld-scripts/fill_0.s,
* ld-scripts/fill_1.s, * ld-scripts/fill_2.s: New test.
* ld-scripts/data.exp: Run it.
commit 4554c4528a3548320c020f9baf97485302624300
Author: Alan Modra <amodra@gmail.com>
Date: Fri Apr 4 09:30:43 2014 +1030
daily update
commit c54a1dd8a203d6f161366a251b269a0ac9fad37a
Author: Doug Evans <dje@google.com>
Date: Thu Apr 3 12:11:58 2014 -0700
(read_cutu_die_from_dwo): Update function comment to match previous change.
commit b0aeadb398e0cea7a7f0ff3e6fb20c9aea98453c
Author: Doug Evans <dje@google.com>
Date: Thu Apr 3 12:07:25 2014 -0700
* dwarf2read.c (read_cutu_die_from_dwo): Fix assertion, at most one
of stub_comp_unit_die, stub_comp_dir is non-NULL.
commit b69c87280595b7ce4e956cb2a62278412f0722f7
Author: Jon Turney <jon.turney@dronecode.org.uk>
Date: Thu Apr 3 12:26:27 2014 +0100
* peXXigen.c (pe_print_edata): Verify edt.name lies inside
section before dereferencing.
(pe_print_idata, pe_print_edata, pe_print_reloc)
(rsrc_print_section): Don't bother interpreting the contents
of sections which have no contents.
commit 1b6aeedbb8e8f6c65d228f0dab3dab522d2517bb
Author: Maria Guseva <m.guseva@samsung.com>
Date: Thu Apr 3 11:42:05 2014 +0100
This fixes a problem building large (> 2Gb) binaries on 32-bit hosts. Using a
long type instead of long long meant that bfd_seek (SET) could be called with a
negative offset.
PR ld/16803
* elf.c (_bfd_elf_set_section_contents): Use correct type to hold
file position.
commit 92b1b67865c719e83d12578e584ca5e20d172eac
Author: Markus Trippelsdorf <markus@trippelsdorf.de>
Date: Thu Apr 3 11:33:17 2014 +0100
This patch allows one to place the gcc's liblto_plugin in the lib/bfd-plugins directory
and have it loaded by default (as long as the --target option isn't used).
PR binutils/14698
ar.c: Set plugin_target early if plugins are supported.
nm.c: Likewise.
commit 965b60c9460bb63c3c6fbb749b6a2deb541f422f
Author: Tristan Gingold <tristan.gingold@adacore.com>
Date: Thu Apr 3 11:49:56 2014 +0200
mach-o: fix warnings on 32 bit hosts. Display personality functions.
binutils/
* od-macho.c (printf_uint64): New function.
(dump_load_command, dump_obj_compact_unwind): Use it.
(dump_exe_compact_unwind): Display personality functions.
include/mach-o/
* unwind.h (mach_o_compact_unwind_64): Fix typo in personality.
commit 707e555b846bf0f529aaffcae9aac375ab3d6b3d
Author: Tristan Gingold <tristan.gingold@adacore.com>
Date: Thu Apr 3 10:21:02 2014 +0200
mach-o: fix section number while writing symbols.
bfd/
* mach-o.c (bfd_mach_o_mangle_symbols): Use index from
output_section.
(bfd_mach_o_build_seg_command): Add comment. Realign segment.
Fix style.
(bfd_mach_o_build_commands, bfd_mach_o_read_thread): Fix style.
commit 9810b41048d4fc230ec5e124ecdead4a3a9598ec
Author: Yao Qi <yao@codesourcery.com>
Date: Sat Mar 29 09:41:02 2014 +0800
Escape backslash in windows path
Hi,
On windows host, we see the following ERROR,
(gdb) PASS: gdb.base/setshow.exp: set history filename ~/foobar.baz
ERROR OCCURED: couldn't compile regular expression pattern: invalid escape \ seq
uence
while executing
"expect -nobrace -i exp13 -timeout 10 -re {.*A problem internal to GDB has been
detected} {
fail "$message (GDB internal error)"
gdb_internal..."
invoked from within
"expect {
-i exp13 -timeout 10
-re ".*A problem internal to GDB has been detected" {
fail "$message (GDB internal error)"
gdb_internal_erro..."
("uplevel" body line 1)
invoked from within
"uplevel $body" REGEXP REG_EESCAPE {invalid escape \ sequence} couldn't compile
regular expression pattern: invalid escape \ sequenceERROR: Process no longer ex
ists
which leads to
UNRESOLVED: gdb.base/setshow.exp: show history filename (~/foobar.baz)
and this error is thrown from this test below:
gdb_test "show history filename" \
"The filename in which to record the command history is \"$HOME/foobar.baz\"..*" \
"show history filename (~/foobar.baz)"
HOME is a windows path, like C:\foo\bar. When it is used in gdb_test to match
output, the error is thrown because backslash is a special character in
regular expression. This patch is to escape backslash to fix this
error by using string_to_regexp.
gdb/testsuite:
2014-04-03 Yao Qi <yao@codesourcery.com>
* gdb.base/setshow.exp: Invoke string_to_regexp to HOME and PWD.
commit 048ea17465ce5effe702895cd644fa3d9dd94680
Author: Anthony Green <green@moxielogic.com>
Date: Wed Apr 2 23:55:57 2014 -0400
Add support for two new moxie sign-extension instructions
commit 2493504aa84aceffcdb5f3febddca03e7c3d8176
Author: Alan Modra <amodra@gmail.com>
Date: Thu Apr 3 12:06:33 2014 +1030
Fix sim breakage
Replace "size_t size" with "bfd_size_type size".
and here too.
* bfd-in.h (bfd_elf_bfd_from_remote_memory): Likewise.
* bfd-in2.h: Regenerate.
commit c3fcb7757e59bc743db8dd71f9a66767b2167c29
Author: Alan Modra <amodra@gmail.com>
Date: Thu Apr 3 11:57:13 2014 +1030
ChangeLog missed from last commit
commit f0a5d95aae21532529061054fa13816d7adf81d8
Author: Alan Modra <amodra@gmail.com>
Date: Thu Apr 3 11:34:00 2014 +1030
Fix sim breakage
* elf-bfd.h (struct elf_backend_data
<elf_backend_bfd_from_remote_memory>): Replace "size_t size"
with "bfd_size_type size".
(_bfd_elf32_bfd_from_remote_memory): Likewise.
(_bfd_elf64_bfd_from_remote_memory): Likewise.
* elf.c (bfd_elf_bfd_from_remote_memory): Likewise.
* elfcode.h (bfd_from_remote_memory): Likewise.
commit c4eb27e1db8ebff3c498871a715ffdd66e20880b
Author: Sriraman Tallam <tmsriram@google.com>
Date: Wed Apr 2 16:46:02 2014 -0700
2014-04-02 Sriraman Tallam <tmsriram@google.com>
* icf.cc (get_section_contents): Replace copies of reloc
vectors with (const) references.
commit 31c981bc36b1b62cf8952f3eb9125f500f5bd7a8
Author: Anthony Green <green@moxielogic.com>
Date: Wed Apr 2 20:04:23 2014 -0400
Add new sign-extension instructions to moxie port
commit 4bfe997046bf63c6f3c3cf110aa78c2489c64244
Author: Alan Modra <amodra@gmail.com>
Date: Thu Apr 3 09:30:41 2014 +1030
daily update
commit ae447ddd12cf05bc5bef90c4a3f53239b5bcf2f9
Author: Cary Coutant <ccoutant@google.com>
Date: Wed Apr 2 15:04:36 2014 -0700
Modify gold testsuite to disable plugins added by GCC driver.
GCC 4.8 now adds linker plugin options by default, which conflict with the
--incremental tests in the testsuite. This patch checks whether the compiler
supports the -fno-use-linker-plugin option, and adds it to all link
commands.
2014-04-02 Cary Coutant <ccoutant@google.com>
* configure.ac (HAVE_PUBNAMES): Use C instead of C++.
(HAVE_NO_USE_LINKER_PLUGIN): Check for -fno-use-linker-plugin.
* configure: Regenerate.
* testsuite/Makefile.am (OPT_NO_PLUGINS): New macro for
-fno-use-linker-plugin.
(LINK1, CXXLINK1): Add it to the link command.
* testsuite/Makefile.in: Regenerate.
commit 0a899fd5acf97c0c9af7c6548e2c0e132148cf78
Author: DJ Delorie <dj@redhat.com>
Date: Wed Apr 2 16:50:29 2014 -0400
Add checks for overfar branches
Check 8 and 16 bit PCREL fixes for overflow, since we bypass the
later overflow checks in write.c. Direct relocs are left alone,
as gcc has been known to take advantage of the silent overflows
when comparing addresses to constant ranges.
commit cad0da33dc43a207a7c4baf32223831b2d0ac60c
Author: Nick Clifton <nickc@redhat.com>
Date: Wed Apr 2 16:29:35 2014 +0100
This fixes an internal error in GAS, triggered by the test case reported in PR 16765.
The problem was that gcc was generating assembler with missing unwind directives in it,
so that a gas_assert was being triggered. The patch replaces the assert with an error
message.
* config/tc-arm.c (create_unwind_entry): Report an error if an
attempt to recreate an unwind directive is encountered.
commit 7a79c51466c30188d49d03d3e3593c87e5a3345e
Author: Tristan Gingold <tristan.gingold@adacore.com>
Date: Wed Mar 26 15:01:53 2014 +0100
mach-o: read and dump: prebound_dylib, prebind_cksum, twolevel_hints.
include/mach-o:
* external.h (mach_o_prebound_dylib_command_external)
(mach_o_prebind_cksum_command_external)
(mach_o_twolevel_hints_command_external): New types.
bfd/
* mach-o.h (bfd_mach_o_twolevel_hints_command)
(bfd_mach_o_prebind_cksum_command): New types.
(bfd_mach_o_prebound_dylib_command): Rewrite.
(bfd_mach_o_load_command): Add prebind_cksum and twolevel_hints
fields.
* mach-o.c (bfd_mach_o_read_prebound_dylib): Read and decode the
command.
(bfd_mach_o_read_prebind_cksum): New function.
(bfd_mach_o_read_twolevel_hints): Ditto.
(bfd_mach_o_read_command): Handle prebind cksum and twolevel hints
commands.
binutils/
* od-macho.c (OPT_TWOLEVEL_HINTS): New macro.
(options): Add entry for twolevel_hints.
(dump_data_in_code): Fix error message.
(dump_twolevel_hints): New function.
(dump_load_command): Handle prebound dylib, prebind cksum
and twolevel hints.
(mach_o_dump): Handle twolevel hints.
commit 5979d6b69b20a8355ea94b75fad97415fce4788c
Author: Alan Modra <amodra@gmail.com>
Date: Wed Apr 2 12:07:33 2014 +1030
Handle VDSO section headers past end of page
When a VDSO gets large enough that it doesn't entirely fit in one page,
but not so large that the part described by the program header exceeds
one page, then gdb/BFD doesn't read the section headers and symbol
table information. This patch cures that by passing the size of the
vdso to BFD, and fixes a number of other issues in the BFD code.
bfd/
* elfcode.h (bfd_from_remote_memory): Add "size" parameter.
Consolidate code handling possible section headers past end of
segment. Don't use p_align for page size guess, instead use
minpagesize. Take note of ld.so clearing section headers when
p_memsz > p_filesz. Handle file header specifying no section
headers. Handle zero p_align throughout. Default loadbase to
zero. Add comments. Rename contents_size to high_offset, and
make it a bfd_vma. Delete unnecessary bfd_set_error calls.
* bfd-in.h (bfd_elf_bfd_from_remote_memory): Update prototpe.
* elf-bfd.h (struct elf_backend_data <elf_backend_from_remote_memory>):
Likewise.
(_bfd_elf32_bfd_from_remote_memory): Likewise.
(_bfd_elf64_bfd_from_remote_memory): Likewise.
* elf.c (bfd_elf_bfd_from_remote_memory): Adjust.
* bfd-in2.h: Regnerate.
gdb/
* symfile-mem.c (symbol_file_add_from_memory): Add size parameter.
Pass to bfd_elf_bfd_from_remote_memory. Adjust all callers.
(struct symbol_file_add_from_memory_args): Add size field.
(find_vdso_size): New function.
(add_vsyscall_page): Attempt to find vdso size.
commit cf2a3e990524cb794c75e0493169736dee6a660c
Author: Alan Modra <amodra@gmail.com>
Date: Wed Apr 2 09:30:43 2014 +1030
daily update
commit 0d60c28836dbad4a48e1e0e8702f7fd56fca9e53
Author: Doug Evans <dje@google.com>
Date: Tue Apr 1 10:17:12 2014 -0700
* dwarf2read.c (read_cutu_die_from_dwo): Improve comment.
commit 23d72939765598839d20dfb70c986206bf7751ca
Author: Tristan Gingold <tristan.gingold@adacore.com>
Date: Tue Apr 1 14:34:04 2014 +0200
bfd/mach-o: avoid a crash when num == 0 in reloc.
bfd/
* mach-o.c (bfd_mach_o_canonicalize_one_reloc): Avoid to crash
when num == 0.
commit c275b681a57c50a6ed5d7cb5192be588fd451427
Author: Tristan Gingold <tristan.gingold@adacore.com>
Date: Wed Mar 26 10:41:16 2014 +0100
mach-o: display data_in_code.
binutils/
* od-macho.c (OPT_DATA_IN_CODE): New macro.
(options): Add entry for data in code.
(mach_o_help): Ditto.
(data_in_code_kind_name): New array.
(dump_data_in_code): New function.
(dump_load_command): Handle data in code.
(mach_o_dump): Ditto.
(dump_header): Display a terminal newline.
commit a41f2563d040d86954ccda7faa4a8ad7bdbcae88
Author: Tristan Gingold <tristan.gingold@adacore.com>
Date: Fri Mar 21 16:56:39 2014 +0100
darwin-nat: avoid crash while debugging gdb.
it is possible that gdb gets mach exceptions from an unknown inferior. This
happens when an inferior creates a child and that child gets a signal.
So instead of reporting messages with unknown origins, simply reply to these
notifications. The kernel will then post the unix signal.
gdb/
* darwin-nat.c (darwin_encode_reply): Add prototype.
(darwin_decode_exception_message): Reply to unknown inferiors.
(darwin_decode_message): Handle message by id. Ignore message
to unknown inferior.
(darwin_wait): Discard unknown messages, add debug trace.
commit 98d1b8dcd84bb39ba5d0731162f241890d4ce5f5
Author: Anton Blanchard <anton@samba.org>
Date: Mon Mar 31 13:32:07 2014 +1100
gdb.arch/ppc64-atomic-inst.exp: Improve error handling.
gdb/testsuite/
2014-04-01 Anton Blanchard <anton@samba.org>
* gdb.arch/ppc64-atomic-inst.exp: Use untested. Make test
messages unique.
commit 3114cea14b326c1d429388559f020103108b3019
Author: Anton Blanchard <anton@samba.org>
Date: Mon Mar 31 12:03:01 2014 +1100
gdb.arch/ppc64-atomic-inst.exp: Use standard_testfile, prepare_for_testing.
gdb/testsuite/
2014-04-01 Anton Blanchard <anton@samba.org>
* gdb.arch/ppc64-atomic-inst.exp: Use standard_testfile,
prepare_for_testing.
commit 62f7182c14492421b8d59ba5c6640d6c27ad6ea2
Author: Anton Blanchard <anton@samba.org>
Date: Fri Mar 28 12:37:37 2014 +1100
Fix ppc64 single step over atomic sequence testcase.
The current ppc64 single step over atomic sequence testcase is written
in C and breaks with some versions of gcc. Convert the test to
assembly and use stepi to step through it.
gdb/testsuite/
2014-04-01 Anton Blanchard <anton@samba.org>
* gdb.arch/ppc64-atomic-inst.c: Remove.
* gdb.arch/ppc64-atomic-inst.S: New file.
* gdb.arch/ppc64-atomic-inst.exp: Adapt for asm based testcase.
commit 11a865c84fcf530d8d96d01566f4bde378f629a1
Author: Doug Evans <dje@google.com>
Date: Mon Mar 31 16:51:37 2014 -0700
dwarf2read.c (read_cutu_die_from_dwo): Delete unused local comp_dir_string.
commit 4658f0eaf5036d9e4e9b968d9f31366746029c10
Author: Alan Modra <amodra@gmail.com>
Date: Tue Apr 1 09:30:55 2014 +1030
daily update
commit 770e7fc78c3c94195cacf2d7698a252d410886a1
Author: Doug Evans <dje@google.com>
Date: Mon Mar 31 12:07:48 2014 -0700
New option "set print symbol-loading".
* NEWS: Mention it.
* solib.c (solib_read_symbols): Only print symbol loading messages
if requested.
(solib_add): If symbol loading is in "brief" mode, notify user
symbols are being loaded.
(reload_shared_libraries_1): Ditto.
* symfile.c (print_symbol_loading_off): New static global.
(print_symbol_loading_brief): New static global.
(print_symbol_loading_full): New static global.
(print_symbol_loading_enums): New static global.
(print_symbol_loading): New static global.
(print_symbol_loading_p): New function.
(symbol_file_add_with_addrs): Only print symbol loading messages
if requested.
(_initialize_symfile): Register "print symbol-loading" set/show
command.
* symfile.h (print_symbol_loading_p): Declare.
doc/
* gdb.texinfo (Symbols): Document set/show print symbol-loading.
testsuite/
* gdb.base/print-symbol-loading-lib.c: New file.
* gdb.base/print-symbol-loading-main.c: New file.
* gdb.base/print-symbol-loading.exp: New file.
commit 76f0cad6f4e0fdfc4cfeee135b44b6a090919c60
Author: Nick Clifton <nickc@redhat.com>
Date: Mon Mar 31 13:14:44 2014 +0100
This is a fix for PR ld/16744 which showed that an object file linked with -r and -z [no]execstack
would not honour the [no]execstack. Fully linked binaries use a special segment to indicate the
state of the stack, but relocatable object files only have sections, and .note.GNU-stack was not
being created.
* emultempl/elf32.em (_after_open): Create a .note.GNU-stack
section when performing a relocatable link with -z [no]execstack
specified.
commit 72c56015dda568cdcce75dc0316aa768f922c2d7
Author: Marcus Shawcroft <marcus.shawcroft@arm.com>
Date: Mon Mar 31 12:58:48 2014 +0100
[AArch64] Fixup ld-aarch64/eh-frame.d expected PC range.
Fix the expected output for ld-aarch64/eh-frame.d. This issue was
exposed by the recent fix to the output of objdump -Wf here:
https://sourceware.org/ml/binutils/2014-03/msg00251.html
commit 46e2bafa7a77fb852862a89bca861ba39d9cdb8e
Author: Yao Qi <yao@codesourcery.com>
Date: Mon Mar 31 14:20:05 2014 +0800
Allow ';' as a directory separator
Hi,
I find two fails in source-dir.exp on mingw32 host.
(gdb) directory /nOtExStInG/a /nOtExStInG/b /nOtExStInG/c^M
Warning: /nOtExStInG/a: No such file or directory.^M
Warning: /nOtExStInG/b: No such file or directory.^M
Warning: /nOtExStInG/c: No such file or directory.^M
Source directories searched: /nOtExStInG/a;/nOtExStInG/b;/nOtExStInG/c;$cdir;$cwd^M
(gdb) FAIL: gdb.base/source-dir.exp: directory /nOtExStInG/a /nOtExStInG/b /nOtExStInG/c
directory /nOtExStInG/b /nOtExStInG/d /nOtExStInG/c^M
Warning: /nOtExStInG/b: No such file or directory.^M
Warning: /nOtExStInG/d: No such file or directory.^M
Warning: /nOtExStInG/c: No such file or directory.^M
Source directories searched: /nOtExStInG/b;/nOtExStInG/d;/nOtExStInG/c;/nOtExStInG/a;$cdir;$cwd^M
(gdb) FAIL: gdb.base/source-dir.exp: directory /nOtExStInG/b /nOtExStInG/d /nOtExStInG/c
The regular expression expects ':' and ';' is path separator on Windows.
This patch is to allow ';' as a path separator in regular expression.
This patch is similar to Dan's patch to fix a similar problem here
Re: directory separators on minGW hosts
https://sourceware.org/ml/gdb-patches/2006-02/msg00359.html
It is obvious. Pushed it in.
gdb/testsuite:
2014-03-31 Yao Qi <yao@codesourcery.com>
* gdb.base/source-dir.exp: Allow ';' as a directory separator.
commit ddb223fe95bc5ab8a74b21b7390021ea8865ccb5
Author: Alan Modra <amodra@gmail.com>
Date: Mon Mar 31 09:30:40 2014 +1030
daily update
commit c32c64b7a18f8b1337ed58b285d42763180aee05
Author: Doug Evans <xdje42@gmail.com>
Date: Sun Mar 30 12:37:50 2014 -0700
* infrun.c (set_last_target_status): New function.
(handle_inferior_event): Call it.
commit 7c0bc051fcae47b9f8620de156ddd744ec85309d
Author: Doug Evans <xdje42@gmail.com>
Date: Sun Mar 30 12:24:31 2014 -0700
* inferior.h (enum stop_kind): Improve comment.
commit 97d8f0ee776d6bbeef9c529f2880dedbb659492e
Author: Doug Evans <xdje42@gmail.com>
Date: Sun Mar 30 12:13:29 2014 -0700
* gdb.texinfo (Non-Stop Mode): Remove trailing whitespace.
(Background Execution): Ditto.
commit 79771829be161fac84f4f5e84bab9212ade70d3f
Author: Alan Modra <amodra@gmail.com>
Date: Sun Mar 30 09:30:39 2014 +1030
daily update
commit 8547a0f90373aaba055bf179961f5225501e7079
Author: Chris Faylor <me.cygwin2011@cgf.cx>
Date: Sat Mar 29 16:01:46 2014 -0400
* ChangeLog: Fix duplicate entry. Set date on entry correctly.
commit af910977fbd500214e93d0a9b3d61e707df6d93c
Author: Denis Chertykov <chertykov@gmail.com>
Date: Sat Mar 29 09:53:16 2014 +0400
* config/tc-avr.c: Add specified_mcu variable for selected mcu.
(enum options): add OPTION_RMW_ISA for -mrmw option.
(struct option md_longopts): Add mrmw option.
(md_show_usage): add -mrmw option description.
(md_parse_option): Update isa details if -mrmw option specified.
* doc/c-avr.texi: Add doc for new option -mrmw.
* gas/avr/avr.exp: Run new tests.
* gas/avr/rmw.d: Add test for additional ISA support.
* gas/avr/rmw.s: Ditto.
commit ed0251d24b7573e58fe22bea44c04887daedaa32
Author: Denis Chertykov <chertykov@gmail.com>
Date: Sat Mar 29 09:46:33 2014 +0400
* gas/ChangeLog: Revert
* gas/config/tc-avr.c: Revert
* gas/doc/c-avr.texi: Revert
* gas/testsuite/ChangeLog: Revert
* gas/testsuite/gas/avr/avr.exp: Revert
* gas/testsuite/gas/avr/rmw.d: Revert
* gas/testsuite/gas/avr/rmw.s: Revert
This reverts commit d24e46e3e247e46eb2f5e7ebb5efd0f9fcc5fcdd.
commit d24e46e3e247e46eb2f5e7ebb5efd0f9fcc5fcdd
Author: Denis Chertykov <chertykov@gmail.com>
Date: Sat Mar 29 09:41:32 2014 +0400
* config/tc-avr.c: Add specified_mcu variable for selected mcu.
(enum options): add OPTION_RMW_ISA for -mrmw option.
(struct option md_longopts): Add mrmw option.
(md_show_usage): add -mrmw option description.
(md_parse_option): Update isa details if -mrmw option specified.
* doc/c-avr.texi: Add doc for new option -mrmw.
* gas/avr/avr.exp: Run new tests.
* gas/avr/rmw.d: Add test for additional ISA support.
* gas/avr/rmw.s: Ditto.
commit 9f75a539d8c84d25465cb6af1a24890bc67121ba
Author: Alan Modra <amodra@gmail.com>
Date: Sat Mar 29 09:30:47 2014 +1030
daily update
commit 8776cfe971c3917e924c669140746735f94439f4
Author: Joel Brobecker <brobecker@adacore.com>
Date: Thu Mar 20 07:43:08 2014 -0700
[varobj] false type-changed status for reference to Ada array
Given the following variable...
BT : Bounded := New_Bounded (Low => 1, High => 3);
... where type Bounded is defined as a simple unconstrained array:
type Bounded is array (Integer range <>) of Integer;
Creating a varobj for that variable, and immediately asking for
varobj updates, GDB says that our varobj changed types!
(gdb)
-var-create bt * bt
^done,name="bt",numchild="3",value="[3]",type="<ref> array (1 .. 3) of integer",has_more="0"
(gdb)
-var-update 1 *
^done,changelist=[{name="bt",value="[3]",in_scope="true",type_changed="true",new_type="<ref> array (1 .. 3) of integer",new_num_children="3",has_more="0"}]
The expected output for the -var-update command is, in this case:
(gdb)
-var-update 1 *
^done,changelist=[]
The problem occurs because the ada-varobj module does not handle
references, and while the references gets stripped when the varobj
gets created, it doesn't when computing varobj updates.
More specifically, when creating the varobj, varobj_create creates
a new value which is a reference to a TYPE_CODE_ARRAY. It then calls
install_new_value which calls coerce_ref with the following comment:
/* We are not interested in the address of references, and given
that in C++ a reference is not rebindable, it cannot
meaningfully change. So, get hold of the real value. */
if (value)
value = coerce_ref (value);
This leaves the varobj's type component still a ref, while
the varobj's value is now our array, without the ref. This explains
why the "value" field in the varobj indicates an array with 3 elements
"[3]" while the "type" field shows a ref to an array. Generally
speaking, most users have said that showing the ref was a useful
piece of information, so this patch is not touching this part.
Next, when the user issues the -var-update request, varobj_update
calls value_of_root to compute the varobj's new value as well as
determine whether the value's type has changed or not. What happens
in a nutshell is that it calls value_of_root_1 (which re-evaluates
the expression and returns the corresponding new value), finds that
the new value is not NULL, and thus asks whether it has mutated:
else if (varobj_value_has_mutated (var, value, value_type (value)))
This then indirectly delegates the determination to the language-specific
callback, which fails, because it does not handle references.
This patch fixes the issue by adjusting varobj_value_has_mutated to
expect references, and strip them when seen. This allows the various
language-specific implementations to remain unaware of references.
gdb/ChangeLog:
* varobj.c (varobj_value_has_mutated): If NEW_VALUE is
a reference, strip the reference layer before calling
the lang_ops value_has_mutated callback.
gdb/testsuite/ChangeLog:
* gdb.ada/mi_dyn_arr: New testcase.
commit acd6540d35178e9fd1a98110798eeb8f878656e4
Author: Alan Modra <amodra@gmail.com>
Date: Fri Mar 28 09:30:54 2014 +1030
daily update
commit 410a0ff2df3fa8d260c1c6d76172c65285968cea
Author: Sergio Durigan Junior <sergiodj@redhat.com>
Date: Thu Mar 27 19:10:40 2014 -0300
Remove `expout*' globals from parser-defs.h
This commit removes the "expout*" globals from our parser code, turning
them into a structure that is passed when an expression needs to be
evaluated. This is the initial step to make our parser less
"globalized".
This is mostly a mechanical patch, which creates a structure containing
the "expout*" globals and then modify all the functions that handle them
in order to take the structure as argument. It is big, and has been
reviewed at least 4 times, so I think everything is covered.
Below you can see the message links from the discussions:
- First attempt:
<https://sourceware.org/ml/gdb-patches/2012-01/msg00522.html>
Message-ID: <m3k44s7qej.fsf@gmail.com>
- Second attempt:
<https://sourceware.org/ml/gdb-patches/2012-06/msg00054.html>
Message-Id: <1338665528-5932-1-git-send-email-sergiodj@redhat.com>
- Third attempt:
<https://sourceware.org/ml/gdb-patches/2014-01/msg00949.html>
Message-Id: <1390629467-27139-1-git-send-email-sergiodj@redhat.com>
- Fourth (last) attempt:
<https://sourceware.org/ml/gdb-patches/2014-03/msg00546.html>
Message-Id: <1395463432-29750-1-git-send-email-sergiodj@redhat.com>
gdb/
2014-03-27 Sergio Durigan Junior <sergiodj@redhat.com>
Remove some globals from our parser.
* language.c (unk_lang_parser): Add "struct parser_state"
argument.
* language.h (struct language_defn) <la_parser>: Likewise.
* parse.c (expout, expout_size, expout_ptr): Remove variables.
(initialize_expout): Add "struct parser_state" argument.
Rewrite function to use the parser state.
(reallocate_expout, write_exp_elt, write_exp_elt_opcode,
write_exp_elt_sym, write_exp_elt_block, write_exp_elt_objfile,
write_exp_elt_longcst, write_exp_elt_dblcst,
write_exp_elt_decfloatcst, write_exp_elt_type,
write_exp_elt_intern, write_exp_string, write_exp_string_vector,
write_exp_bitstring, write_exp_msymbol, mark_struct_expression,
write_dollar_variable): Likewise.
(parse_exp_in_context_1): Use parser state.
(insert_type_address_space): Add "struct parser_state" argument.
Use parser state.
(increase_expout_size): New function.
* parser-defs.h: Forward declare "struct language_defn" and
"struct parser_state".
(expout, expout_size, expout_ptr): Remove extern declarations.
(parse_gdbarch, parse_language): Rewrite macro declarations to
accept the parser state.
(struct parser_state): New struct.
(initialize_expout, reallocate_expout, write_exp_elt_opcode,
write_exp_elt_sym, write_exp_elt_longcst, write_exp_elt_dblcst,
write_exp_elt_decfloatcst, write_exp_elt_type,
write_exp_elt_intern, write_exp_string, write_exp_string_vector,
write_exp_bitstring, write_exp_elt_block, write_exp_elt_objfile,
write_exp_msymbol, write_dollar_variable,
mark_struct_expression, insert_type_address_space): Add "struct
parser_state" argument.
(increase_expout_size): New function.
* utils.c (do_clear_parser_state): New function.
(make_cleanup_clear_parser_state): Likewise.
* utils.h (make_cleanup_clear_parser_state): New function
prototype.
* aarch64-linux-tdep.c (aarch64_stap_parse_special_token):
Update calls to write_exp* in order to pass the parser state.
* arm-linux-tdep.c (arm_stap_parse_special_token): Likewise.
* i386-tdep.c (i386_stap_parse_special_token_triplet): Likewise.
(i386_stap_parse_special_token_three_arg_disp): Likewise.
* ppc-linux-tdep.c (ppc_stap_parse_special_token): Likewise.
* stap-probe.c (stap_parse_register_operand): Likewise.
(stap_parse_single_operand): Likewise.
(stap_parse_argument_1): Likewise.
(stap_parse_argument): Use parser state.
* stap-probe.h: Include "parser-defs.h".
(struct stap_parse_info) <pstate>: New field.
* c-exp.y (parse_type): Rewrite to use parser state.
(yyparse): Redefine to c_parse_internal.
(pstate): New global variable.
(parse_number): Add "struct parser_state" argument.
(write_destructor_name): Likewise.
(type_exp): Update calls to write_exp* and similars in order to
use parser state.
(exp1, exp, variable, qualified_name, space_identifier,
typename, typebase): Likewise.
(write_destructor_name, parse_number, lex_one_token,
classify_name, classify_inner_name, c_parse): Add "struct
parser_state" argument. Update function to use parser state.
* c-lang.h: Forward declare "struct parser_state".
(c_parse): Add "struct parser_state" argument.
* ada-exp.y (parse_type): Rewrite macro to use parser state.
(yyparse): Redefine macro to ada_parse_internal.
(pstate): New variable.
(write_int, write_object_renaming, write_var_or_type,
write_name_assoc, write_exp_op_with_string, write_ambiguous_var,
type_int, type_long, type_long_long, type_float, type_double,
type_long_double, type_char, type_boolean, type_system_address):
Add "struct parser_state" argument.
(exp1, primary, simple_exp, relation, and_exp, and_then_exp,
or_exp, or_else_exp, xor_exp, type_prefix, opt_type_prefix,
var_or_type, aggregate, aggregate_component_list,
positional_list, others, component_group,
component_associations): Update calls to write_exp* and similar
functions in order to use parser state.
(ada_parse, write_var_from_sym, write_int,
write_exp_op_with_string, write_object_renaming,
find_primitive_type, write_selectors, write_ambiguous_var,
write_var_or_type, write_name_assoc, type_int, type_long,
type_long_long, type_float, type_double, type_long_double,
type_char, type_boolean, type_system_address): Add "struct
parser_state" argument. Adjust function to use parser state.
* ada-lang.c (parse): Likewise.
* ada-lang.h: Forward declare "struct parser_state".
(ada_parse): Add "struct parser_state" argument.
* ada-lex.l (processInt, processReal): Likewise. Adjust all
calls to both functions.
* f-exp.y (parse_type, parse_f_type): Rewrite macros to use
parser state.
(yyparse): Redefine macro to f_parse_internal.
(pstate): New variable.
(parse_number): Add "struct parser_state" argument.
(type_exp, exp, subrange, typebase): Update calls to write_exp*
and similars in order to use parser state.
(parse_number): Adjust code to use parser state.
(yylex): Likewise.
(f_parse): New function.
* f-lang.h: Forward declare "struct parser_state".
(f_parse): Add "struct parser_state" argument.
* jv-exp.y (parse_type, parse_java_type): Rewrite macros to use
parser state.
(yyparse): Redefine macro for java_parse_internal.
(pstate): New variable.
(push_expression_name, push_expression_name, insert_exp): Add
"struct parser_state" argument.
(type_exp, StringLiteral, Literal, PrimitiveType, IntegralType,
FloatingPointType, exp1, PrimaryNoNewArray, FieldAccess,
FuncStart, MethodInvocation, ArrayAccess, PostfixExpression,
PostIncrementExpression, PostDecrementExpression,
UnaryExpression, PreIncrementExpression, PreDecrementExpression,
UnaryExpressionNotPlusMinus, CastExpression,
MultiplicativeExpression, AdditiveExpression, ShiftExpression,
RelationalExpression, EqualityExpression, AndExpression,
ExclusiveOrExpression, InclusiveOrExpression,
ConditionalAndExpression, ConditionalOrExpression,
ConditionalExpression, Assignment, LeftHandSide): Update
calls to write_exp* and similars in order to use parser state.
(parse_number): Ajust code to use parser state.
(yylex): Likewise.
(java_parse): New function.
(push_variable): Add "struct parser_state" argument. Adjust
code to user parser state.
(push_fieldnames, push_qualified_expression_name,
push_expression_name, insert_exp): Likewise.
* jv-lang.h: Forward declare "struct parser_state".
(java_parse): Add "struct parser_state" argument.
* m2-exp.y (parse_type, parse_m2_type): Rewrite macros to use
parser state.
(yyparse): Redefine macro to m2_parse_internal.
(pstate): New variable.
(type_exp, exp, fblock, variable, type): Update calls to
write_exp* and similars to use parser state.
(yylex): Likewise.
(m2_parse): New function.
* m2-lang.h: Forward declare "struct parser_state".
(m2_parse): Add "struct parser_state" argument.
* objc-lang.c (end_msglist): Add "struct parser_state" argument.
* objc-lang.h: Forward declare "struct parser_state".
(end_msglist): Add "struct parser_state" argument.
* p-exp.y (parse_type): Rewrite macro to use parser state.
(yyparse): Redefine macro to pascal_parse_internal.
(pstate): New variable.
(parse_number): Add "struct parser_state" argument.
(type_exp, exp1, exp, qualified_name, variable): Update calls to
write_exp* and similars in order to use parser state.
(parse_number, yylex): Adjust code to use parser state.
(pascal_parse): New function.
* p-lang.h: Forward declare "struct parser_state".
(pascal_parse): Add "struct parser_state" argument.
* go-exp.y (parse_type): Rewrite macro to use parser state.
(yyparse): Redefine macro to go_parse_internal.
(pstate): New variable.
(parse_number): Add "struct parser_state" argument.
(type_exp, exp1, exp, variable, type): Update calls to
write_exp* and similars in order to use parser state.
(parse_number, lex_one_token, classify_name, yylex): Adjust code
to use parser state.
(go_parse): Likewise.
* go-lang.h: Forward declare "struct parser_state".
(go_parse): Add "struct parser_state" argument.
commit 342587c49476ad7472419a3028267f2ddb03f4d8
Author: Doug Evans <dje@google.com>
Date: Thu Mar 27 12:42:50 2014 -0700
* dwarf2read.c (read_str_index): Delete arg cu. All callers updated.
commit 33e80786374aa4de613e8c2a9d3002d9704fb037
Author: Doug Evans <dje@google.com>
Date: Thu Mar 27 12:03:34 2014 -0700
* dwarf2read.c (init_cutu_and_read_dies_no_follow): Fix comments.
Remove argument abbrev_section. All callers updated.
commit 1dbab08b0e074effc30661c9b894f7a75dd51c94
Author: Doug Evans <dje@google.com>
Date: Thu Mar 27 11:43:47 2014 -0700
* dwarf2read.c (struct dwarf2_cu): Improve comments for members
addr_base, ranges_base.
commit 5d1ef36157a045cf9dd3356ed35ac24447e9cbd6
Author: Doug Evans <dje@google.com>
Date: Thu Mar 27 11:38:30 2014 -0700
* gdb.dwarf2/dw2-abs-hi-pc.exp: Build tests with "nodebug".
commit 4c6d802e592b3762a149c343bc5722e065e57841
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Wed Mar 26 12:18:59 2014 -0700
Scan all input files for symbol reference warning
This patch scans all input files for symbol reference warning if the
symbol reference doesn't exist in the current input file.
ld/
PR ld/16756
* ldmain.c (symbol_warning): New function.
(warning_callback): Use it. Scan all input files for a reference
to SYMBOL.
ld/testsuite/
PR ld/16756
* ld-plugin/lto.exp: Expect filename and line number for PR
ld/12760 test.
commit 6a631e86cfc2ddd979f9dc4b4da01133d9d3610f
Author: Yury Gribov <y.gribov@samsung.com>
Date: Thu Mar 27 13:54:03 2014 +0000
Add support for limited pretty-printing of ARM PLT entries on eabi and nacl targets.
* elf32-arm.c (elf32_arm_get_synthetic_symtab): Add new callback.
(elf32_arm_nacl_plt_sym_val): Likewise.
(elf32_arm_plt0_size): Add helper function.
(elf32_arm_plt_size): Likewise.
* ld-arm/arm-app-abs32.d: Updated test.
* ld-arm/arm-app.d: Likewise.
* ld-arm/arm-lib-plt32.d: Likewise.
* ld-arm/arm-lib.d: Likewise.
* ld-arm/armthumb-lib.d: Likewise.
* ld-arm/cortex-a8-fix-b-plt.d: Likewise.
* ld-arm/cortex-a8-fix-bcc-plt.d: Likewise.
* ld-arm/cortex-a8-fix-bl-plt.d: Likewise.
* ld-arm/cortex-a8-fix-bl-rel-plt.d: Likewise.
* ld-arm/cortex-a8-fix-blx-plt.d: Likewise.
* ld-arm/farcall-mixed-app-v5.d: Likewise.
* ld-arm/farcall-mixed-app.d: Likewise.
* ld-arm/farcall-mixed-lib-v4t.d: Likewise.
* ld-arm/farcall-mixed-lib.d: Likewise.
* ld-arm/ifunc-10.dd: Likewise.
* ld-arm/ifunc-14.dd: Likewise.
* ld-arm/ifunc-15.dd: Likewise.
* ld-arm/ifunc-3.dd: Likewise.
* ld-arm/ifunc-4.dd: Likewise.
* ld-arm/ifunc-7.dd: Likewise.
* ld-arm/ifunc-8.dd: Likewise.
* ld-arm/ifunc-9.dd: Likewise.
* ld-arm/long-plt-format.d: Likewise.
* ld-arm/mixed-app-v5.d: Likewise.
* ld-arm/mixed-app.d: Likewise.
* ld-arm/mixed-lib.d: Likewise.
* ld-arm/thumb2-bl-undefweak.d: Likewise.
* ld-arm/thumb2-bl-undefweak1.d: Likewise.
commit a6305403d4e1f5304f247b33b0f8473c7eed0d66
Author: Yaakov Selkowitz <yselkowitz@users.sourceforge.net>
Date: Thu Mar 27 13:36:36 2014 +0000
This is a fix for PR ld/16761 - the linker now has a dependence upon the binutils
because it needs to windres tool (for some targets).
* Makefile.def (dependencies): Make all-ld depend on all-binutils
for WINDRES_FOR_TARGET in default-manifest.o rule.
* Makefile.in: Regenerate.
commit 10be66a4910d39b508002eea2056783e3430af40
Author: Tristan Gingold <tristan.gingold@adacore.com>
Date: Wed Mar 26 10:40:49 2014 +0100
Mach-O: disp dyld environment command in objdump -P load.
bfd/
* mach-o.c (bfd_mach_o_read_dylinker): Remove assert.
(bfd_mach_o_read_command): Handle BFD_MACH_O_LC_DYLD_ENVIRONMENT.
binutils/
* od-macho.c (dump_load_command): Display value for
BFD_MACH_O_LC_DYLD_ENVIRONMENT. Handle BFD_MACH_O_LC_DATA_IN_CODE
and BFD_MACH_O_LC_DYLIB_CODE_SIGN_DRS.
commit cb580a265c0344b2acfc3059b53689863378f5ed
Author: Nick Clifton <nickc@redhat.com>
Date: Thu Mar 27 09:41:06 2014 +0000
This fixes a compile time error triggered by -Werror=format-security because
a call to sprintf was being made with a non-constant formatting string.
* config/tc-score.c (s3_parse_pce_inst): Add "%s" parameter to
sprintf in order to avoid a compile time warning.
commit 3cc27770cfa2080f70d44659de9d62adc80489fc
Author: Tristan Gingold <tristan.gingold@adacore.com>
Date: Tue Mar 25 15:51:54 2014 +0100
Mach-O: add objdump -P function_starts to display function starts.
bfd/
* mach-o.h (bfd_mach_o_get_base_address): New prototype.
* mach-o.c (bfd_mach_o_write_symtab)
(bfd_mach_o_write_contents)
(bfd_mach_o_set_section_flags_from_bfd)
(bfd_mach_o_build_seg_command): Fix indentation.
(bfd_mach_o_get_base_address): New function.
binutils/
* od-macho.c (OPT_FUNCTION_STARTS): New macro.
(options): Add entry for function_starts.
(mach_o_help): Ditto.
(disp_segment_prot): New function.
(dump_section_map): Call disp_segment_prot.
(dump_function_starts): New function.
(dump_obj_compact_unwind): Fix ouput indentation.
(dump_exe_compact_unwind): Fix ouput indentation.
(mach_o_dump): Handle function_starts.
commit b5bee914261ea82683b7da4245790465b9373131
Author: Yao Qi <yao@codesourcery.com>
Date: Wed Mar 26 17:44:14 2014 +0800
Return zero in can_single_step_to_signal_handler for nios2-*-* target
nios2 uses software single step, so GDB is unable to single step to
the signal handler. In order to reflect this, teach
can_single_step_to_signal_handler to return zero for nios2 target.
gdb/testsuite:
2014-03-27 Yao Qi <yao@codesourcery.com>
* lib/gdb.exp (can_single_step_to_signal_handler): Return zero
if target is nios2-*-*.
commit 595330b7cedfac2b073e9ffc6a815221b7121f0c
Author: Tristan Gingold <tristan.gingold@adacore.com>
Date: Mon Mar 24 12:37:32 2014 +0100
objdump: set address of debug sections.
This patche fixes the values of FDE pc in output of objdump -Wf. They now
match readelf ones.
binutils/
* objdump.c (load_specific_debug_section): Set address of section.
commit 467637ade646c54bac41721df4f3509cc98103e4
Author: Alan Modra <amodra@gmail.com>
Date: Thu Mar 27 09:30:50 2014 +1030
daily update
commit 76dfed02aaee5074dc79c28c0224fd0a2bf0dd30
Author: Yufeng Zhang <yufeng.zhang@arm.com>
Date: Wed Mar 26 18:44:27 2014 +0000
[AArch64 disassembler] Add missing checks of undefine encodings on
st1/st2/st3/st4 instructions.
opcodes/
* aarch64-dis.c (aarch64_ext_ldst_elemlist): Check H/S undefined
instructions.
binutils/testsuite/
* binutils-all/aarch64/aarch64.exp: New test driver for AArch64.
* binutils-all/aarch64/unallocated-encoding.s: New testcase.
* binutils-all/aarch64/unallocated-encoding.d: Ditto.
commit b3fe4307a625457c6953fce27bbbfc4c90e38e9d
Author: Nick Clifton <nickc@redhat.com>
Date: Wed Mar 26 16:34:04 2014 +0000
Add support for %hi8, %hi16 and %lo16 being used when relocation are necessary.
* config/tc-rl78.c (rl78_op): Issue an error message if a 16-bit
relocation is used on an 8-bit operand or vice versa.
(tc_gen_reloc): Use the RL78_16U relocation for RL78_CODE.
(md_apply_fix): Add support for RL78_HI8, RL78_HI16 and RL78_LO16.
commit 55bfc9ac025c1c9cd1ad5422829b3dc70f357a79
Author: Nick Clifton <nickc@redhat.com>
Date: Wed Mar 26 16:16:20 2014 +0000
This fixes a problem for 64-bit Cygwin, where building some packages can
produce spurious errors about truncated relocations. The relocations are
only truncated because they are being made against sections which are going
to be discarded so that base address is zero instead of the expected 64-bit
base value.
* cofflink.c (_bfd_coff_generic_relocate_section): Skip
relocations in discarded sections.
commit 318d3177f7d67dac94baa07aab04192fc7bcba49
Author: Keith Seitz <keiths@redhat.com>
Date: Wed Mar 26 08:25:03 2014 -0700
Remove VAR_DOMAIN/STRUCT_DOMAIN ambiguity from ada-tasks.c.
2014-03-26 Keith Seitz <keiths@redhat.com>
* ada-tasks.c (get_tcb_types_info): Search STRUCT_DOMAIN for
types, not VAR_DOMAIN.
commit d80285301a6a55f4f3bb4fbf4df1d20d91b0ee24
Author: Tristan Gingold <tristan.gingold@adacore.com>
Date: Wed Mar 26 10:40:06 2014 +0100
Mach-O: Add BFD_MACH_O_CPU_TYPE_ARM64.
include/mach-o/
* loader.h (bfd_mach_o_cpu_type): Add BFD_MACH_O_CPU_TYPE_ARM64.
bfd/
* mach-o.c (bfd_mach_o_convert_architecture): Add
BFD_MACH_O_CPU_TYPE_ARM64.
binutils/
* od-macho.c (bfd_mach_o_cpu_name): Add BFD_MACH_O_CPU_TYPE_ARM64.
commit f6c7c3e8b742de0a5926e6a2c268f5803062b556
Author: Alan Modra <amodra@gmail.com>
Date: Tue Mar 25 15:12:48 2014 +1030
Referencing a function's address on PowerPC64 ELFv2
ELFv2 needs to create plt entries in a non-PIC executable for an
address reference to a function defined in a shared object. It's
possible that an object file has no features that distinguish it as
ELFv1 or ELFv2, eg. an object only containing data. Such files need
to be handled like those that are known to be ELFv2.
However, this unnecessarily creates plt entries for the analogous
ELFv1 case, so arrange to set output abi version earlier, and use the
output abi version to further distinguish ambiguous input files.
bfd/
* elf64-ppc.c (ppc64_elf_check_relocs): Account for possibly
needed plt entries when taking the address of functions for
abiversion == 0 (ie. unknown) as well as abiversion == 2.
Move opd setup and abiversion checks to..
(ppc64_elf_before_check_relocs): ..here. Renamed from
ppc64_elf_process_dot_syms. Set output abiversion from input and
input abiversion from output, if either is not set.
(ppc64_elf_merge_private_bfd_data): Don't merge flags here.
(elf_backend_check_directives): Update.
ld/testsuite/
* ld-powerpc/startv1.s, * ld-powerpc/startv2.s, * ld-powerpc/funref.s,
* ld-powerpc/funv1.s, * ld-powerpc/funv2.s,
* ld-powerpc/ambiguousv1.d, * ld-powerpc/ambiguousv2.d: New test files.
* ld-powerpc/powerpc.exp: Run new tests.
commit 0d4d0e772ac36d169d21951c46b0778ae7fa8d53
Author: Yao Qi <yao@codesourcery.com>
Date: Wed Mar 19 10:16:35 2014 +0800
Skip tests on completion and readline when readline lib isn't used
The completion feature and other features on readline depend on the
readline library. However, readline library is not always used, for
example, running testsuite like
make check RUNTESTFLAGS="--host_board=local-remote-host"
the input stream is not a tty, and GDB doesn't use readline library
as a result.
This patch is to skip tests on completion and readline if
'show editing' is off, which means readline isn't used. Note that
some tests in gdb.base/completion.exp test command complete, which
isn't related to readline, so these tests aren't affected by readline
library. This patch also moves these tests up, run them
unconditionally, and run the rest if readline library is used.
gdb/testsuite:
2014-03-26 Yao Qi <yao@codesourcery.com>
* lib/gdb.exp (readline_is_used): New proc.
* gdb.base/completion.exp: Move tests on command complete up.
Skip the rest of tests if readline is not used.
* gdb.ada/complete.exp: Skp the test if readline is not
used.
* gdb.base/filesym.exp: Likewise.
* gdb.base/macscp.exp: Likewise.
* gdb.base/readline-ask.exp: Likewise.
* gdb.base/readline.exp: Likewise.
* gdb.python/py-cmd.exp: Likewise.
* gdb.trace/tfile.exp: Likewise.
commit 29361eee1499fa208baf06df5c6aa1ef4c1b2516
Author: Yao Qi <yao@codesourcery.com>
Date: Tue Mar 18 20:26:58 2014 +0800
Fix code format issues gdb.base/macscp.exp
When I do something else, I find code format in gdb.base/macscp.exp is
messy. This patch is to fix various code format issues in it.
Pushed as it is obvious.
gdb/testsuite:
2014-03-26 Yao Qi <yao@codesourcery.com>
* gdb.base/macscp.exp: Fix code format issues.
commit 1e54db15c3ce69a7b3d6542066abdea36e7f8a79
Author: Sandra Loosemore <sandra@codesourcery.com>
Date: Tue Mar 25 21:00:17 2014 -0700
Fix type of "fp" and other registers for Nios II.
2014-03-25 Sandra Loosemore <sandra@codesourcery.com>
gdb/
* features/nios2-cpu.xml: Correct types of "gp", "fp", "ea", and
"ra" registers.
* features/nios2-linux.c: Regenerated.
* features/nios2.c: Regenerated.
commit f688ea36dfd8e3cdd359a040f231792d90e49c65
Author: Alan Modra <amodra@gmail.com>
Date: Wed Mar 26 09:30:48 2014 +1030
daily update
commit 3c6256d29e2c528880a3cf8df43adf32c7780de5
Author: Nick Clifton <nickc@redhat.com>
Date: Tue Mar 25 16:50:10 2014 +0000
This patch adds a new pseudo-op - .seh_code - to structured exception handling
suite of ops. It changes the current section back to the code section of the
current function. This is helpful because the code section may not be .text.
* config/obj-coff-seh.c (obj_coff_seh_code): New function -
switches the current segment back to the code segment recorded
when seh_proc was last invoked.
* config/obj-coff-seh.h (SEH_CMDS): Add seh_code.
commit bc9a55253ed7122cfeee90cd23d964f44c8b0e6a
Author: Ulrich Weigand <ulrich.weigand@de.ibm.com>
Date: Tue Mar 25 15:39:32 2014 +0100
Support gdb.asm/asm-source.exp on powerpc64le
Add new powerpc64le.inc file appropriate for the ELFv2 ABI and
use it to support the asm-source.exp test case on powerpc64le.
gdb/testsuite/
2014-03-25 Ulrich Weigand <uweigand@de.ibm.com>
* gdb.asm/asm-source.exp: Handle powerpc64le-* targets.
* gdb.asm/powerpc64le.inc: New file.
commit d3839ede057ef077667978dbd065e7b5702c9176
Author: Pedro Alves <palves@redhat.com>
Date: Tue Mar 25 11:45:53 2014 +0000
"source", foreground execution commands, and target-async
Sourcing a GDB script that runs foreground execution commands in
succession fails if the target can async:
Breakpoint 1, main () at ../../../src/gdb/testsuite/gdb.base/source-execution.c:36
36 func1 ();
(gdb) source ../../../src/gdb/testsuite/gdb.base/source-execution.gdb
../../../src/gdb/testsuite/gdb.base/source-execution.gdb:21: Error in sourced command file:
Cannot execute this command while the selected thread is running.
(gdb) FAIL: gdb.base/source-execution.exp: source source-execution.gdb
That is, after a foreground execution command, GDB moves on to the
following command immediately before waiting for the previous command
to complete.
https://sourceware.org/ml/gdb-patches/2011-09/msg00037.html (b4a14fd0)
addressed this for command lists, Python's gdb.execute, etc., but
missed "source". Fixed now in the same way.
gdb/
2014-03-25 Pedro Alves <palves@redhat.com>
* cli/cli-script.c (script_from_file): Force the interpreter to
sync mode.
gdb/testsuite/
2014-03-25 Pedro Alves <palves@redhat.com>
Doug Evans <dje@google.com>
* gdb.base/source-execution.c: New file.
* gdb.base/source-execution.exp: New file.
* gdb.base/source-execution.gdb: New file.
commit c955de363b91edba8a92877f97b1be68357d9582
Author: Will Newton <will.newton@linaro.org>
Date: Fri Mar 14 11:45:32 2014 +0000
bfd/elfnn-aarch64.c: Fix calculation of DT_RELASZ
The current code subtracts the size of the output section containing
relplt from RELASZ. In some cases this will be the same output
section as the dynamic relocs causing a value of zero to be output.
Calculating the size from input sections seems to make more sense.
bfd/ChangeLog:
2014-03-25 Will Newton <will.newton@linaro.org>
* elfnn-aarch64.c (elfNN_aarch64_finish_dynamic_sections):
Set value of DT_PLTRELSZ and DT_RELASZ based on the size
of input sections rather than output sections.
ld/testsuite/ChangeLog:
2014-03-25 Will Newton <will.newton@linaro.org>
* ld-aarch64/aarch64-elf.exp: Add relasz dump test.
* ld-aarch64/relasz.d: New file.
* ld-aarch64/relasz.s: Likewise.
commit 3e60bf4df86f323dde4281886a355589488149aa
Author: Alan Modra <amodra@gmail.com>
Date: Tue Mar 25 12:01:09 2014 +1030
Revert "Remove magic treatment of toc symbols for powerpc ELF"
It turns out that glibc's sysdeps/powerpc/powerpc64/start.S uses this
feature. :-(
* config/tc-ppc.c (ppc_is_toc_sym): Revert 2014-03-05.
(md_assemble): Likewise. Warn.
commit 01672a570af3899a85d12293bc7da38b0715e4a5
Author: Doug Evans <dje@google.com>
Date: Mon Mar 24 16:03:20 2014 -0700
gdb.linespec/macro-relative.exp: Mark the test as unsupported if using fission.
commit cea2f54dd97c7772b38827dd6c9c78d599ce9f07
Author: Alan Modra <amodra@gmail.com>
Date: Tue Mar 25 09:30:39 2014 +1030
daily update
commit 88bbeca9d5e9429dbd2a11d754f24d649b8e5488
Author: Hui Zhu <hui@codesourcery.com>
Date: Mon Mar 24 19:30:50 2014 +0000
Fix PR breakpoints/16101: gdb.base/dprintf.exp agent-printf failures with non-Z0-supporting gdbservers
After a previous patch that was committed by Pedro (0000e5cc), trying
to set a dprintf with with a GDBserver that doesn't support agent
commands at all now throws an error. But the dprintf tests still fail
with some GDBserver targets because they doesn't try to handle the
case of the server reporting support for breakpoint commands, but not
be able to use those in combination with Z0 (because Z0 isn't actually
supported, for example):
FAIL: gdb.base/dprintf.exp: 1st dprintf, agent
FAIL: gdb.base/dprintf.exp: 2nd dprintf, agent
FAIL: gdb.base/dprintf.exp: dprintf info 2 (pattern 4)
Similarly for the MI test.
This patch makes the tests handle this scenario.
Tested with native, and native gdbserver on x86_64 Fedora 17.
Also tested with the native-gdbserver.exp board hacked with:
set GDBFLAGS "${GDBFLAGS} -ex \"set remote breakpoint-commands off\""
(actually, "set remote breakpoint-commands off" is presently broken,
so this was on top of a fix for that command.)
which results in:
(gdb) PASS: gdb.base/dprintf.exp: 2nd dprintf, gdb
set dprintf-style agent
warning: Target cannot run dprintf commands, falling back to GDB printf
warning: Target cannot run dprintf commands, falling back to GDB printf
(gdb) UNSUPPORTED: gdb.base/dprintf.exp: set dprintf style to agent
gdb.sum:
Running target native-gdbserver
Running ../../../src/gdb/testsuite/gdb.base/dprintf.exp ...
PASS: gdb.base/dprintf.exp: dprintf
PASS: gdb.base/dprintf.exp: dprintf foo
PASS: gdb.base/dprintf.exp: dprintf 29
PASS: gdb.base/dprintf.exp: dprintf foo,"At foo entry\n"
PASS: gdb.base/dprintf.exp: ignore $bpnum 1
PASS: gdb.base/dprintf.exp: dprintf 26,"arg=%d, g=%d\n", arg, g
PASS: gdb.base/dprintf.exp: dprintf info 1
PASS: gdb.base/dprintf.exp: break 27
PASS: gdb.base/dprintf.exp: 1st dprintf, gdb
PASS: gdb.base/dprintf.exp: 2nd dprintf, gdb
UNSUPPORTED: gdb.base/dprintf.exp: set dprintf style to agent
PASS: gdb.base/dprintf.exp: Set dprintf style to an unrecognized type
And also with the native-gdbserver.exp board hacked with:
set GDBFLAGS "${GDBFLAGS} -ex \"set remote Z-packet off\""
which results in:
(gdb) continue
Continuing.
Warning:
Cannot insert breakpoint 3: Target doesn't support breakpoints that have target side commands.
Cannot insert breakpoint 4: Target doesn't support breakpoints that have target side commands.
(gdb) UNSUPPORTED: gdb.base/dprintf.exp: 1st dprintf, agent
gdb.sum:
Running target native-gdbserver
Running ../../../src/gdb/testsuite/gdb.base/dprintf.exp ...
PASS: gdb.base/dprintf.exp: dprintf
PASS: gdb.base/dprintf.exp: dprintf foo
PASS: gdb.base/dprintf.exp: dprintf 29
PASS: gdb.base/dprintf.exp: dprintf foo,"At foo entry\n"
PASS: gdb.base/dprintf.exp: ignore $bpnum 1
PASS: gdb.base/dprintf.exp: dprintf 26,"arg=%d, g=%d\n", arg, g
PASS: gdb.base/dprintf.exp: dprintf info 1
PASS: gdb.base/dprintf.exp: break 27
PASS: gdb.base/dprintf.exp: 1st dprintf, gdb
PASS: gdb.base/dprintf.exp: 2nd dprintf, gdb
PASS: gdb.base/dprintf.exp: set dprintf style to agent
UNSUPPORTED: gdb.base/dprintf.exp: 1st dprintf, agent
PASS: gdb.base/dprintf.exp: Set dprintf style to an unrecognized type
(One of the new comments mentions breakpoint always-inserted mode.
Actually testing with breakpoint always-inserted mode fails these
dprintf tests, due to the way they are written. But that'll take a
more substancial rewrite of the tests, so I'm leaving that for another
day.)
gdb/testsuite/
2014-03-24 Hui Zhu <hui@codesourcery.com>
Pedro Alves <palves@redhat.com>
PR breakpoints/16101
* gdb.base/dprintf.exp: Use unsupported rather than changing the
test pass/fail messages. Detect missing support for dprintf when
breakpoints are actually inserted.
* gdb.base/mi-dprintf.exp: Detect missing support for dprintf when
breakpoints are actually inserted.
* lib/mi-support.exp (mi_run_cmd_full): Return -1 if continue
fails.
-----------------------------------------------------------------------
Summary of changes:
ChangeLog | 53 +
Makefile.def | 4 +-
Makefile.in | 562 +-
Makefile.tpl | 6 +-
bfd/ChangeLog | 601 +
bfd/Makefile.am | 14 +-
bfd/Makefile.in | 21 +-
bfd/aix386-core.c | 2 +-
bfd/aout-adobe.c | 6 +-
bfd/aout-arm.c | 16 +-
bfd/aout-ns32k.c | 2 +-
bfd/aout-sparcle.c | 2 +-
bfd/aout0.c | 2 +-
bfd/aoutx.h | 8 +-
bfd/archures.c | 15 +-
bfd/armnetbsd.c | 2 +-
bfd/bfd-in.h | 26 +-
bfd/bfd-in2.h | 73 +-
bfd/bfd.c | 10 +-
bfd/bout.c | 10 +-
bfd/cf-i386lynx.c | 2 +-
bfd/cf-sparclynx.c | 2 +-
bfd/cisco-core.c | 10 +-
bfd/coff-alpha.c | 2 +-
bfd/coff-apollo.c | 2 +-
bfd/coff-arm.c | 4 +-
bfd/coff-aux.c | 2 +-
bfd/coff-go32.c | 2 +-
bfd/coff-h8300.c | 2 +-
bfd/coff-h8500.c | 2 +-
bfd/coff-i386.c | 2 +-
bfd/coff-i860.c | 2 +-
bfd/coff-i960.c | 8 +-
bfd/coff-m68k.c | 4 +-
bfd/coff-m88k.c | 2 +-
bfd/coff-mips.c | 12 +-
bfd/coff-or32.c | 628 -
bfd/coff-rs6000.c | 4 +-
bfd/coff-sh.c | 14 +-
bfd/coff-sparc.c | 2 +-
bfd/coff-stgo32.c | 2 +-
bfd/coff-svm68k.c | 2 +-
bfd/coff-tic80.c | 2 +-
bfd/coff-u68k.c | 2 +-
bfd/coff-w65.c | 2 +-
bfd/coff-we32k.c | 2 +-
bfd/coff-x86_64.c | 2 +-
bfd/coff-z80.c | 2 +-
bfd/coff-z8k.c | 2 +-
bfd/coff64-rs6000.c | 4 +-
bfd/coffcode.h | 33 +-
bfd/cofflink.c | 5 +
bfd/compress.c | 10 +
bfd/config.bfd | 1176 +-
bfd/configure | 691 +-
bfd/configure.com | 4 +-
bfd/configure.in | 691 +-
bfd/cpu-mips.c | 8 +
bfd/cpu-openrisc.c | 44 -
bfd/cpu-or1k.c | 59 +
bfd/cpu-or32.c | 42 -
bfd/demo64.c | 2 +-
bfd/doc/ChangeLog | 22 +
bfd/doc/Makefile.am | 163 +-
bfd/doc/Makefile.in | 163 +-
bfd/dwarf2.c | 375 +-
bfd/elf-bfd.h | 11 +-
bfd/elf-eh-frame.c | 18 +-
bfd/elf-m10200.c | 2 +-
bfd/elf-m10300.c | 2 +-
bfd/elf.c | 5 +-
bfd/elf32-am33lin.c | 2 +-
bfd/elf32-arc.c | 4 +-
bfd/elf32-arm.c | 235 +-
bfd/elf32-avr.c | 184 +-
bfd/elf32-bfin.c | 8 +-
bfd/elf32-cr16.c | 2 +-
bfd/elf32-cr16c.c | 2 +-
bfd/elf32-cris.c | 4 +-
bfd/elf32-crx.c | 2 +-
bfd/elf32-d10v.c | 2 +-
bfd/elf32-d30v.c | 2 +-
bfd/elf32-dlx.c | 2 +-
bfd/elf32-epiphany.c | 2 +-
bfd/elf32-fr30.c | 2 +-
bfd/elf32-frv.c | 8 +-
bfd/elf32-gen.c | 4 +-
bfd/elf32-h8300.c | 2 +-
bfd/elf32-hppa.c | 6 +-
bfd/elf32-i370.c | 2 +-
bfd/elf32-i386.c | 10 +-
bfd/elf32-i860.c | 4 +-
bfd/elf32-i960.c | 2 +-
bfd/elf32-ip2k.c | 2 +-
bfd/elf32-iq2000.c | 2 +-
bfd/elf32-lm32.c | 8 +-
bfd/elf32-m32c.c | 4 +-
bfd/elf32-m32r.c | 8 +-
bfd/elf32-m68hc11.c | 2 +-
bfd/elf32-m68hc12.c | 2 +-
bfd/elf32-m68k.c | 2 +-
bfd/elf32-m88k.c | 2 +-
bfd/elf32-mcore.c | 4 +-
bfd/elf32-mep.c | 4 +-
bfd/elf32-metag.c | 2 +-
bfd/elf32-microblaze.c | 4 +-
bfd/elf32-mips.c | 24 +-
bfd/elf32-moxie.c | 4 +-
bfd/elf32-msp430.c | 8 +-
bfd/elf32-mt.c | 2 +-
bfd/elf32-nds32.c | 8 +-
bfd/elf32-nios2.c | 37 +-
bfd/elf32-openrisc.c | 569 -
bfd/elf32-or1k.c | 2865 ++
bfd/elf32-or32.c | 514 -
bfd/elf32-pj.c | 4 +-
bfd/elf32-ppc.c | 143 +-
bfd/elf32-rl78.c | 18 +-
bfd/elf32-rx.c | 16 +-
bfd/elf32-s390.c | 2 +-
bfd/elf32-score.c | 4 +-
bfd/elf32-sh-symbian.c | 2 +-
bfd/elf32-sh.c | 36 +-
bfd/elf32-sh64.c | 12 +-
bfd/elf32-sparc.c | 6 +-
bfd/elf32-spu.c | 30 +-
bfd/elf32-tic6x.c | 12 +-
bfd/elf32-tilegx.c | 4 +-
bfd/elf32-tilepro.c | 2 +-
bfd/elf32-v850.c | 4 +-
bfd/elf32-vax.c | 2 +-
bfd/elf32-xc16x.c | 2 +-
bfd/elf32-xgate.c | 2 +-
bfd/elf32-xstormy16.c | 2 +-
bfd/elf32-xtensa.c | 36 +-
bfd/elf64-alpha.c | 245 +-
bfd/elf64-gen.c | 4 +-
bfd/elf64-hppa.c | 4 +-
bfd/elf64-ia64-vms.c | 2 +-
bfd/elf64-mips.c | 20 +-
bfd/elf64-mmix.c | 2 +-
bfd/elf64-ppc.c | 112 +-
bfd/elf64-s390.c | 2 +-
bfd/elf64-sh64.c | 12 +-
bfd/elf64-sparc.c | 6 +-
bfd/elf64-tilegx.c | 4 +-
bfd/elf64-x86-64.c | 20 +-
bfd/elfcode.h | 153 +-
bfd/elflink.c | 19 +-
bfd/elfn32-mips.c | 20 +-
bfd/elfnn-aarch64.c | 24 +-
bfd/elfnn-ia64.c | 10 +-
bfd/elfxx-mips.c | 291 +-
bfd/elfxx-mips.h | 2 +
bfd/epoc-pe-arm.c | 4 +-
bfd/epoc-pei-arm.c | 4 +-
bfd/hp300bsd.c | 2 +-
bfd/hp300hpux.c | 12 +-
bfd/hppabsd-core.c | 2 +-
bfd/hpux-core.c | 2 +-
bfd/i386aout.c | 2 +-
bfd/i386bsd.c | 2 +-
bfd/i386dynix.c | 2 +-
bfd/i386freebsd.c | 2 +-
bfd/i386linux.c | 2 +-
bfd/i386lynx.c | 2 +-
bfd/i386mach3.c | 2 +-
bfd/i386msdos.c | 2 +-
bfd/i386netbsd.c | 2 +-
bfd/i386os9k.c | 2 +-
bfd/irix-core.c | 2 +-
bfd/libbfd-in.h | 3 +-
bfd/libbfd.h | 32 +-
bfd/libcoff-in.h | 8 +
bfd/libcoff.h | 8 +
bfd/libpei.h | 12 +
bfd/m68k4knetbsd.c | 2 +-
bfd/m68klinux.c | 2 +-
bfd/m68knetbsd.c | 2 +-
bfd/m88kmach3.c | 2 +-
bfd/m88kopenbsd.c | 2 +-
bfd/mach-o-i386.c | 6 +-
bfd/mach-o-target.c | 7 +-
bfd/mach-o-x86-64.c | 9 +-
bfd/mach-o.c | 1934 +-
bfd/mach-o.h | 62 +-
bfd/makefile.vms | 6 +-
bfd/mipsbsd.c | 10 +-
bfd/mmo.c | 70 +-
bfd/netbsd-core.c | 2 +-
bfd/newsos3.c | 2 +-
bfd/nlm32-alpha.c | 2 +-
bfd/nlm32-i386.c | 2 +-
bfd/nlm32-ppc.c | 2 +-
bfd/nlm32-sparc.c | 2 +-
bfd/ns32knetbsd.c | 4 +-
bfd/osf-core.c | 2 +-
bfd/pc532-mach.c | 6 +-
bfd/pe-arm-wince.c | 4 +-
bfd/pe-arm.c | 4 +-
bfd/pe-i386.c | 2 +-
bfd/pe-mcore.c | 4 +-
bfd/pe-mips.c | 2 +-
bfd/pe-ppc.c | 4 +-
bfd/pe-sh.c | 2 +-
bfd/pe-x86_64.c | 4 +-
bfd/peXXigen.c | 562 +-
bfd/pei-arm-wince.c | 4 +-
bfd/pei-arm.c | 4 +-
bfd/pei-i386.c | 2 +-
bfd/pei-ia64.c | 2 +-
bfd/pei-mcore.c | 4 +-
bfd/pei-mips.c | 2 +-
bfd/pei-ppc.c | 4 +-
bfd/pei-sh.c | 2 +-
bfd/pei-x86_64.c | 2 +-
bfd/po/SRC-POTFILES.in | 7 +-
bfd/ppcboot.c | 2 +-
bfd/ptrace-core.c | 2 +-
bfd/reloc.c | 68 +-
bfd/riscix.c | 10 +-
bfd/sco5-core.c | 2 +-
bfd/simple.c | 25 +-
bfd/som.c | 4 +-
bfd/sparclinux.c | 2 +-
bfd/sparclynx.c | 2 +-
bfd/sparcnetbsd.c | 2 +-
bfd/sunos.c | 2 +-
bfd/targets.c | 1419 +-
bfd/trad-core.c | 2 +-
bfd/vax1knetbsd.c | 2 +-
bfd/vaxbsd.c | 2 +-
bfd/vaxnetbsd.c | 2 +-
bfd/versados.c | 2 +-
bfd/version.h | 2 +-
bfd/vms-alpha.c | 2 +-
bfd/vms-lib.c | 2 +-
binutils/ChangeLog | 120 +
binutils/MAINTAINERS | 2 +
binutils/ar.c | 6 +-
binutils/doc/binutils.texi | 3 +
binutils/emul_aix.c | 12 +-
binutils/nm.c | 7 +-
binutils/objcopy.c | 28 +-
binutils/objdump.c | 2 +-
binutils/od-macho.c | 750 +-
binutils/readelf.c | 30 +-
binutils/testsuite/ChangeLog | 19 +
.../testsuite/binutils-all/aarch64/aarch64.exp | 30 +
.../binutils-all/aarch64/unallocated-encoding.d | 29 +
.../binutils-all/aarch64/unallocated-encoding.s | 51 +
binutils/testsuite/binutils-all/compress.exp | 10 +
binutils/testsuite/binutils-all/debug_str.d | 9 +
binutils/testsuite/binutils-all/debug_str.s | 12 +
.../testsuite/binutils-all/dw2-decodedline-1.S | 16 +
binutils/testsuite/binutils-all/objcopy.exp | 9 +-
binutils/testsuite/binutils-all/objdump.exp | 15 +-
config.guess | 192 +-
config.sub | 19 +-
config/ChangeLog | 4 +
config/mt-nios2-elf | 5 +
configure | 146 +-
configure.ac | 131 +-
cpu/ChangeLog | 22 +
cpu/openrisc.cpu | 774 -
cpu/openrisc.opc | 164 -
cpu/or1k.cpu | 131 +
cpu/or1k.opc | 421 +
cpu/or1kcommon.cpu | 360 +
cpu/or1korbis.cpu | 1121 +
cpu/or1korfpx.cpu | 222 +
elfcpp/ChangeLog | 33 +
elfcpp/elfcpp.h | 10 +-
elfcpp/mips.h | 143 +-
gas/ChangeLog | 336 +
gas/Makefile.am | 6 +-
gas/Makefile.in | 43 +-
gas/NEWS | 2 +
gas/config/obj-coff-seh.c | 7 +
gas/config/obj-coff-seh.h | 4 +-
gas/config/obj-coff.h | 5 -
gas/config/tc-aarch64.h | 2 +-
gas/config/tc-alpha.h | 3 +-
gas/config/tc-arc.c | 6 +-
gas/config/tc-arc.h | 10 +-
gas/config/tc-arm.c | 31 +-
gas/config/tc-arm.h | 3 +-
gas/config/tc-avr.c | 188 +-
gas/config/tc-avr.h | 49 +-
gas/config/tc-cr16.c | 5 +-
gas/config/tc-cr16.h | 7 +-
gas/config/tc-crx.h | 3 +-
gas/config/tc-hppa.c | 14 +-
gas/config/tc-hppa.h | 6 +-
gas/config/tc-i386.c | 20 +-
gas/config/tc-i386.h | 7 +-
gas/config/tc-ia64.c | 11 +-
gas/config/tc-ia64.h | 5 +-
gas/config/tc-m32c.c | 5 +-
gas/config/tc-m32c.h | 7 +-
gas/config/tc-microblaze.c | 9 +-
gas/config/tc-microblaze.h | 10 +-
gas/config/tc-mips.c | 398 +-
gas/config/tc-mips.h | 3 +
gas/config/tc-mn10300.c | 3 +-
gas/config/tc-mn10300.h | 7 +-
gas/config/tc-nios2.c | 32 +-
gas/config/tc-nios2.h | 6 +-
gas/config/tc-ns32k.c | 3 +-
gas/config/tc-ns32k.h | 3 +-
gas/config/tc-openrisc.c | 362 -
gas/config/tc-openrisc.h | 61 -
gas/config/tc-or1k.c | 362 +
gas/config/tc-or1k.h | 79 +
gas/config/tc-or32.c | 966 -
gas/config/tc-or32.h | 56 -
gas/config/tc-pj.c | 3 +-
gas/config/tc-pj.h | 7 +-
gas/config/tc-ppc.c | 181 +-
gas/config/tc-ppc.h | 8 +
gas/config/tc-rl78.c | 81 +-
gas/config/tc-rl78.h | 2 +-
gas/config/tc-rx.c | 5 +-
gas/config/tc-rx.h | 7 +-
gas/config/tc-score.c | 2 +-
gas/config/tc-sh.c | 5 +-
gas/config/tc-sh.h | 7 +-
gas/config/tc-sparc.c | 18 +-
gas/config/tc-sparc.h | 7 +-
gas/config/tc-tic54x.c | 5 +-
gas/config/tc-tic54x.h | 6 +-
gas/config/tc-tic6x.c | 5 +-
gas/config/tc-tic6x.h | 8 +-
gas/config/tc-tilegx.h | 2 +-
gas/config/tc-tilepro.h | 2 +-
gas/config/tc-v850.c | 35 +-
gas/config/tc-v850.h | 5 +-
gas/config/tc-vax.c | 39 +-
gas/config/tc-vax.h | 5 +-
gas/config/tc-xstormy16.c | 5 +-
gas/config/tc-xstormy16.h | 3 +-
gas/config/tc-xtensa.c | 4 +-
gas/config/tc-z80.h | 2 +-
gas/configure | 16 +-
gas/configure.in | 16 +-
gas/configure.tgt | 10 +-
gas/doc/as.texinfo | 30 +-
gas/doc/c-avr.texi | 4 +
gas/doc/c-mips.texi | 32 +-
gas/doc/c-rl78.texi | 14 +-
gas/dwarf2dbg.c | 8 +-
gas/po/POTFILES.in | 6 +-
gas/read.c | 86 +-
gas/read.h | 10 +-
gas/testsuite/ChangeLog | 156 +
gas/testsuite/gas/all/gas.exp | 2 +-
gas/testsuite/gas/arm/backslash-at.d | 2 +-
gas/testsuite/gas/arm/got_prel.d | 4 +-
gas/testsuite/gas/arm/inst-po.d | 4 +-
gas/testsuite/gas/arm/mapmisc.d | 10 +
gas/testsuite/gas/arm/mapmisc.s | 6 +
gas/testsuite/gas/arm/unwind.d | 2 +-
gas/testsuite/gas/avr/avr.exp | 24 +
gas/testsuite/gas/avr/diffreloc_withrelax.d | 16 +
gas/testsuite/gas/avr/noreloc_withoutrelax.d | 11 +
gas/testsuite/gas/avr/relax.s | 12 +
gas/testsuite/gas/avr/rmw.d | 23 +
gas/testsuite/gas/avr/rmw.s | 32 +
gas/testsuite/gas/elf/warn-2.s | 4 +-
gas/testsuite/gas/i386/i386.exp | 2 +
gas/testsuite/gas/i386/ilp32/x86-64-cbw-intel.d | 4 +-
gas/testsuite/gas/i386/ilp32/x86-64-cbw.d | 4 +-
gas/testsuite/gas/i386/ilp32/x86-64-io-intel.d | 8 +-
gas/testsuite/gas/i386/ilp32/x86-64-io-suffix.d | 8 +-
gas/testsuite/gas/i386/ilp32/x86-64-io.d | 8 +-
gas/testsuite/gas/i386/ilp32/x86-64-nops-1-core2.d | 10 +-
.../gas/i386/ilp32/x86-64-nops-1-nocona.d | 10 +-
gas/testsuite/gas/i386/ilp32/x86-64-nops-1.d | 10 +-
gas/testsuite/gas/i386/ilp32/x86-64-nops-2.d | 12 +-
gas/testsuite/gas/i386/ilp32/x86-64-nops-3.d | 6 +-
gas/testsuite/gas/i386/ilp32/x86-64-nops-4-core2.d | 44 +-
gas/testsuite/gas/i386/ilp32/x86-64-nops-4.d | 44 +-
gas/testsuite/gas/i386/ilp32/x86-64-nops-5-k8.d | 10 +-
gas/testsuite/gas/i386/ilp32/x86-64-nops-5.d | 10 +-
gas/testsuite/gas/i386/ilp32/x86-64-stack-intel.d | 26 +-
gas/testsuite/gas/i386/ilp32/x86-64-stack-suffix.d | 26 +-
gas/testsuite/gas/i386/ilp32/x86-64-stack.d | 26 +-
gas/testsuite/gas/i386/katmai.d | 3 +-
gas/testsuite/gas/i386/long-1-intel.d | 4 +-
gas/testsuite/gas/i386/long-1.d | 4 +-
gas/testsuite/gas/i386/long-1.s | 4 +-
gas/testsuite/gas/i386/nops-1-core2.d | 10 +-
gas/testsuite/gas/i386/nops-4a-i686.d | 44 +-
gas/testsuite/gas/i386/nops-5-i686.d | 10 +-
gas/testsuite/gas/i386/nops-5.d | 10 +-
gas/testsuite/gas/i386/prefix.d | 62 +-
gas/testsuite/gas/i386/prefix.s | 354 +
gas/testsuite/gas/i386/se1.d | 13 +
gas/testsuite/gas/i386/se1.s | 7 +
gas/testsuite/gas/i386/x86-64-cbw-intel.d | 4 +-
gas/testsuite/gas/i386/x86-64-cbw.d | 4 +-
gas/testsuite/gas/i386/x86-64-io-intel.d | 8 +-
gas/testsuite/gas/i386/x86-64-io-suffix.d | 8 +-
gas/testsuite/gas/i386/x86-64-io.d | 8 +-
gas/testsuite/gas/i386/x86-64-long-1-intel.d | 4 +-
gas/testsuite/gas/i386/x86-64-long-1.d | 4 +-
gas/testsuite/gas/i386/x86-64-long-1.s | 4 +-
gas/testsuite/gas/i386/x86-64-nops-1-core2.d | 10 +-
gas/testsuite/gas/i386/x86-64-nops-1-g64.d | 10 +-
gas/testsuite/gas/i386/x86-64-nops-1-nocona.d | 10 +-
gas/testsuite/gas/i386/x86-64-nops-1.d | 10 +-
gas/testsuite/gas/i386/x86-64-nops-2.d | 12 +-
gas/testsuite/gas/i386/x86-64-nops-3.d | 6 +-
gas/testsuite/gas/i386/x86-64-nops-4-core2.d | 44 +-
gas/testsuite/gas/i386/x86-64-nops-4.d | 44 +-
gas/testsuite/gas/i386/x86-64-nops-5-k8.d | 10 +-
gas/testsuite/gas/i386/x86-64-nops-5.d | 10 +-
gas/testsuite/gas/i386/x86-64-se1.d | 13 +
gas/testsuite/gas/i386/x86-64-se1.s | 7 +
gas/testsuite/gas/i386/x86-64-stack-intel.d | 26 +-
gas/testsuite/gas/i386/x86-64-stack-suffix.d | 26 +-
gas/testsuite/gas/i386/x86-64-stack.d | 26 +-
gas/testsuite/gas/lns/lns-common-1-or1k.s | 25 +
gas/testsuite/gas/lns/lns.exp | 3 +-
gas/testsuite/gas/mips/attr-gnu-abi-fp-1.d | 8 +
gas/testsuite/gas/mips/attr-gnu-abi-fp-1.s | 1 +
gas/testsuite/gas/mips/attr-gnu-abi-msa-1.d | 7 +
gas/testsuite/gas/mips/attr-gnu-abi-msa-1.s | 1 +
gas/testsuite/gas/mips/mips.exp | 22 +
gas/testsuite/gas/mips/r5.d | 8 +
gas/testsuite/gas/mips/r5.s | 10 +
gas/testsuite/gas/mips/xpa.d | 24 +
gas/testsuite/gas/mips/xpa.s | 29 +
gas/testsuite/gas/nios2/selftest.d | 18 +
gas/testsuite/gas/nios2/selftest.s | 134 +
gas/testsuite/gas/openrisc/addi.d | 10 -
gas/testsuite/gas/openrisc/addi.s | 4 -
gas/testsuite/gas/openrisc/allinsn.d | 201 -
gas/testsuite/gas/openrisc/allinsn.exp | 24 -
gas/testsuite/gas/openrisc/allinsn.s | 260 -
gas/testsuite/gas/openrisc/lohi.d | 13 -
gas/testsuite/gas/openrisc/lohi.s | 7 -
gas/testsuite/gas/openrisc/store.d | 13 -
gas/testsuite/gas/openrisc/store.s | 7 -
gas/testsuite/gas/or1k/allinsn.d | 689 +
gas/testsuite/gas/or1k/allinsn.exp | 5 +
gas/testsuite/gas/or1k/allinsn.s | 677 +
gas/testsuite/gas/xtensa/all.exp | 1 +
gas/testsuite/gas/xtensa/first_frag_align.d | 9 +
gas/testsuite/gas/xtensa/first_frag_align.s | 5 +
gas/write.c | 2 +-
gdb/ChangeLog | 1261 +
gdb/MAINTAINERS | 1 +
gdb/NEWS | 31 +-
gdb/aarch64-linux-tdep.c | 26 +-
gdb/aarch64-tdep.c | 79 +
gdb/ada-exp.y | 488 +-
gdb/ada-lang.c | 134 +-
gdb/ada-lang.h | 3 +-
gdb/ada-lex.l | 54 +-
gdb/ada-tasks.c | 12 +-
gdb/ada-varobj.c | 8 +-
gdb/alpha-linux-nat.c | 2 +-
gdb/amd64-linux-nat.c | 19 +-
gdb/amd64-linux-tdep.c | 23 +-
gdb/amd64-linux-tdep.h | 5 +-
gdb/amd64-tdep.c | 80 +
gdb/amd64-tdep.h | 12 +-
gdb/arm-linux-tdep.c | 26 +-
gdb/arm-tdep.c | 4 +-
gdb/avr-tdep.c | 9 +-
gdb/breakpoint.c | 267 +-
gdb/build-id.c | 1 -
gdb/c-exp.y | 734 +-
gdb/c-lang.h | 3 +-
gdb/c-typeprint.c | 25 +-
gdb/cli/cli-cmds.c | 6 +-
gdb/cli/cli-script.c | 3 +
gdb/coffread.c | 6 +-
gdb/common/i386-xstate.h | 20 +-
gdb/common/linux-ptrace.c | 16 +-
gdb/common/linux-ptrace.h | 2 +-
gdb/config/powerpc/obsd.mh | 2 +-
gdb/cp-namespace.c | 45 +-
gdb/cp-support.c | 25 +-
gdb/cp-valprint.c | 2 +
gdb/ctf.c | 119 +-
gdb/d-valprint.c | 1 +
gdb/darwin-nat.c | 160 +-
gdb/doc/ChangeLog | 34 +
gdb/doc/Makefile.in | 3 +
gdb/doc/gdb.texinfo | 103 +-
gdb/dwarf2-frame.c | 10 +-
gdb/dwarf2loc.c | 126 +-
gdb/dwarf2loc.h | 28 +
gdb/dwarf2read.c | 266 +-
gdb/eval.c | 81 +-
gdb/f-exp.y | 281 +-
gdb/f-lang.h | 3 +-
gdb/features/Makefile | 22 +
gdb/features/i386/32bit-avx512.xml | 30 +
gdb/features/i386/64bit-avx512.xml | 102 +
gdb/features/i386/amd64-avx512-linux.c | 321 +
gdb/features/i386/amd64-avx512-linux.xml | 20 +
gdb/features/i386/amd64-avx512.c | 316 +
gdb/features/i386/amd64-avx512.xml | 18 +
gdb/features/i386/i386-avx512-linux.c | 208 +
gdb/features/i386/i386-avx512-linux.xml | 20 +
gdb/features/i386/i386-avx512.c | 203 +
gdb/features/i386/i386-avx512.xml | 18 +
gdb/features/i386/x32-avx512-linux.c | 321 +
gdb/features/i386/x32-avx512-linux.xml | 20 +
gdb/features/i386/x32-avx512.c | 316 +
gdb/features/i386/x32-avx512.xml | 18 +
gdb/features/nios2-cpu.xml | 8 +-
gdb/features/nios2-linux.c | 8 +-
gdb/features/nios2.c | 8 +-
gdb/findvar.c | 46 +-
gdb/frame.c | 31 +-
gdb/frame.h | 7 +
gdb/gdbarch.c | 4 +-
gdb/gdbarch.h | 6 +-
gdb/gdbarch.sh | 4 +-
gdb/gdbserver/ChangeLog | 111 +
gdb/gdbserver/Makefile.in | 19 +-
gdb/gdbserver/configure.srv | 20 +-
gdb/gdbserver/i386-low.c | 15 +-
gdb/gdbserver/i386-low.h | 15 +-
gdb/gdbserver/i387-fp.c | 182 +-
gdb/gdbserver/linux-low.c | 107 +-
gdb/gdbserver/linux-low.h | 11 +-
gdb/gdbserver/linux-x86-low.c | 53 +-
gdb/gdbserver/mem-break.c | 21 +-
gdb/gdbserver/mem-break.h | 14 +-
gdb/gdbserver/server.c | 18 +-
gdb/gdbserver/thread-db.c | 18 +-
gdb/gdbserver/utils.h | 2 +-
gdb/gdbserver/win32-i386-low.c | 16 +-
gdb/gdbtypes.c | 302 +-
gdb/gdbtypes.h | 100 +-
gdb/gnulib/aclocal.m4 | 2 +
gdb/gnulib/config.in | 20 +
gdb/gnulib/configure | 533 +
gdb/gnulib/import/Makefile.am | 45 +-
gdb/gnulib/import/Makefile.in | 75 +-
gdb/gnulib/import/dirfd.c | 32 +
gdb/gnulib/import/errno.in.h | 279 +
gdb/gnulib/import/m4/dirfd.m4 | 83 +
gdb/gnulib/import/m4/errno_h.m4 | 137 +
gdb/gnulib/import/m4/gnulib-cache.m4 | 3 +-
gdb/gnulib/import/m4/gnulib-comp.m4 | 13 +
gdb/gnulib/update-gnulib.sh | 1 +
gdb/go-exp.y | 268 +-
gdb/go-lang.h | 4 +-
gdb/guile/scm-safe-call.c | 2 +-
gdb/guile/scm-value.c | 5 +-
gdb/i386-linux-nat.c | 5 +-
gdb/i386-linux-tdep.c | 16 +-
gdb/i386-linux-tdep.h | 7 +-
gdb/i386-tdep.c | 553 +-
gdb/i386-tdep.h | 64 +-
gdb/i387-tdep.c | 384 +-
gdb/i387-tdep.h | 21 +
gdb/inferior.h | 16 +-
gdb/infrun.c | 282 +-
gdb/inline-frame.c | 11 +-
gdb/jv-exp.y | 368 +-
gdb/jv-lang.h | 3 +-
gdb/jv-valprint.c | 1 +
gdb/language.c | 4 +-
gdb/language.h | 9 +-
gdb/linespec.c | 4 +
gdb/linux-nat.c | 7 +-
gdb/m2-exp.y | 275 +-
gdb/m2-lang.h | 3 +-
gdb/m2-valprint.c | 2 +-
gdb/macrocmd.c | 52 +-
gdb/main.c | 49 +-
gdb/main.h | 2 +
gdb/mdebugread.c | 4 +-
gdb/mem-break.c | 32 +
gdb/mi/mi-console.c | 7 +-
gdb/objc-lang.c | 8 +-
gdb/objc-lang.h | 3 +-
gdb/objfiles.c | 16 +
gdb/objfiles.h | 7 +
gdb/p-exp.y | 352 +-
gdb/p-lang.h | 3 +-
gdb/parse.c | 280 +-
gdb/parser-defs.h | 83 +-
gdb/ppc-linux-tdep.c | 6 +-
gdb/ppcobsd-nat.c | 3 +-
gdb/printcmd.c | 2 +-
gdb/psymtab.c | 15 +-
gdb/python/py-cmd.c | 6 +-
gdb/python/py-value.c | 5 +-
gdb/regformats/i386/amd64-avx512-linux.dat | 156 +
gdb/regformats/i386/amd64-avx512.dat | 155 +
gdb/regformats/i386/i386-avx512-linux.dat | 76 +
gdb/regformats/i386/i386-avx512.dat | 75 +
gdb/regformats/i386/x32-avx512-linux.dat | 156 +
gdb/regformats/i386/x32-avx512.dat | 155 +
gdb/remote.c | 656 +-
gdb/s390-linux-nat.c | 2 +-
gdb/s390-linux-tdep.c | 8 +-
gdb/solib-darwin.c | 20 +-
gdb/solib.c | 16 +-
gdb/spu-tdep.c | 69 +-
gdb/stabsread.c | 11 +-
gdb/stack.c | 7 +
gdb/stap-probe.c | 140 +-
gdb/stap-probe.h | 6 +
gdb/symfile-mem.c | 38 +-
gdb/symfile.c | 55 +-
gdb/symfile.h | 2 +
gdb/symtab.c | 60 +-
gdb/symtab.h | 4 -
gdb/target.h | 6 +
gdb/testsuite/ChangeLog |34326 +-------------------
gdb/testsuite/ChangeLog-1993-2013 |33663 +++++++++++++++++++
gdb/testsuite/boards/local-remote-host-notty.exp | 53 +
gdb/testsuite/boards/local-remote-host.exp | 38 +-
gdb/testsuite/boards/native-extended-gdbserver.exp | 3 +-
gdb/testsuite/boards/native-stdio-gdbserver.exp | 54 +-
gdb/testsuite/boards/remote-stdio-gdbserver.exp | 38 +-
gdb/testsuite/gdb.ada/complete.exp | 23 +-
gdb/testsuite/gdb.ada/dyn_arrayidx.exp | 36 +
gdb/testsuite/gdb.ada/dyn_arrayidx/foo.adb | 32 +
gdb/testsuite/gdb.ada/mi_dyn_arr.exp | 52 +
gdb/testsuite/gdb.ada/mi_dyn_arr/foo.adb | 24 +
gdb/testsuite/gdb.ada/mi_dyn_arr/pck.adb | 30 +
gdb/testsuite/gdb.ada/mi_dyn_arr/pck.ads | 21 +
gdb/testsuite/gdb.arch/Makefile.in | 2 +-
gdb/testsuite/gdb.arch/aarch64-atomic-inst.c | 48 +
gdb/testsuite/gdb.arch/aarch64-atomic-inst.exp | 48 +
.../gdb.arch/amd64-stap-optional-prefix.S | 42 +
.../gdb.arch/amd64-stap-optional-prefix.exp | 91 +
gdb/testsuite/gdb.arch/i386-avx512.c | 255 +
gdb/testsuite/gdb.arch/i386-avx512.exp | 176 +
gdb/testsuite/gdb.arch/ppc64-atomic-inst.S | 61 +
gdb/testsuite/gdb.arch/ppc64-atomic-inst.c | 44 -
gdb/testsuite/gdb.arch/ppc64-atomic-inst.exp | 32 +-
gdb/testsuite/gdb.asm/asm-source.exp | 5 +
gdb/testsuite/gdb.asm/powerpc64le.inc | 47 +
gdb/testsuite/gdb.base/Makefile.in | 2 +-
gdb/testsuite/gdb.base/break-unload-file.c | 35 +
gdb/testsuite/gdb.base/break-unload-file.exp | 128 +
gdb/testsuite/gdb.base/catch-syscall.c | 12 +-
gdb/testsuite/gdb.base/catch-syscall.exp | 6 +-
gdb/testsuite/gdb.base/completion.exp | 132 +-
gdb/testsuite/gdb.base/cond-eval-mode.c | 53 +
gdb/testsuite/gdb.base/cond-eval-mode.exp | 130 +-
gdb/testsuite/gdb.base/consecutive-step-over.c | 28 +
gdb/testsuite/gdb.base/consecutive-step-over.exp | 70 +
gdb/testsuite/gdb.base/dprintf.exp | 63 +-
gdb/testsuite/gdb.base/filesym.exp | 6 +
gdb/testsuite/gdb.base/gdbvars.c | 4 +-
.../gdb.base/hbreak-in-shr-unsupported-shr.c | 22 +
gdb/testsuite/gdb.base/hbreak-in-shr-unsupported.c | 28 +
.../gdb.base/hbreak-in-shr-unsupported.exp | 120 +
gdb/testsuite/gdb.base/hbreak-unmapped.c | 22 +
gdb/testsuite/gdb.base/hbreak-unmapped.exp | 72 +
gdb/testsuite/gdb.base/label.exp | 10 +
gdb/testsuite/gdb.base/macscp.exp | 137 +-
gdb/testsuite/gdb.base/memattr.c | 10 +-
gdb/testsuite/gdb.base/memattr.exp | 115 +-
gdb/testsuite/gdb.base/print-symbol-loading-lib.c | 21 +
gdb/testsuite/gdb.base/print-symbol-loading-main.c | 25 +
gdb/testsuite/gdb.base/print-symbol-loading.exp | 144 +
gdb/testsuite/gdb.base/printcmds.exp | 727 +-
gdb/testsuite/gdb.base/readline-ask.exp | 5 +
gdb/testsuite/gdb.base/readline.exp | 5 +
gdb/testsuite/gdb.base/setshow.exp | 4 +-
gdb/testsuite/gdb.base/setvar.exp | 21 +-
gdb/testsuite/gdb.base/source-dir.exp | 4 +-
gdb/testsuite/gdb.base/source-execution.c | 41 +
gdb/testsuite/gdb.base/source-execution.exp | 33 +
gdb/testsuite/gdb.base/source-execution.gdb | 21 +
gdb/testsuite/gdb.base/sym-file-lib.c | 6 +
gdb/testsuite/gdb.base/sym-file-loader.c | 210 +-
gdb/testsuite/gdb.base/sym-file-loader.h | 77 +-
gdb/testsuite/gdb.base/sym-file-main.c | 54 +-
gdb/testsuite/gdb.base/sym-file.exp | 105 +-
gdb/testsuite/gdb.base/vla-datatypes.c | 86 +
gdb/testsuite/gdb.base/vla-datatypes.exp | 139 +
gdb/testsuite/gdb.base/vla-ptr.c | 58 +
gdb/testsuite/gdb.base/vla-ptr.exp | 41 +
gdb/testsuite/gdb.base/vla-sideeffect.c | 42 +
gdb/testsuite/gdb.base/vla-sideeffect.exp | 89 +
gdb/testsuite/gdb.base/whatis.c | 8 +-
gdb/testsuite/gdb.cp/classes.exp | 2 +-
gdb/testsuite/gdb.cp/cpexprs.cc | 170 +-
gdb/testsuite/gdb.cp/cpexprs.exp | 32 +-
gdb/testsuite/gdb.cp/cplabel.exp | 1 +
gdb/testsuite/gdb.cp/cpsizeof.cc | 71 +
gdb/testsuite/gdb.cp/cpsizeof.exp | 40 +
gdb/testsuite/gdb.cp/enum-class.cc | 46 +
gdb/testsuite/gdb.cp/enum-class.exp | 48 +
gdb/testsuite/gdb.cp/namelessclass.S | 890 +
gdb/testsuite/gdb.cp/namelessclass.cc | 46 +
gdb/testsuite/gdb.cp/namelessclass.exp | 52 +
gdb/testsuite/gdb.cp/pr10728-x.cc | 2 +-
gdb/testsuite/gdb.cp/pr10728-x.h | 2 +-
gdb/testsuite/gdb.cp/pr10728-y.cc | 6 +-
gdb/testsuite/gdb.cp/ptype-cv-cp.cc | 2 +-
gdb/testsuite/gdb.cp/var-tag.cc | 44 +
gdb/testsuite/gdb.cp/var-tag.exp | 99 +
gdb/testsuite/gdb.dwarf2/corrupt.c | 24 +
gdb/testsuite/gdb.dwarf2/corrupt.exp | 77 +
gdb/testsuite/gdb.dwarf2/count.exp | 125 +
gdb/testsuite/gdb.dwarf2/dw2-abs-hi-pc.exp | 2 +-
gdb/testsuite/gdb.dwarf2/dw2-ada-ffffffff.exp | 4 +
gdb/testsuite/gdb.dwarf2/dw2-anon-mptr.exp | 2 +
gdb/testsuite/gdb.dwarf2/dw2-anonymous-func.exp | 5 +
.../gdb.dwarf2/dw2-double-set-die-type.exp | 1 +
gdb/testsuite/gdb.dwarf2/dw2-filename.exp | 6 +
gdb/testsuite/gdb.dwarf2/dw2-inheritance.exp | 1 +
gdb/testsuite/gdb.dwarf2/dwz.exp | 60 +-
gdb/testsuite/gdb.dwarf2/dwzbuildid.exp | 4 +-
gdb/testsuite/gdb.dwarf2/enum-type.exp | 81 +
gdb/testsuite/gdb.dwarf2/fission-reread.S | 4 +-
gdb/testsuite/gdb.dwarf2/fission-reread.exp | 11 +-
gdb/testsuite/gdb.gdb/selftest.exp | 8 +-
gdb/testsuite/gdb.guile/scm-value.c | 2 +
gdb/testsuite/gdb.guile/scm-value.exp | 2 +
gdb/testsuite/gdb.java/jnpe.exp | 2 +-
gdb/testsuite/gdb.linespec/ls-dollar.exp | 11 +-
gdb/testsuite/gdb.linespec/ls-errs.exp | 108 +-
gdb/testsuite/gdb.linespec/macro-relative.exp | 6 +
gdb/testsuite/gdb.mi/mi-break.exp | 148 +-
gdb/testsuite/gdb.mi/mi-dprintf.exp | 86 +-
gdb/testsuite/gdb.mi/mi-file.exp | 8 +-
gdb/testsuite/gdb.mi/mi-nonstop.exp | 3 +-
gdb/testsuite/gdb.mi/mi-nsintrall.exp | 5 +-
gdb/testsuite/gdb.mi/mi-nsmoribund.exp | 5 +-
gdb/testsuite/gdb.mi/mi-nsthrexec.exp | 11 +-
gdb/testsuite/gdb.mi/mi-reverse.exp | 5 +-
gdb/testsuite/gdb.mi/mi-simplerun.exp | 45 +-
gdb/testsuite/gdb.mi/mi-stepn.exp | 5 +-
gdb/testsuite/gdb.mi/mi-syn-frame.exp | 10 +-
gdb/testsuite/gdb.mi/mi-until.exp | 11 +-
gdb/testsuite/gdb.mi/mi-var-cp.exp | 7 +-
gdb/testsuite/gdb.mi/mi-var-display.exp | 12 +-
gdb/testsuite/gdb.mi/mi-vla-c99.exp | 83 +
gdb/testsuite/gdb.mi/mi2-amd64-entry-value.exp | 2 +-
gdb/testsuite/gdb.mi/mi2-var-child.exp | 5 +-
gdb/testsuite/gdb.mi/non-stop.c | 2 +-
gdb/testsuite/gdb.mi/vla.c | 37 +
gdb/testsuite/gdb.multi/multi-attach.c | 48 +
gdb/testsuite/gdb.multi/multi-attach.exp | 60 +
gdb/testsuite/gdb.opt/inline-break.exp | 4 +-
gdb/testsuite/gdb.opt/inline-bt.exp | 16 +
gdb/testsuite/gdb.python/lib-types.exp | 3 +-
gdb/testsuite/gdb.python/py-cmd.exp | 18 +-
gdb/testsuite/gdb.python/py-frame-inline.c | 4 +-
gdb/testsuite/gdb.python/py-frame-inline.exp | 14 +
gdb/testsuite/gdb.python/py-prettyprint.c | 2 +-
gdb/testsuite/gdb.python/py-value.c | 2 +
gdb/testsuite/gdb.python/py-value.exp | 2 +
gdb/testsuite/gdb.stabs/gdb11479.c | 2 +-
gdb/testsuite/gdb.stabs/gdb11479.exp | 4 +-
gdb/testsuite/gdb.threads/staticthreads.c | 2 +-
gdb/testsuite/gdb.trace/actions.c | 2 +-
gdb/testsuite/gdb.trace/change-loc.exp | 64 +
gdb/testsuite/gdb.trace/ftrace.exp | 16 +
gdb/testsuite/gdb.trace/mi-traceframe-changed.exp | 20 +-
gdb/testsuite/gdb.trace/qtro.exp | 16 -
gdb/testsuite/gdb.trace/tfile.exp | 18 +-
gdb/testsuite/gdb.trace/unavailable.exp | 758 +-
gdb/testsuite/lib/compiler.c | 4 +
gdb/testsuite/lib/compiler.cc | 4 +
gdb/testsuite/lib/gdb.exp | 153 +-
gdb/testsuite/lib/gdbserver-support.exp | 15 +-
gdb/testsuite/lib/mi-support.exp | 199 +-
gdb/testsuite/lib/trace-support.exp | 27 +
gdb/top.c | 18 +-
gdb/tracefile-tfile.c | 69 +-
gdb/tracefile.c | 61 +
gdb/tracefile.h | 2 +
gdb/utils.c | 18 +
gdb/utils.h | 4 +
gdb/valops.c | 104 +-
gdb/valprint.c | 128 +-
gdb/value.c | 20 +-
gdb/value.h | 9 +-
gdb/varobj.c | 15 +-
gdb/windows-nat.c | 49 +-
gold/ChangeLog | 128 +-
gold/arm.cc | 6 +-
gold/configure | 76 +-
gold/configure.ac | 31 +-
gold/copy-relocs.cc | 32 +-
gold/copy-relocs.h | 30 +-
gold/defstd.cc | 14 +
gold/gdb-index.cc | 29 +-
gold/i386.cc | 108 +-
gold/icf.cc | 16 +-
gold/layout.cc | 22 +-
gold/object.cc | 2 +-
gold/powerpc.cc | 24 +-
gold/resolve.cc | 4 +
gold/sparc.cc | 6 +-
gold/symtab.cc | 25 +
gold/symtab.h | 37 +-
gold/target-reloc.h | 14 +-
gold/target.h | 10 +
gold/testsuite/Makefile.am | 69 +-
gold/testsuite/Makefile.in | 281 +-
gold/testsuite/ehdr_start_def.cc | 26 +
gold/testsuite/ehdr_start_test.cc | 67 +
gold/testsuite/ehdr_start_test.t | 42 +
gold/testsuite/ehdr_start_test_4.sh | 40 +
gold/testsuite/pie_copyrelocs_shared_test.cc | 26 +
gold/testsuite/pie_copyrelocs_test.cc | 31 +
gold/tilegx.cc | 6 +-
gold/x86_64.cc | 117 +-
include/ChangeLog | 16 +
include/coff/ChangeLog | 13 +
include/coff/internal.h | 116 +-
include/coff/or32.h | 288 -
include/coff/pe.h | 49 +-
include/dis-asm.h | 4 +-
include/elf/ChangeLog | 7 +
include/elf/avr.h | 3 +
include/elf/common.h | 11 +-
include/elf/openrisc.h | 39 -
include/elf/or1k.h | 65 +
include/elf/or32.h | 56 -
include/longlong.h | 22 +-
include/mach-o/ChangeLog | 25 +-
include/mach-o/external.h | 18 +
include/mach-o/loader.h | 74 +-
include/mach-o/unwind.h | 2 +-
include/opcode/ChangeLog | 32 +
include/opcode/mips.h | 78 +-
include/opcode/or32.h | 181 -
ld/ChangeLog | 138 +-
ld/Makefile.am | 43 +-
ld/Makefile.in | 50 +-
ld/NEWS | 6 +
ld/configure | 17 +-
ld/configure.in | 12 -
ld/configure.tgt | 17 +-
ld/emulparams/elf32openrisc.sh | 11 -
ld/emulparams/elf32or1k.sh | 14 +
ld/emulparams/elf32or1k_linux.sh | 5 +
ld/emulparams/i386pe.sh | 1 -
ld/emulparams/i386pep.sh | 1 -
ld/emulparams/nios2linux.sh | 4 +-
ld/emulparams/or32.sh | 5 -
ld/emulparams/or32elf.sh | 9 -
ld/emultempl/alphaelf.em | 1 +
ld/emultempl/default-manifest.rc | 28 -
ld/emultempl/elf32.em | 112 +-
ld/emultempl/metagelf.em | 4 +-
ld/emultempl/nds32elf.em | 1 +
ld/emultempl/nios2elf.em | 6 +-
ld/emultempl/pe.em | 233 +-
ld/emultempl/pep.em | 234 +-
ld/emultempl/ppc32elf.em | 41 +
ld/emultempl/spuelf.em | 6 +-
ld/emultempl/tic6xdsbt.em | 24 +-
ld/ld.texinfo | 37 +-
ld/ldbuildid.c | 158 +
ld/ldbuildid.h | 39 +
ld/ldlang.c | 18 +-
ld/ldlang.h | 2 +
ld/ldmain.c | 61 +-
ld/po/POTFILES.in | 2 +
ld/scripttempl/or32.sc | 37 -
ld/scripttempl/pe.sc | 20 +-
ld/scripttempl/pep.sc | 20 +-
ld/testsuite/ChangeLog | 183 +
ld/testsuite/ld-aarch64/aarch64-elf.exp | 2 +
ld/testsuite/ld-aarch64/eh-frame.d | 4 +-
ld/testsuite/ld-aarch64/relasz.d | 18 +
ld/testsuite/ld-aarch64/relasz.s | 9 +
ld/testsuite/ld-aarch64/tls-relax-gdesc-ie.s | 2 +-
ld/testsuite/ld-arm/arm-app-abs32.d | 5 +-
ld/testsuite/ld-arm/arm-app.d | 7 +-
ld/testsuite/ld-arm/arm-lib-plt32.d | 7 +-
ld/testsuite/ld-arm/arm-lib.d | 7 +-
ld/testsuite/ld-arm/arm-no-rel-plt.ld | 3 -
ld/testsuite/ld-arm/arm-rel32.d | 2 +-
ld/testsuite/ld-arm/armthumb-lib.d | 7 +-
ld/testsuite/ld-arm/cortex-a8-fix-b-plt.d | 7 +-
ld/testsuite/ld-arm/cortex-a8-fix-bcc-plt.d | 7 +-
ld/testsuite/ld-arm/cortex-a8-fix-bl-plt.d | 7 +-
ld/testsuite/ld-arm/cortex-a8-fix-bl-rel-plt.d | 69 +-
ld/testsuite/ld-arm/cortex-a8-fix-blx-plt.d | 7 +-
ld/testsuite/ld-arm/data-only-map.d | 2 +-
ld/testsuite/ld-arm/farcall-mixed-app-v5.d | 12 +-
ld/testsuite/ld-arm/farcall-mixed-app.d | 12 +-
ld/testsuite/ld-arm/farcall-mixed-lib-v4t.d | 16 +-
ld/testsuite/ld-arm/farcall-mixed-lib.d | 16 +-
ld/testsuite/ld-arm/fix-arm1176-off.d | 2 +-
ld/testsuite/ld-arm/fix-arm1176-on.d | 2 +-
ld/testsuite/ld-arm/ifunc-1.gd | 8 +-
ld/testsuite/ld-arm/ifunc-10.dd | 164 +-
ld/testsuite/ld-arm/ifunc-10.gd | 52 +-
ld/testsuite/ld-arm/ifunc-11.gd | 8 +-
ld/testsuite/ld-arm/ifunc-12.gd | 12 +-
ld/testsuite/ld-arm/ifunc-13.gd | 8 +-
ld/testsuite/ld-arm/ifunc-14.dd | 4 +-
ld/testsuite/ld-arm/ifunc-14.gd | 8 +-
ld/testsuite/ld-arm/ifunc-15.dd | 4 +-
ld/testsuite/ld-arm/ifunc-15.gd | 8 +-
ld/testsuite/ld-arm/ifunc-16.gd | 8 +-
ld/testsuite/ld-arm/ifunc-17.gd | 4 +-
ld/testsuite/ld-arm/ifunc-2.gd | 14 +-
ld/testsuite/ld-arm/ifunc-3.dd | 13 +-
ld/testsuite/ld-arm/ifunc-3.gd | 12 +-
ld/testsuite/ld-arm/ifunc-4.dd | 202 +-
ld/testsuite/ld-arm/ifunc-4.gd | 38 +-
ld/testsuite/ld-arm/ifunc-5.gd | 6 +-
ld/testsuite/ld-arm/ifunc-6.gd | 8 +-
ld/testsuite/ld-arm/ifunc-7.dd | 14 +-
ld/testsuite/ld-arm/ifunc-7.gd | 12 +-
ld/testsuite/ld-arm/ifunc-8.dd | 208 +-
ld/testsuite/ld-arm/ifunc-8.gd | 32 +-
ld/testsuite/ld-arm/ifunc-9.dd | 9 +-
ld/testsuite/ld-arm/ifunc-9.gd | 8 +-
ld/testsuite/ld-arm/jump-reloc-veneers-long.d | 2 +-
ld/testsuite/ld-arm/long-plt-format.d | 3 +-
ld/testsuite/ld-arm/mixed-app-v5.d | 8 +-
ld/testsuite/ld-arm/mixed-app.d | 8 +-
ld/testsuite/ld-arm/mixed-lib.d | 7 +-
ld/testsuite/ld-arm/reloc-boundaries.d | 2 +-
ld/testsuite/ld-arm/thumb2-bl-undefweak.d | 2 +-
ld/testsuite/ld-arm/thumb2-bl-undefweak1.d | 2 +-
ld/testsuite/ld-avr/avr.exp | 31 +
ld/testsuite/ld-avr/norelax_diff.d | 13 +
ld/testsuite/ld-avr/relax.s | 12 +
ld/testsuite/ld-avr/relax_diff.d | 14 +
ld/testsuite/ld-discard/extern.d | 2 +-
ld/testsuite/ld-discard/start.d | 2 +-
ld/testsuite/ld-discard/static.d | 2 +-
ld/testsuite/ld-elf/eh-frame-hdr.d | 2 +-
ld/testsuite/ld-elf/group1.d | 2 +-
ld/testsuite/ld-elf/group3b.d | 2 +-
ld/testsuite/ld-elf/group8a.d | 2 +-
ld/testsuite/ld-elf/group8b.d | 2 +-
ld/testsuite/ld-elf/group9a.d | 2 +-
ld/testsuite/ld-elf/group9b.d | 2 +-
ld/testsuite/ld-elf/linkonce2.d | 2 +-
ld/testsuite/ld-elf/merge2.d | 2 +-
ld/testsuite/ld-elf/orphan-region.d | 2 +-
ld/testsuite/ld-elf/orphan.d | 2 +-
ld/testsuite/ld-elf/orphan3.d | 2 +-
ld/testsuite/ld-elf/pr12851.d | 2 +-
ld/testsuite/ld-elf/pr12975.d | 2 +-
ld/testsuite/ld-elf/pr13177.d | 2 +-
ld/testsuite/ld-elf/pr13195.d | 2 +-
ld/testsuite/ld-elf/pr349.d | 2 +-
ld/testsuite/ld-elf/sec64k.exp | 2 +-
ld/testsuite/ld-elf/warn1.d | 2 +-
ld/testsuite/ld-elf/warn2.d | 2 +-
ld/testsuite/ld-elf/warn3.d | 2 +-
ld/testsuite/ld-mips-elf/elf-rel-xgot-n32-embed.d | 202 +-
ld/testsuite/ld-mips-elf/elf-rel-xgot-n32.d | 202 +-
ld/testsuite/ld-mips-elf/elf-rel-xgot-n64-embed.d | 204 +-
ld/testsuite/ld-mips-elf/elf-rel-xgot-n64-linux.d | 204 +-
ld/testsuite/ld-mips-elf/elf-rel-xgot-n64.d | 203 +-
ld/testsuite/ld-mmix/b-offloc.s | 2 +-
ld/testsuite/ld-mmix/b-offlocmis.s | 17 +
ld/testsuite/ld-mmix/sec-10.d | 18 +
ld/testsuite/ld-mmix/sec-10.s | 8 +
ld/testsuite/ld-mmix/sec-11.d | 7 +
ld/testsuite/ld-mmix/sec-11.ld | 10 +
ld/testsuite/ld-mmix/sec-12.d | 26 +
ld/testsuite/ld-mmix/wrap1.d | 21 +
ld/testsuite/ld-mmix/wrap1a.s | 2 +
ld/testsuite/ld-mmix/wrap1b.s | 4 +
ld/testsuite/ld-mmix/wrap1c.s | 4 +
ld/testsuite/ld-mmix/wrap2.d | 21 +
ld/testsuite/ld-mmix/wrap3.d | 21 +
ld/testsuite/ld-mmix/wrap3a.s | 2 +
ld/testsuite/ld-mmix/wrap3b.s | 4 +
ld/testsuite/ld-mmix/wrap4.d | 21 +
ld/testsuite/ld-pe/longsecn-3.d | 3 +-
ld/testsuite/ld-pe/longsecn-4.d | 3 +-
ld/testsuite/ld-pe/longsecn-5.d | 3 +-
ld/testsuite/ld-pe/non-c-lang-syms.s | 1 -
ld/testsuite/ld-pe/orphana_nu.s | 2 +
ld/testsuite/ld-plugin/lto.exp | 24 +-
ld/testsuite/ld-plugin/pr16846a.c | 7 +
ld/testsuite/ld-plugin/pr16846b.c | 7 +
ld/testsuite/ld-plugin/pr16846c.c | 1 +
ld/testsuite/ld-powerpc/ambiguousv1.d | 12 +
ld/testsuite/ld-powerpc/ambiguousv2.d | 12 +
ld/testsuite/ld-powerpc/funref.s | 4 +
ld/testsuite/ld-powerpc/funv1.s | 10 +
ld/testsuite/ld-powerpc/funv2.s | 6 +
ld/testsuite/ld-powerpc/powerpc.exp | 4 +
ld/testsuite/ld-powerpc/startv1.s | 8 +
ld/testsuite/ld-powerpc/startv2.s | 5 +
ld/testsuite/ld-scripts/data.exp | 2 +
ld/testsuite/ld-scripts/fill.d | 29 +
ld/testsuite/ld-scripts/fill.t | 20 +
ld/testsuite/ld-scripts/fill_0.s | 2 +
ld/testsuite/ld-scripts/fill_1.s | 3 +
ld/testsuite/ld-scripts/fill_2.s | 3 +
ld/testsuite/ld-scripts/weak.exp | 4 +-
ld/testsuite/ld-x86-64/plt-nacl.pd | 12 +-
ld/testsuite/ld-x86-64/tlsbin.dd | 4 +-
ld/testsuite/ld-x86-64/tlsdesc-nacl.pd | 8 +-
ld/testsuite/ld-x86-64/tlsgdesc.dd | 8 +-
ld/testsuite/ld-x86-64/tlsld1.dd | 2 +-
ld/testsuite/ld-x86-64/tlsld3.dd | 2 +-
ld/testsuite/ld-x86-64/tlspic.dd | 16 +-
ld/testsuite/ld-xtensa/diff_overflow.exp | 45 +
ld/testsuite/ld-xtensa/diff_overflow1.s | 27 +
ld/testsuite/ld-xtensa/diff_overflow2.s | 22 +
ld/testsuite/lib/ld-lib.exp | 4 +-
libdecnumber/ChangeLog | 5 +
libdecnumber/decNumberLocal.h | 7 +-
libiberty/ChangeLog | 43 +
libiberty/Makefile.in | 384 +-
libiberty/configure | 7 +
libiberty/configure.ac | 6 +
libiberty/cp-demangle.c | 64 +-
libiberty/maint-tool | 5 +-
libiberty/regex.c | 6 +-
libiberty/simple-object.c | 50 +-
libiberty/testsuite/demangle-expected | 26 +
opcodes/ChangeLog | 152 +
opcodes/Makefile.am | 29 +-
opcodes/Makefile.in | 41 +-
opcodes/aarch64-dis.c | 12 +-
opcodes/config.in | 3 +
opcodes/configure | 38 +-
opcodes/configure.in | 14 +-
opcodes/disassemble.c | 17 +-
opcodes/h8500-dis.c | 6 +-
opcodes/i386-dis.c | 311 +-
opcodes/i386-gen.c | 3 +
opcodes/i386-init.h | 194 +-
opcodes/i386-opc.h | 3 +
opcodes/i386-opc.tbl | 7 +
opcodes/i386-tbl.h | 7538 +++---
opcodes/mips-dis.c | 54 +-
opcodes/mips-opc.c | 30 +-
opcodes/moxie-opc.c | 4 +-
opcodes/ns32k-dis.c | 6 +-
opcodes/openrisc-asm.c | 648 -
opcodes/openrisc-desc.c | 1018 -
opcodes/openrisc-desc.h | 288 -
opcodes/openrisc-dis.c | 555 -
opcodes/openrisc-ibld.c | 1008 -
opcodes/openrisc-opc.c | 682 -
opcodes/openrisc-opc.h | 113 -
opcodes/or1k-asm.c | 909 +
opcodes/or1k-desc.c | 2094 ++
opcodes/or1k-desc.h | 682 +
opcodes/or1k-dis.c | 562 +
opcodes/or1k-ibld.c | 1051 +
opcodes/or1k-opc.c | 1059 +
opcodes/or1k-opc.h | 134 +
opcodes/or1k-opinst.c | 587 +
opcodes/or32-dis.c | 325 -
opcodes/or32-opc.c | 1030 -
opcodes/po/POTFILES.in | 14 +-
opcodes/sysdep.h | 14 +
opcodes/vax-dis.c | 6 +-
opcodes/xtensa-dis.c | 6 +-
opcodes/z8k-dis.c | 6 +-
sim/moxie/ChangeLog | 4 +
sim/moxie/interp.c | 20 +-
sim/msp430/ChangeLog | 16 +
sim/msp430/msp430-sim.c | 204 +-
1070 files changed, 87807 insertions(+), 60654 deletions(-)
delete mode 100644 bfd/coff-or32.c
delete mode 100644 bfd/cpu-openrisc.c
create mode 100644 bfd/cpu-or1k.c
delete mode 100644 bfd/cpu-or32.c
delete mode 100644 bfd/elf32-openrisc.c
create mode 100644 bfd/elf32-or1k.c
delete mode 100644 bfd/elf32-or32.c
create mode 100644 binutils/testsuite/binutils-all/aarch64/aarch64.exp
create mode 100644 binutils/testsuite/binutils-all/aarch64/unallocated-encoding.d
create mode 100644 binutils/testsuite/binutils-all/aarch64/unallocated-encoding.s
create mode 100644 binutils/testsuite/binutils-all/debug_str.d
create mode 100644 binutils/testsuite/binutils-all/debug_str.s
create mode 100644 binutils/testsuite/binutils-all/dw2-decodedline-1.S
create mode 100644 config/mt-nios2-elf
delete mode 100644 cpu/openrisc.cpu
delete mode 100644 cpu/openrisc.opc
create mode 100644 cpu/or1k.cpu
create mode 100644 cpu/or1k.opc
create mode 100644 cpu/or1kcommon.cpu
create mode 100644 cpu/or1korbis.cpu
create mode 100644 cpu/or1korfpx.cpu
delete mode 100644 gas/config/tc-openrisc.c
delete mode 100644 gas/config/tc-openrisc.h
create mode 100644 gas/config/tc-or1k.c
create mode 100644 gas/config/tc-or1k.h
delete mode 100644 gas/config/tc-or32.c
delete mode 100644 gas/config/tc-or32.h
create mode 100644 gas/testsuite/gas/avr/avr.exp
create mode 100644 gas/testsuite/gas/avr/diffreloc_withrelax.d
create mode 100644 gas/testsuite/gas/avr/noreloc_withoutrelax.d
create mode 100644 gas/testsuite/gas/avr/relax.s
create mode 100644 gas/testsuite/gas/avr/rmw.d
create mode 100644 gas/testsuite/gas/avr/rmw.s
create mode 100644 gas/testsuite/gas/i386/se1.d
create mode 100644 gas/testsuite/gas/i386/se1.s
create mode 100644 gas/testsuite/gas/i386/x86-64-se1.d
create mode 100644 gas/testsuite/gas/i386/x86-64-se1.s
create mode 100644 gas/testsuite/gas/lns/lns-common-1-or1k.s
create mode 100644 gas/testsuite/gas/mips/attr-gnu-abi-fp-1.d
create mode 100644 gas/testsuite/gas/mips/attr-gnu-abi-fp-1.s
create mode 100644 gas/testsuite/gas/mips/attr-gnu-abi-msa-1.d
create mode 100644 gas/testsuite/gas/mips/attr-gnu-abi-msa-1.s
create mode 100644 gas/testsuite/gas/mips/r5.d
create mode 100644 gas/testsuite/gas/mips/r5.s
create mode 100644 gas/testsuite/gas/mips/xpa.d
create mode 100644 gas/testsuite/gas/mips/xpa.s
create mode 100644 gas/testsuite/gas/nios2/selftest.d
create mode 100644 gas/testsuite/gas/nios2/selftest.s
delete mode 100644 gas/testsuite/gas/openrisc/addi.d
delete mode 100644 gas/testsuite/gas/openrisc/addi.s
delete mode 100644 gas/testsuite/gas/openrisc/allinsn.d
delete mode 100644 gas/testsuite/gas/openrisc/allinsn.exp
delete mode 100644 gas/testsuite/gas/openrisc/allinsn.s
delete mode 100644 gas/testsuite/gas/openrisc/lohi.d
delete mode 100644 gas/testsuite/gas/openrisc/lohi.s
delete mode 100644 gas/testsuite/gas/openrisc/store.d
delete mode 100644 gas/testsuite/gas/openrisc/store.s
create mode 100644 gas/testsuite/gas/or1k/allinsn.d
create mode 100644 gas/testsuite/gas/or1k/allinsn.exp
create mode 100644 gas/testsuite/gas/or1k/allinsn.s
create mode 100644 gas/testsuite/gas/xtensa/first_frag_align.d
create mode 100644 gas/testsuite/gas/xtensa/first_frag_align.s
create mode 100644 gdb/features/i386/32bit-avx512.xml
create mode 100644 gdb/features/i386/64bit-avx512.xml
create mode 100644 gdb/features/i386/amd64-avx512-linux.c
create mode 100644 gdb/features/i386/amd64-avx512-linux.xml
create mode 100644 gdb/features/i386/amd64-avx512.c
create mode 100644 gdb/features/i386/amd64-avx512.xml
create mode 100644 gdb/features/i386/i386-avx512-linux.c
create mode 100644 gdb/features/i386/i386-avx512-linux.xml
create mode 100644 gdb/features/i386/i386-avx512.c
create mode 100644 gdb/features/i386/i386-avx512.xml
create mode 100644 gdb/features/i386/x32-avx512-linux.c
create mode 100644 gdb/features/i386/x32-avx512-linux.xml
create mode 100644 gdb/features/i386/x32-avx512.c
create mode 100644 gdb/features/i386/x32-avx512.xml
create mode 100644 gdb/gnulib/import/dirfd.c
create mode 100644 gdb/gnulib/import/errno.in.h
create mode 100644 gdb/gnulib/import/m4/dirfd.m4
create mode 100644 gdb/gnulib/import/m4/errno_h.m4
create mode 100644 gdb/regformats/i386/amd64-avx512-linux.dat
create mode 100644 gdb/regformats/i386/amd64-avx512.dat
create mode 100644 gdb/regformats/i386/i386-avx512-linux.dat
create mode 100644 gdb/regformats/i386/i386-avx512.dat
create mode 100644 gdb/regformats/i386/x32-avx512-linux.dat
create mode 100644 gdb/regformats/i386/x32-avx512.dat
create mode 100644 gdb/testsuite/ChangeLog-1993-2013
create mode 100644 gdb/testsuite/boards/local-remote-host-notty.exp
create mode 100644 gdb/testsuite/gdb.ada/dyn_arrayidx.exp
create mode 100644 gdb/testsuite/gdb.ada/dyn_arrayidx/foo.adb
create mode 100644 gdb/testsuite/gdb.ada/mi_dyn_arr.exp
create mode 100644 gdb/testsuite/gdb.ada/mi_dyn_arr/foo.adb
create mode 100644 gdb/testsuite/gdb.ada/mi_dyn_arr/pck.adb
create mode 100644 gdb/testsuite/gdb.ada/mi_dyn_arr/pck.ads
create mode 100644 gdb/testsuite/gdb.arch/aarch64-atomic-inst.c
create mode 100644 gdb/testsuite/gdb.arch/aarch64-atomic-inst.exp
create mode 100644 gdb/testsuite/gdb.arch/amd64-stap-optional-prefix.S
create mode 100644 gdb/testsuite/gdb.arch/amd64-stap-optional-prefix.exp
create mode 100644 gdb/testsuite/gdb.arch/i386-avx512.c
create mode 100644 gdb/testsuite/gdb.arch/i386-avx512.exp
create mode 100644 gdb/testsuite/gdb.arch/ppc64-atomic-inst.S
delete mode 100644 gdb/testsuite/gdb.arch/ppc64-atomic-inst.c
create mode 100644 gdb/testsuite/gdb.asm/powerpc64le.inc
create mode 100644 gdb/testsuite/gdb.base/break-unload-file.c
create mode 100644 gdb/testsuite/gdb.base/break-unload-file.exp
create mode 100644 gdb/testsuite/gdb.base/cond-eval-mode.c
create mode 100644 gdb/testsuite/gdb.base/consecutive-step-over.c
create mode 100644 gdb/testsuite/gdb.base/consecutive-step-over.exp
create mode 100644 gdb/testsuite/gdb.base/hbreak-in-shr-unsupported-shr.c
create mode 100644 gdb/testsuite/gdb.base/hbreak-in-shr-unsupported.c
create mode 100644 gdb/testsuite/gdb.base/hbreak-in-shr-unsupported.exp
create mode 100644 gdb/testsuite/gdb.base/hbreak-unmapped.c
create mode 100644 gdb/testsuite/gdb.base/hbreak-unmapped.exp
create mode 100644 gdb/testsuite/gdb.base/print-symbol-loading-lib.c
create mode 100644 gdb/testsuite/gdb.base/print-symbol-loading-main.c
create mode 100644 gdb/testsuite/gdb.base/print-symbol-loading.exp
create mode 100644 gdb/testsuite/gdb.base/source-execution.c
create mode 100644 gdb/testsuite/gdb.base/source-execution.exp
create mode 100644 gdb/testsuite/gdb.base/source-execution.gdb
create mode 100644 gdb/testsuite/gdb.base/vla-datatypes.c
create mode 100644 gdb/testsuite/gdb.base/vla-datatypes.exp
create mode 100644 gdb/testsuite/gdb.base/vla-ptr.c
create mode 100644 gdb/testsuite/gdb.base/vla-ptr.exp
create mode 100644 gdb/testsuite/gdb.base/vla-sideeffect.c
create mode 100644 gdb/testsuite/gdb.base/vla-sideeffect.exp
create mode 100644 gdb/testsuite/gdb.cp/cpsizeof.cc
create mode 100644 gdb/testsuite/gdb.cp/cpsizeof.exp
create mode 100644 gdb/testsuite/gdb.cp/enum-class.cc
create mode 100644 gdb/testsuite/gdb.cp/enum-class.exp
create mode 100644 gdb/testsuite/gdb.cp/namelessclass.S
create mode 100644 gdb/testsuite/gdb.cp/namelessclass.cc
create mode 100644 gdb/testsuite/gdb.cp/namelessclass.exp
create mode 100644 gdb/testsuite/gdb.cp/var-tag.cc
create mode 100644 gdb/testsuite/gdb.cp/var-tag.exp
create mode 100644 gdb/testsuite/gdb.dwarf2/corrupt.c
create mode 100644 gdb/testsuite/gdb.dwarf2/corrupt.exp
create mode 100644 gdb/testsuite/gdb.dwarf2/count.exp
create mode 100644 gdb/testsuite/gdb.dwarf2/enum-type.exp
create mode 100644 gdb/testsuite/gdb.mi/mi-vla-c99.exp
create mode 100644 gdb/testsuite/gdb.mi/vla.c
create mode 100644 gdb/testsuite/gdb.multi/multi-attach.c
create mode 100644 gdb/testsuite/gdb.multi/multi-attach.exp
create mode 100644 gold/testsuite/ehdr_start_def.cc
create mode 100644 gold/testsuite/ehdr_start_test.cc
create mode 100644 gold/testsuite/ehdr_start_test.t
create mode 100755 gold/testsuite/ehdr_start_test_4.sh
create mode 100644 gold/testsuite/pie_copyrelocs_shared_test.cc
create mode 100644 gold/testsuite/pie_copyrelocs_test.cc
delete mode 100644 include/coff/or32.h
delete mode 100644 include/elf/openrisc.h
create mode 100644 include/elf/or1k.h
delete mode 100644 include/elf/or32.h
delete mode 100644 include/opcode/or32.h
delete mode 100644 ld/emulparams/elf32openrisc.sh
create mode 100644 ld/emulparams/elf32or1k.sh
create mode 100644 ld/emulparams/elf32or1k_linux.sh
delete mode 100644 ld/emulparams/or32.sh
delete mode 100644 ld/emulparams/or32elf.sh
delete mode 100644 ld/emultempl/default-manifest.rc
create mode 100644 ld/ldbuildid.c
create mode 100644 ld/ldbuildid.h
delete mode 100644 ld/scripttempl/or32.sc
create mode 100644 ld/testsuite/ld-aarch64/relasz.d
create mode 100644 ld/testsuite/ld-aarch64/relasz.s
create mode 100644 ld/testsuite/ld-avr/avr.exp
create mode 100644 ld/testsuite/ld-avr/norelax_diff.d
create mode 100644 ld/testsuite/ld-avr/relax.s
create mode 100644 ld/testsuite/ld-avr/relax_diff.d
create mode 100644 ld/testsuite/ld-mmix/b-offlocmis.s
create mode 100644 ld/testsuite/ld-mmix/sec-10.d
create mode 100644 ld/testsuite/ld-mmix/sec-10.s
create mode 100644 ld/testsuite/ld-mmix/sec-11.d
create mode 100644 ld/testsuite/ld-mmix/sec-11.ld
create mode 100644 ld/testsuite/ld-mmix/sec-12.d
create mode 100644 ld/testsuite/ld-mmix/wrap1.d
create mode 100644 ld/testsuite/ld-mmix/wrap1a.s
create mode 100644 ld/testsuite/ld-mmix/wrap1b.s
create mode 100644 ld/testsuite/ld-mmix/wrap1c.s
create mode 100644 ld/testsuite/ld-mmix/wrap2.d
create mode 100644 ld/testsuite/ld-mmix/wrap3.d
create mode 100644 ld/testsuite/ld-mmix/wrap3a.s
create mode 100644 ld/testsuite/ld-mmix/wrap3b.s
create mode 100644 ld/testsuite/ld-mmix/wrap4.d
create mode 100644 ld/testsuite/ld-plugin/pr16846a.c
create mode 100644 ld/testsuite/ld-plugin/pr16846b.c
create mode 100644 ld/testsuite/ld-plugin/pr16846c.c
create mode 100644 ld/testsuite/ld-powerpc/ambiguousv1.d
create mode 100644 ld/testsuite/ld-powerpc/ambiguousv2.d
create mode 100644 ld/testsuite/ld-powerpc/funref.s
create mode 100644 ld/testsuite/ld-powerpc/funv1.s
create mode 100644 ld/testsuite/ld-powerpc/funv2.s
create mode 100644 ld/testsuite/ld-powerpc/startv1.s
create mode 100644 ld/testsuite/ld-powerpc/startv2.s
create mode 100644 ld/testsuite/ld-scripts/fill.d
create mode 100644 ld/testsuite/ld-scripts/fill.t
create mode 100644 ld/testsuite/ld-scripts/fill_0.s
create mode 100644 ld/testsuite/ld-scripts/fill_1.s
create mode 100644 ld/testsuite/ld-scripts/fill_2.s
create mode 100644 ld/testsuite/ld-xtensa/diff_overflow.exp
create mode 100644 ld/testsuite/ld-xtensa/diff_overflow1.s
create mode 100644 ld/testsuite/ld-xtensa/diff_overflow2.s
delete mode 100644 opcodes/openrisc-asm.c
delete mode 100644 opcodes/openrisc-desc.c
delete mode 100644 opcodes/openrisc-desc.h
delete mode 100644 opcodes/openrisc-dis.c
delete mode 100644 opcodes/openrisc-ibld.c
delete mode 100644 opcodes/openrisc-opc.c
delete mode 100644 opcodes/openrisc-opc.h
create mode 100644 opcodes/or1k-asm.c
create mode 100644 opcodes/or1k-desc.c
create mode 100644 opcodes/or1k-desc.h
create mode 100644 opcodes/or1k-dis.c
create mode 100644 opcodes/or1k-ibld.c
create mode 100644 opcodes/or1k-opc.c
create mode 100644 opcodes/or1k-opc.h
create mode 100644 opcodes/or1k-opinst.c
delete mode 100644 opcodes/or32-dis.c
delete mode 100644 opcodes/or32-opc.c
First 500 lines of diff:
diff --git a/ChangeLog b/ChangeLog
index 6af33f8..dcf12bb 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,56 @@
+2014-05-14 Sandra Loosemore <sandra@codesourcery.com>
+
+ * configure.ac (target_makefile_frag): Set for nios2-*-elf*.
+ * configure: Regenerated.
+
+2014-03-26 Jakub Jelinek <jakub@redhat.com>
+
+ PR sanitizer/56781
+ * Makefile.def: Set bootstrap=true; for host fixincludes.
+ * configure.ac: Don't bootstrap host fixincludes unless
+ --with-build-config=bootstrap-{a,ub}san.
+ * Makefile.in: Regenerated.
+ * configure: Regenerated.
+
+2014-03-21 Jakub Jelinek <jakub@redhat.com>
+
+ * configure.ac: Move BUILD_CONFIG set up earlier. Add
+ --enable-vtable-verify option parsing. Don't add
+ target-libsanitizer to bootstrap_target_libs unless
+ --with-build-config=bootstrap-asan or
+ --with-build-config=bootstrap-ubsan. Don't add target-libvtv
+ to bootstrap_target_libs unless --enable-vtable-verify.
+ * configure: Regenerated.
+
+2014-03-07 Jakub Jelinek <jakub@redhat.com>
+
+ PR bootstrap/58572
+ * Makefile.tpl (POSTSTAGE1_CXX_EXPORT): Use -isystem instead of
+ -I for libstdc++-v3 includes if $(LEAN).
+ * Makefile.in: Regenerated.
+
+2014-02-24 Walter Lee <walt@tilera.com>
+
+ * configure.ac (tilepro-*-*) Change to tilepro*-*-*.
+ (tilegx-*-*): Change to tilegx*-*-*.
+ * configure: Regenerate.
+
+2014-05-01 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * config.sub, config.guess: Import from upstream.
+
+2014-04-04 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR bootstrap/60620
+ * Makefile.def (dependencies): Make gnattools depend on libstdc++-v3.
+ * Makefile.in: Regenerate.
+
+2014-03-28 Yaakov Selkowitz <yselkowitz@users.sourceforge.net>
+
+ * Makefile.def (dependencies): Make all-ld depend on all-binutils
+ for WINDRES_FOR_TARGET in default-manifest.o rule.
+ * Makefile.in: Regenerate.
+
2014-02-04 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
PR target/59788
diff --git a/Makefile.def b/Makefile.def
index 32296d1..ec2b0f2 100644
--- a/Makefile.def
+++ b/Makefile.def
@@ -39,7 +39,7 @@ host_modules= { module= cgen; };
host_modules= { module= dejagnu; };
host_modules= { module= etc; };
host_modules= { module= fastjar; no_check_cross= true; };
-host_modules= { module= fixincludes;
+host_modules= { module= fixincludes; bootstrap=true;
missing= TAGS; };
host_modules= { module= flex; no_check_cross= true; };
host_modules= { module= gas; bootstrap=true; };
@@ -336,6 +336,7 @@ dependencies = { module=all-libcpp; on=all-intl; };
dependencies = { module=all-fixincludes; on=all-libiberty; };
dependencies = { module=all-gnattools; on=all-target-libada; };
+dependencies = { module=all-gnattools; on=all-target-libstdc++-v3; };
dependencies = { module=all-lto-plugin; on=all-libiberty; };
@@ -418,6 +419,7 @@ dependencies = { module=all-ld; on=all-build-bison; };
dependencies = { module=all-ld; on=all-build-flex; };
dependencies = { module=all-ld; on=all-intl; };
dependencies = { module=all-ld; on=all-gas; };
+dependencies = { module=all-ld; on=all-binutils; };
dependencies = { module=install-ld; on=install-gold; };
dependencies = { module=install-strip-ld; on=install-strip-gold; };
dependencies = { module=configure-gold; on=configure-intl; };
diff --git a/Makefile.in b/Makefile.in
index f9e8e0d..bf06dce 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -239,9 +239,9 @@ POSTSTAGE1_CXX_EXPORT = \
-B$$r/$(HOST_SUBDIR)/prev-gcc/ -B$(build_tooldir)/bin/ -nostdinc++ \
-B$$r/prev-$(TARGET_SUBDIR)/libstdc++-v3/src/.libs \
-B$$r/prev-$(TARGET_SUBDIR)/libstdc++-v3/libsupc++/.libs \
- -I$$r/prev-$(TARGET_SUBDIR)/libstdc++-v3/include/$(TARGET_SUBDIR) \
- -I$$r/prev-$(TARGET_SUBDIR)/libstdc++-v3/include \
- -I$$s/libstdc++-v3/libsupc++ \
+ `if $(LEAN); then echo ' -isystem '; else echo ' -I'; fi`$$r/prev-$(TARGET_SUBDIR)/libstdc++-v3/include/$(TARGET_SUBDIR) \
+ `if $(LEAN); then echo ' -isystem '; else echo ' -I'; fi`$$r/prev-$(TARGET_SUBDIR)/libstdc++-v3/include \
+ `if $(LEAN); then echo ' -isystem '; else echo ' -I'; fi`$$s/libstdc++-v3/libsupc++ \
-L$$r/prev-$(TARGET_SUBDIR)/libstdc++-v3/src/.libs \
-L$$r/prev-$(TARGET_SUBDIR)/libstdc++-v3/libsupc++/.libs"; \
export CXX; \
@@ -1003,7 +1003,9 @@ all-host: maybe-all-cgen
all-host: maybe-all-dejagnu
all-host: maybe-all-etc
all-host: maybe-all-fastjar
+@if fixincludes-no-bootstrap
all-host: maybe-all-fixincludes
+@endif fixincludes-no-bootstrap
all-host: maybe-all-flex
@if gas-no-bootstrap
all-host: maybe-all-gas
@@ -7807,7 +7809,6 @@ configure-fixincludes: stage_current
@if fixincludes
maybe-configure-fixincludes: configure-fixincludes
configure-fixincludes:
- @: $(MAKE); $(unstage)
@r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
test ! -f $(HOST_SUBDIR)/fixincludes/Makefile || exit 0; \
@@ -7830,6 +7831,204 @@ configure-fixincludes:
+.PHONY: configure-stage1-fixincludes maybe-configure-stage1-fixincludes
+maybe-configure-stage1-fixincludes:
+@if fixincludes-bootstrap
+maybe-configure-stage1-fixincludes: configure-stage1-fixincludes
+configure-stage1-fixincludes:
+ @[ $(current_stage) = stage1 ] || $(MAKE) stage1-start
+ @$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/fixincludes
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ TFLAGS="$(STAGE1_TFLAGS)"; \
+ test ! -f $(HOST_SUBDIR)/fixincludes/Makefile || exit 0; \
+ $(HOST_EXPORTS) \
+ CFLAGS="$(STAGE1_CFLAGS)"; export CFLAGS; \
+ CXXFLAGS="$(STAGE1_CXXFLAGS)"; export CXXFLAGS; \
+ LIBCFLAGS="$(LIBCFLAGS)"; export LIBCFLAGS; \
+ echo Configuring stage 1 in $(HOST_SUBDIR)/fixincludes ; \
+ $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/fixincludes ; \
+ cd $(HOST_SUBDIR)/fixincludes || exit 1; \
+ case $(srcdir) in \
+ /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+ *) topdir=`echo $(HOST_SUBDIR)/fixincludes/ | \
+ sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+ esac; \
+ srcdiroption="--srcdir=$${topdir}/fixincludes"; \
+ libsrcdir="$$s/fixincludes"; \
+ $(SHELL) $${libsrcdir}/configure \
+ $(HOST_CONFIGARGS) --build=${build_alias} --host=${host_alias} \
+ --target=${target_alias} $${srcdiroption} \
+ $(STAGE1_CONFIGURE_FLAGS)
+@endif fixincludes-bootstrap
+
+.PHONY: configure-stage2-fixincludes maybe-configure-stage2-fixincludes
+maybe-configure-stage2-fixincludes:
+@if fixincludes-bootstrap
+maybe-configure-stage2-fixincludes: configure-stage2-fixincludes
+configure-stage2-fixincludes:
+ @[ $(current_stage) = stage2 ] || $(MAKE) stage2-start
+ @$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/fixincludes
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ TFLAGS="$(STAGE2_TFLAGS)"; \
+ test ! -f $(HOST_SUBDIR)/fixincludes/Makefile || exit 0; \
+ $(HOST_EXPORTS) \
+ $(POSTSTAGE1_HOST_EXPORTS) \
+ CFLAGS="$(STAGE2_CFLAGS)"; export CFLAGS; \
+ CXXFLAGS="$(STAGE2_CXXFLAGS)"; export CXXFLAGS; \
+ LIBCFLAGS="$(STAGE2_CFLAGS)"; export LIBCFLAGS; \
+ echo Configuring stage 2 in $(HOST_SUBDIR)/fixincludes ; \
+ $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/fixincludes ; \
+ cd $(HOST_SUBDIR)/fixincludes || exit 1; \
+ case $(srcdir) in \
+ /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+ *) topdir=`echo $(HOST_SUBDIR)/fixincludes/ | \
+ sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+ esac; \
+ srcdiroption="--srcdir=$${topdir}/fixincludes"; \
+ libsrcdir="$$s/fixincludes"; \
+ $(SHELL) $${libsrcdir}/configure \
+ $(HOST_CONFIGARGS) --build=${build_alias} --host=${host_alias} \
+ --target=${target_alias} $${srcdiroption} \
+ --with-build-libsubdir=$(HOST_SUBDIR) \
+ $(STAGE2_CONFIGURE_FLAGS)
+@endif fixincludes-bootstrap
+
+.PHONY: configure-stage3-fixincludes maybe-configure-stage3-fixincludes
+maybe-configure-stage3-fixincludes:
+@if fixincludes-bootstrap
+maybe-configure-stage3-fixincludes: configure-stage3-fixincludes
+configure-stage3-fixincludes:
+ @[ $(current_stage) = stage3 ] || $(MAKE) stage3-start
+ @$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/fixincludes
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ TFLAGS="$(STAGE3_TFLAGS)"; \
+ test ! -f $(HOST_SUBDIR)/fixincludes/Makefile || exit 0; \
+ $(HOST_EXPORTS) \
+ $(POSTSTAGE1_HOST_EXPORTS) \
+ CFLAGS="$(STAGE3_CFLAGS)"; export CFLAGS; \
+ CXXFLAGS="$(STAGE3_CXXFLAGS)"; export CXXFLAGS; \
+ LIBCFLAGS="$(STAGE3_CFLAGS)"; export LIBCFLAGS; \
+ echo Configuring stage 3 in $(HOST_SUBDIR)/fixincludes ; \
+ $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/fixincludes ; \
+ cd $(HOST_SUBDIR)/fixincludes || exit 1; \
+ case $(srcdir) in \
+ /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+ *) topdir=`echo $(HOST_SUBDIR)/fixincludes/ | \
+ sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+ esac; \
+ srcdiroption="--srcdir=$${topdir}/fixincludes"; \
+ libsrcdir="$$s/fixincludes"; \
+ $(SHELL) $${libsrcdir}/configure \
+ $(HOST_CONFIGARGS) --build=${build_alias} --host=${host_alias} \
+ --target=${target_alias} $${srcdiroption} \
+ --with-build-libsubdir=$(HOST_SUBDIR) \
+ $(STAGE3_CONFIGURE_FLAGS)
+@endif fixincludes-bootstrap
+
+.PHONY: configure-stage4-fixincludes maybe-configure-stage4-fixincludes
+maybe-configure-stage4-fixincludes:
+@if fixincludes-bootstrap
+maybe-configure-stage4-fixincludes: configure-stage4-fixincludes
+configure-stage4-fixincludes:
+ @[ $(current_stage) = stage4 ] || $(MAKE) stage4-start
+ @$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/fixincludes
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ TFLAGS="$(STAGE4_TFLAGS)"; \
+ test ! -f $(HOST_SUBDIR)/fixincludes/Makefile || exit 0; \
+ $(HOST_EXPORTS) \
+ $(POSTSTAGE1_HOST_EXPORTS) \
+ CFLAGS="$(STAGE4_CFLAGS)"; export CFLAGS; \
+ CXXFLAGS="$(STAGE4_CXXFLAGS)"; export CXXFLAGS; \
+ LIBCFLAGS="$(STAGE4_CFLAGS)"; export LIBCFLAGS; \
+ echo Configuring stage 4 in $(HOST_SUBDIR)/fixincludes ; \
+ $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/fixincludes ; \
+ cd $(HOST_SUBDIR)/fixincludes || exit 1; \
+ case $(srcdir) in \
+ /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+ *) topdir=`echo $(HOST_SUBDIR)/fixincludes/ | \
+ sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+ esac; \
+ srcdiroption="--srcdir=$${topdir}/fixincludes"; \
+ libsrcdir="$$s/fixincludes"; \
+ $(SHELL) $${libsrcdir}/configure \
+ $(HOST_CONFIGARGS) --build=${build_alias} --host=${host_alias} \
+ --target=${target_alias} $${srcdiroption} \
+ --with-build-libsubdir=$(HOST_SUBDIR) \
+ $(STAGE4_CONFIGURE_FLAGS)
+@endif fixincludes-bootstrap
+
+.PHONY: configure-stageprofile-fixincludes maybe-configure-stageprofile-fixincludes
+maybe-configure-stageprofile-fixincludes:
+@if fixincludes-bootstrap
+maybe-configure-stageprofile-fixincludes: configure-stageprofile-fixincludes
+configure-stageprofile-fixincludes:
+ @[ $(current_stage) = stageprofile ] || $(MAKE) stageprofile-start
+ @$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/fixincludes
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ TFLAGS="$(STAGEprofile_TFLAGS)"; \
+ test ! -f $(HOST_SUBDIR)/fixincludes/Makefile || exit 0; \
+ $(HOST_EXPORTS) \
+ $(POSTSTAGE1_HOST_EXPORTS) \
+ CFLAGS="$(STAGEprofile_CFLAGS)"; export CFLAGS; \
+ CXXFLAGS="$(STAGEprofile_CXXFLAGS)"; export CXXFLAGS; \
+ LIBCFLAGS="$(STAGEprofile_CFLAGS)"; export LIBCFLAGS; \
+ echo Configuring stage profile in $(HOST_SUBDIR)/fixincludes ; \
+ $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/fixincludes ; \
+ cd $(HOST_SUBDIR)/fixincludes || exit 1; \
+ case $(srcdir) in \
+ /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+ *) topdir=`echo $(HOST_SUBDIR)/fixincludes/ | \
+ sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+ esac; \
+ srcdiroption="--srcdir=$${topdir}/fixincludes"; \
+ libsrcdir="$$s/fixincludes"; \
+ $(SHELL) $${libsrcdir}/configure \
+ $(HOST_CONFIGARGS) --build=${build_alias} --host=${host_alias} \
+ --target=${target_alias} $${srcdiroption} \
+ --with-build-libsubdir=$(HOST_SUBDIR) \
+ $(STAGEprofile_CONFIGURE_FLAGS)
+@endif fixincludes-bootstrap
+
+.PHONY: configure-stagefeedback-fixincludes maybe-configure-stagefeedback-fixincludes
+maybe-configure-stagefeedback-fixincludes:
+@if fixincludes-bootstrap
+maybe-configure-stagefeedback-fixincludes: configure-stagefeedback-fixincludes
+configure-stagefeedback-fixincludes:
+ @[ $(current_stage) = stagefeedback ] || $(MAKE) stagefeedback-start
+ @$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/fixincludes
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ TFLAGS="$(STAGEfeedback_TFLAGS)"; \
+ test ! -f $(HOST_SUBDIR)/fixincludes/Makefile || exit 0; \
+ $(HOST_EXPORTS) \
+ $(POSTSTAGE1_HOST_EXPORTS) \
+ CFLAGS="$(STAGEfeedback_CFLAGS)"; export CFLAGS; \
+ CXXFLAGS="$(STAGEfeedback_CXXFLAGS)"; export CXXFLAGS; \
+ LIBCFLAGS="$(STAGEfeedback_CFLAGS)"; export LIBCFLAGS; \
+ echo Configuring stage feedback in $(HOST_SUBDIR)/fixincludes ; \
+ $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/fixincludes ; \
+ cd $(HOST_SUBDIR)/fixincludes || exit 1; \
+ case $(srcdir) in \
+ /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+ *) topdir=`echo $(HOST_SUBDIR)/fixincludes/ | \
+ sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+ esac; \
+ srcdiroption="--srcdir=$${topdir}/fixincludes"; \
+ libsrcdir="$$s/fixincludes"; \
+ $(SHELL) $${libsrcdir}/configure \
+ $(HOST_CONFIGARGS) --build=${build_alias} --host=${host_alias} \
+ --target=${target_alias} $${srcdiroption} \
+ --with-build-libsubdir=$(HOST_SUBDIR) \
+ $(STAGEfeedback_CONFIGURE_FLAGS)
+@endif fixincludes-bootstrap
+
+
+
.PHONY: all-fixincludes maybe-all-fixincludes
@@ -7841,7 +8040,6 @@ all-fixincludes: stage_current
TARGET-fixincludes=all
maybe-all-fixincludes: all-fixincludes
all-fixincludes: configure-fixincludes
- @: $(MAKE); $(unstage)
@r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(HOST_EXPORTS) \
@@ -7852,6 +8050,255 @@ all-fixincludes: configure-fixincludes
+.PHONY: all-stage1-fixincludes maybe-all-stage1-fixincludes
+.PHONY: clean-stage1-fixincludes maybe-clean-stage1-fixincludes
+maybe-all-stage1-fixincludes:
+maybe-clean-stage1-fixincludes:
+@if fixincludes-bootstrap
+maybe-all-stage1-fixincludes: all-stage1-fixincludes
+all-stage1: all-stage1-fixincludes
+TARGET-stage1-fixincludes = $(TARGET-fixincludes)
+all-stage1-fixincludes: configure-stage1-fixincludes
+ @[ $(current_stage) = stage1 ] || $(MAKE) stage1-start
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ TFLAGS="$(STAGE1_TFLAGS)"; \
+ $(HOST_EXPORTS) \
+ cd $(HOST_SUBDIR)/fixincludes && \
+ $(MAKE) $(BASE_FLAGS_TO_PASS) \
+ CFLAGS="$(STAGE1_CFLAGS)" \
+ CXXFLAGS="$(STAGE1_CXXFLAGS)" \
+ LIBCFLAGS="$(LIBCFLAGS)" \
+ CFLAGS_FOR_TARGET="$(CFLAGS_FOR_TARGET)" \
+ CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
+ LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
+ $(EXTRA_HOST_FLAGS) \
+ $(STAGE1_FLAGS_TO_PASS) \
+ TFLAGS="$(STAGE1_TFLAGS)" \
+ $(TARGET-stage1-fixincludes)
+
+maybe-clean-stage1-fixincludes: clean-stage1-fixincludes
+clean-stage1: clean-stage1-fixincludes
+clean-stage1-fixincludes:
+ @if [ $(current_stage) = stage1 ]; then \
+ [ -f $(HOST_SUBDIR)/fixincludes/Makefile ] || exit 0; \
+ else \
+ [ -f $(HOST_SUBDIR)/stage1-fixincludes/Makefile ] || exit 0; \
+ $(MAKE) stage1-start; \
+ fi; \
+ cd $(HOST_SUBDIR)/fixincludes && \
+ $(MAKE) $(EXTRA_HOST_FLAGS) \
+ $(STAGE1_FLAGS_TO_PASS) clean
+@endif fixincludes-bootstrap
+
+
+.PHONY: all-stage2-fixincludes maybe-all-stage2-fixincludes
+.PHONY: clean-stage2-fixincludes maybe-clean-stage2-fixincludes
+maybe-all-stage2-fixincludes:
+maybe-clean-stage2-fixincludes:
+@if fixincludes-bootstrap
+maybe-all-stage2-fixincludes: all-stage2-fixincludes
+all-stage2: all-stage2-fixincludes
+TARGET-stage2-fixincludes = $(TARGET-fixincludes)
+all-stage2-fixincludes: configure-stage2-fixincludes
+ @[ $(current_stage) = stage2 ] || $(MAKE) stage2-start
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ TFLAGS="$(STAGE2_TFLAGS)"; \
+ $(HOST_EXPORTS) \
+ $(POSTSTAGE1_HOST_EXPORTS) \
+ cd $(HOST_SUBDIR)/fixincludes && \
+ $(MAKE) $(BASE_FLAGS_TO_PASS) \
+ CFLAGS="$(STAGE2_CFLAGS)" \
+ CXXFLAGS="$(STAGE2_CXXFLAGS)" \
+ LIBCFLAGS="$(STAGE2_CFLAGS)" \
+ CFLAGS_FOR_TARGET="$(CFLAGS_FOR_TARGET)" \
+ CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
+ LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
+ $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS) \
+ TFLAGS="$(STAGE2_TFLAGS)" \
+ $(TARGET-stage2-fixincludes)
+
+maybe-clean-stage2-fixincludes: clean-stage2-fixincludes
+clean-stage2: clean-stage2-fixincludes
+clean-stage2-fixincludes:
+ @if [ $(current_stage) = stage2 ]; then \
+ [ -f $(HOST_SUBDIR)/fixincludes/Makefile ] || exit 0; \
+ else \
+ [ -f $(HOST_SUBDIR)/stage2-fixincludes/Makefile ] || exit 0; \
+ $(MAKE) stage2-start; \
+ fi; \
+ cd $(HOST_SUBDIR)/fixincludes && \
+ $(MAKE) $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS) clean
+@endif fixincludes-bootstrap
+
+
+.PHONY: all-stage3-fixincludes maybe-all-stage3-fixincludes
+.PHONY: clean-stage3-fixincludes maybe-clean-stage3-fixincludes
+maybe-all-stage3-fixincludes:
+maybe-clean-stage3-fixincludes:
+@if fixincludes-bootstrap
+maybe-all-stage3-fixincludes: all-stage3-fixincludes
+all-stage3: all-stage3-fixincludes
+TARGET-stage3-fixincludes = $(TARGET-fixincludes)
+all-stage3-fixincludes: configure-stage3-fixincludes
+ @[ $(current_stage) = stage3 ] || $(MAKE) stage3-start
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ TFLAGS="$(STAGE3_TFLAGS)"; \
+ $(HOST_EXPORTS) \
+ $(POSTSTAGE1_HOST_EXPORTS) \
+ cd $(HOST_SUBDIR)/fixincludes && \
+ $(MAKE) $(BASE_FLAGS_TO_PASS) \
+ CFLAGS="$(STAGE3_CFLAGS)" \
+ CXXFLAGS="$(STAGE3_CXXFLAGS)" \
+ LIBCFLAGS="$(STAGE3_CFLAGS)" \
+ CFLAGS_FOR_TARGET="$(CFLAGS_FOR_TARGET)" \
+ CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
+ LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
+ $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS) \
+ TFLAGS="$(STAGE3_TFLAGS)" \
+ $(TARGET-stage3-fixincludes)
+
+maybe-clean-stage3-fixincludes: clean-stage3-fixincludes
+clean-stage3: clean-stage3-fixincludes
+clean-stage3-fixincludes:
+ @if [ $(current_stage) = stage3 ]; then \
+ [ -f $(HOST_SUBDIR)/fixincludes/Makefile ] || exit 0; \
+ else \
+ [ -f $(HOST_SUBDIR)/stage3-fixincludes/Makefile ] || exit 0; \
+ $(MAKE) stage3-start; \
+ fi; \
+ cd $(HOST_SUBDIR)/fixincludes && \
+ $(MAKE) $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS) clean
+@endif fixincludes-bootstrap
+
+
+.PHONY: all-stage4-fixincludes maybe-all-stage4-fixincludes
+.PHONY: clean-stage4-fixincludes maybe-clean-stage4-fixincludes
+maybe-all-stage4-fixincludes:
+maybe-clean-stage4-fixincludes:
+@if fixincludes-bootstrap
+maybe-all-stage4-fixincludes: all-stage4-fixincludes
+all-stage4: all-stage4-fixincludes
+TARGET-stage4-fixincludes = $(TARGET-fixincludes)
+all-stage4-fixincludes: configure-stage4-fixincludes
+ @[ $(current_stage) = stage4 ] || $(MAKE) stage4-start
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ TFLAGS="$(STAGE4_TFLAGS)"; \
+ $(HOST_EXPORTS) \
+ $(POSTSTAGE1_HOST_EXPORTS) \
+ cd $(HOST_SUBDIR)/fixincludes && \
+ $(MAKE) $(BASE_FLAGS_TO_PASS) \
+ CFLAGS="$(STAGE4_CFLAGS)" \
+ CXXFLAGS="$(STAGE4_CXXFLAGS)" \
+ LIBCFLAGS="$(STAGE4_CFLAGS)" \
+ CFLAGS_FOR_TARGET="$(CFLAGS_FOR_TARGET)" \
+ CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
+ LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
+ $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS) \
+ TFLAGS="$(STAGE4_TFLAGS)" \
+ $(TARGET-stage4-fixincludes)
+
+maybe-clean-stage4-fixincludes: clean-stage4-fixincludes
+clean-stage4: clean-stage4-fixincludes
+clean-stage4-fixincludes:
+ @if [ $(current_stage) = stage4 ]; then \
+ [ -f $(HOST_SUBDIR)/fixincludes/Makefile ] || exit 0; \
+ else \
+ [ -f $(HOST_SUBDIR)/stage4-fixincludes/Makefile ] || exit 0; \
hooks/post-receive
--
Repository for Project Archer.
^ permalink raw reply [flat|nested] 4+ messages in thread
* [SCM] jankratochvil/gdbserverbuildid: Locate solib files via build-id
@ 2014-03-24 19:18 jkratoch
0 siblings, 0 replies; 4+ messages in thread
From: jkratoch @ 2014-03-24 19:18 UTC (permalink / raw)
To: archer-commits
The branch, jankratochvil/gdbserverbuildid has been updated
discards 9a55d97b9ecf35edf74fe8a098055e7022b2c783 (commit)
discards 44d174c7e81b033ec87ce55e82f731e2d1da3182 (commit)
discards 626cc0e72e235a1a87e07c1d7bae34d2aa3a77be (commit)
discards 041741fef5261c22c998f501f4abc95600e7e4a6 (commit)
discards d9973c1a673ac4a78bc74364750e71889028ace1 (commit)
discards 381f2e19e2571d013f33868986d3df8c3da6c05e (commit)
discards b1f19a1e7e87a9ae39df68c3aa3d4b631a6740bd (commit)
discards 4c7392a0d13eeac097d1ca47d2b946ecbd86c18d (commit)
discards 1f575ae335ae3a1b89a415dccb3c87b35048b6f9 (commit)
discards 3d534729ad4f862c57e08e3e275a8e0cbf46d36f (commit)
discards d1f21a3bc674d45ab6d1acce592e27fa15c80c97 (commit)
via b5f21a557fe7556e005e1668c25b60817fa8c5ab (commit)
via f7ca538f516871db3c25f72341250b36c0761537 (commit)
via 3348967bdcf0f9d0007ee8b39122f5beca796612 (commit)
via 074475a91fbac2ce95078efe33c9adea34b8b846 (commit)
via b35540c6d57608d9bec3039aa4efbe567e8d0ff3 (commit)
via 88eedb227c9ccdef185463cb3bed0fb86bbadc1a (commit)
via 48f7a38bdfd5ebc740f46d54e0fa6d782738f7c5 (commit)
via efeae1f1529f916b6b21e3e48502d9a48c6f6813 (commit)
via ddaf6724c0b5eb205f5ce6039e75b213bdb2bac2 (commit)
via babd16ee72e5bcace88b4add0a9c938ce6382ba9 (commit)
via 7e867dd78fd647a013f47496967439b19fa9b944 (commit)
via d23487918b315cccd04c2b60a7cf7775920caecb (commit)
via 7588d2eca0397166c2445eae6559c89f9b44e4e7 (commit)
via a62904492b27b9fb77da8fa2714fd05cc28804a7 (commit)
via aa9fa1e22a61f60c51ef7886cb297bfbad3cc305 (commit)
via 31ae9d245c409ce407c32a36034acf89fdc23a5f (commit)
via 69fa4030016295f3da40005fca7dd287a8c75406 (commit)
from 9a55d97b9ecf35edf74fe8a098055e7022b2c783 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email.
- Log -----------------------------------------------------------------
commit b5f21a557fe7556e005e1668c25b60817fa8c5ab
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date: Mon Mar 24 19:51:42 2014 +0100
Locate solib files via build-id
Hi,
this is a new functionality that the file itself (*) it found via build-id, if
the regular name-located file does not match inferior build-id or if the
named-located file even does not exist.
I am not completely sure with the SO->SO_NAME initialization. It cannot be
a regression but not sure how it should behave for the build-id-located files.
Currently the original target filename is kept but the comment there says is
may confuse MI frontends. OTOH putting there the build-id located file will
show its build-id name in SO_NAME which is also wrong.
(*) /usr/lib/libxxx.so, not /usr/lib/debug/usr/lib/libxxx.so.debug.
Although GDB uses only symbols from that file so in fact the *.debug file
would be sufficient. But for example .symtab is sometimes only in the .so
file and not the .so.debug file so GDB looks up .so as the associated
.so.debug file gets loaded automatically on top of .so anyway.
Thanks,
Jan
gdb/
2014-03-24 Jan Kratochvil <jan.kratochvil@redhat.com>
Locate solib files via build-id.
* build-id.c (build_id_so_validate): Remove const from the parameter,
return void. Handle also NULL SO->ABFD. Call also build_id_to_bfd.
* build-id.h (build_id_so_validate): Update declaration.
* solib.c (solib_map_sections): Call VALIDATE even for NULL SO->ABFD.
No longer free SO->ABFD on failed VALIDATE.
(default_solib_validate): Update its const and return value.
* solib.h (default_solib_validate): Update declaration.
* solist.h (struct target_so_ops): Update definition of field validate.
gdb/testsuite/
2014-03-24 Jan Kratochvil <jan.kratochvil@redhat.com>
Locate solib files via build-id.
* gdb.base/solib-mismatch.exp (nocrlf, expected_header): Make
solib_matching_test variables global.
(solib_locate_test): New proc.
(locate non-matching shared library)
(locate non-existing shared library): New tests.
commit f7ca538f516871db3c25f72341250b36c0761537
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date: Mon Mar 24 19:51:42 2014 +0100
Code cleanup: solib_map_sections abfd var
Hi,
just remove a local variable holding so->abfd copy as so->abfd may change in
the next patch.
Jan
gdb/
2014-03-24 Jan Kratochvil <jan.kratochvil@redhat.com>
* solib.c (solib_map_sections): Remove variable abfd.
commit 3348967bdcf0f9d0007ee8b39122f5beca796612
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date: Mon Mar 24 19:51:42 2014 +0100
Tests for validate symbol file using build-id
Hi,
new testcase.
Jan
gdb/testsuite/
2014-02-26 Aleksandar Ristovski <aristovski@qnx.com
Tests for validate symbol file using build-id.
* gdb.base/solib-mismatch-lib.c: New file.
* gdb.base/solib-mismatch-libmod.c: New file.
* gdb.base/solib-mismatch.c: New file.
* gdb.base/solib-mismatch.exp: New file.
commit 074475a91fbac2ce95078efe33c9adea34b8b846
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date: Mon Mar 24 19:51:42 2014 +0100
Validate symbol file using build-id
Hi,
consumer part of the "build-id" attribute.
Jan
gdb/
2014-02-26 Aleksandar Ristovski <aristovski@qnx.com
Jan Kratochvil <jan.kratochvil@redhat.com>
Validate symbol file using build-id.
* NEWS (Changes since GDB 7.7): Add 'set build-id-force'
and 'show build-id-force'. Add build-id attribute.
* build-id.c: Include solist.h, rsp-low.h and gdbcmd.h.
(build_id_force, show_build_id_force): New.
(build_id_verify): Use BUILD_ID_FORCE.
(build_id_to_debug_bfd): Rename to ...
(build_id_to_bfd): ... here. Add parameter suffix.
(build_id_to_debug_bfd): New wrapper of build_id_to_bfd.
(build_id_so_validate, _initialize_build_id): New.
* build-id.h (build_id_so_validate): New declaration.
* solib-darwin.c (_initialize_darwin_solib): Assign validate value.
* solib-dsbt.c (_initialize_dsbt_solib): Ditto.
* solib-frv.c (_initialize_frv_solib): Ditto.
* solib-ia64-hpux.c (ia64_hpux_target_so_ops): Ditto.
* solib-irix.c (_initialize_irix_solib): Ditto.
* solib-osf.c (_initialize_osf_solib): Ditto.
* solib-pa64.c (_initialize_pa64_solib): Ditto.
* solib-som.c (_initialize_som_solib): Ditto.
* solib-spu.c (set_spu_solib_ops): Ditto.
* solib-svr4.c: Include build-id.h and rsp-low.h.
(svr4_copy_library_list): Deeply copy also BUILD_ID.
(library_list_start_library): Parse 'build-id' attribute.
(svr4_library_attributes): Add 'build-id' attribute.
(_initialize_svr4_solib): Assign validate value.
* solib-target.c (solib.h): Include.
(_initialize_solib_target): Assign validate value.
* solib.c (solib_map_sections): Use ops->validate.
(free_so): Free build_id.
(default_solib_validate): New function.
* solib.h (default_solib_validate): New declaration.
* solist.h (struct so_list): New fields 'build_idsz' and 'build_id'.
(target_so_ops): New field 'validate'.
gdb/doc/
2014-03-02 Jan Kratochvil <jan.kratochvil@redhat.com>
* gdb.texinfo (Files): Add 'set build-id-force'
and 'show build-id-force'.
commit b35540c6d57608d9bec3039aa4efbe567e8d0ff3
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date: Mon Mar 24 19:51:41 2014 +0100
gdbserver build-id attribute generator
Hi,
producer part of the new "build-id" XML attribute.
Jan
gdb/
2014-02-26 Aleksandar Ristovski <aristovski@qnx.com
gdbserver build-id attribute generator.
* features/library-list-svr4.dtd (library-list-svr4): New
'build-id' attribute.
gdb/doc/
2014-02-26 Aleksandar Ristovski <aristovski@qnx.com
gdbserver build-id attribute generator.
* gdb.texinfo (Library List Format for SVR4 Targets): Add
'build-id' in description, example, new attribute in dtd.
gdb/gdbserver/
2014-02-26 Aleksandar Ristovski <aristovski@qnx.com
gdbserver build-id attribute generator.
* linux-low.c (linux-maps.h, search.h, rsp-low.h): Include.
(ElfXX_Ehdr, ElfXX_Phdr, ElfXX_Nhdr): New.
(ELFXX_FLD, ELFXX_SIZEOF, ELFXX_ROUNDUP, BUILD_ID_INVALID): New.
(find_phdr): New.
(get_dynamic): Use find_pdhr to traverse program headers.
(struct mapping_entry, mapping_entry_s, free_mapping_entry_vec)
(compare_mapping_entry_range, struct find_memory_region_callback_data)
(read_build_id, find_memory_region_callback, lrfind_mapping_entry)
(get_hex_build_id): New.
(linux_qxfer_libraries_svr4): Add optional build-id attribute
to reply XML document.
commit 88eedb227c9ccdef185463cb3bed0fb86bbadc1a
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date: Mon Mar 24 19:51:41 2014 +0100
Move linux_find_memory_regions_full & co.
Hi,
this should be just a move with no changes.
Jan
gdb/
2014-02-26 Aleksandar Ristovski <aristovski@qnx.com
Move linux_find_memory_regions_full & co.
* common/target-utils.c (string.h, gdb_assert.h): Include.
(read_alloc, read_stralloc): Move definitions from target.c.
* common/target-utils.h (read_alloc_pread_ftype): New typedef.
(read_alloc): New declaration.
(read_stralloc_func_ftype): New typedef.
(read_stralloc): New declaration.
* common/linux-maps.c (fcntl.h, unistd.h, target.h, gdb_assert.h)
(ctype.h, string.h, target-utils.h): Include.
(read_mapping): Move from linux-tdep.c.
[GDBSERVER] (linux_find_memory_read_stralloc_1_pread): New function.
[GDBSERVER] (linux_find_memory_read_stralloc_1): New function.
(linux_find_memory_read_stralloc): New function.
(linux_find_memory_regions_full): Move from linux-tdep.c.
* common/linux-maps.h (read_mapping): New declaration.
(linux_find_memory_region_ftype): Moved typedef from linux-tdep.c.
(linux_find_memory_regions_full): New declaration.
* linux-tdep.c (linux-maps.h): Include.
(read_mapping): Moved to common/linux-maps.c.
(linux_find_memory_region_ftype): Moved typedef to common/linux-maps.h.
(linux_find_memory_regions_full): Moved definition to
common/linux-maps.c.
* target.c (target-utils.h): Include.
(read_alloc_pread_ftype): Moved typedef to common/target-utils.h.
(read_alloc, read_stralloc): Moved definitions to
common/target-utils.c.
commit 48f7a38bdfd5ebc740f46d54e0fa6d782738f7c5
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date: Mon Mar 24 19:51:41 2014 +0100
Prepare linux_find_memory_regions_full & co. for move
Hi,
prepare code for move into gdb/common/.
Jan
gdb/
2014-02-26 Aleksandar Ristovski <aristovski@qnx.com
Prepare linux_find_memory_regions_full & co. for move.
* linux-tdep.c (linux_find_memory_region_ftype): Comment.
(linux_find_memory_regions_full): Change signature and prepare
for moving to linux-maps.
(linux_find_memory_regions_data): Rename field 'obfd' to 'data'.
(linux_find_memory_regions_thunk): New.
(linux_find_memory_regions_thunk): Use 'data' field instead of 'obfd'.
(linux_find_memory_regions_gdb): New.
(linux_find_memory_regions): Rename argument 'obfd' to 'func_data'.
(linux_make_mappings_corefile_notes): Use
linux_find_memory_regions_gdb.
* target.c (read_alloc_pread_ftype): New typedef.
(target_fileio_read_alloc_1_pread): New function.
(read_alloc): Refactor from target_fileio_read_alloc_1.
(read_stralloc_func_ftype): New typedef.
(target_fileio_read_alloc_1): New implementation. Use read_alloc.
(read_stralloc): Refactored from target_fileio_read_stralloc.
(target_fileio_read_stralloc): New implementation, use read_stralloc.
commit efeae1f1529f916b6b21e3e48502d9a48c6f6813
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date: Mon Mar 24 19:51:40 2014 +0100
Create empty common/linux-maps.[ch] and common/target-utils.[ch]
Hi,
prepare new files for later move.
Jan
gdb/
2014-02-26 Aleksandar Ristovski <aristovski@qnx.com
Create empty common/linux-maps.[ch] and common/target-utils.[ch].
* Makefile.in (HFILES_NO_SRCDIR); Add common/linux-maps.h,
common/target-utils.h.
(COMMON_OBS): Add target-utils.o.
(linux-maps.o, target-utils.o): New.
* common/target-utils.c: New file.
* common/target-utils.h: New file.
* common/linux-maps.c: New file.
* common/linux-maps.h: New file.
* config/i386/linux.mh (NATDEPFILES): Add linux-maps.o.
* config/i386/linux64.mh (NATDEPFILES): Ditto.
gdb/gdbserver/
2014-02-26 Aleksandar Ristovski <aristovski@qnx.com
Create empty common/linux-maps.[ch] and common/target-utils.[ch].
* Makefile.in (OBS): Add target-utils.o.
(linux-maps.o, target-utils.o): New.
* configure.srv (srv_linux_obj): Add linux-maps.o.
commit ddaf6724c0b5eb205f5ce6039e75b213bdb2bac2
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date: Mon Mar 24 19:51:40 2014 +0100
Merge multiple hex conversions
Hi,
here most of the patch has been reimplemented in the meantime and this is only
a small remaint.
Jan
gdb/
2014-02-26 Aleksandar Ristovski <aristovski@qnx.com
Merge multiple hex conversions.
* monitor.c: Include rsp-low.h.
(fromhex): Remove definition.
gdb/gdbserver/
2014-02-26 Aleksandar Ristovski <aristovski@qnx.com
Merge multiple hex conversions.
* gdbreplay.c (tohex): Rename to 'fromhex'.
(logchar): Use fromhex.
commit babd16ee72e5bcace88b4add0a9c938ce6382ba9
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date: Mon Mar 24 19:51:40 2014 +0100
Move utility functions to common/
Hi,
some parts of the former patch have been reimplemented in the meantime by
other patches so this is only a part of the former cleanup.
Jan
gdb/
2014-02-26 Aleksandar Ristovski <aristovski@qnx.com
Move utility functions to common/.
* cli/cli-utils.c (skip_spaces, skip_spaces_const): Move defs to
common/common-utils.c.
* cli/cli-utils.h (skip_spaces, skip_spaces_const): Move decls to
common/common-utils.h.
* common/common-utils.c (host-defs.h, ctype.h): Include.
(HIGH_BYTE_POSN, is_digit_in_base, digit_to_int, strtoulst): Move
from utils.c.
(skip_spaces, skip_spaces_const): Move from cli/cli-utils.c.
* common/host-defs.h (TARGET_CHAR_BIT, HOST_CHAR_BIT): Moved from
defs.h.
* common/common-utils.h (strtoulst): Move decl from utils.h.
(hex2bin, bin2hex): Move decls from remote.h.
(skip_spaces, skip_spaces_const): Move decls from cli/cli-utils.h.
* defs.h (TARGET_CHAR_BIT, HOST_CHAR_BIT): Move to
common/common-utils.h
* utils.c (HIGH_BYTE_POSN, is_digit_in_base, digit_to_int)
(strtoulst): Move to common/common-utils.c.
* utils.h (strtoulst): Moved decl to common/common-utils.h.
commit 7e867dd78fd647a013f47496967439b19fa9b944
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date: Mon Mar 24 19:51:40 2014 +0100
+README.archer
commit d23487918b315cccd04c2b60a7cf7775920caecb
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date: Mon Mar 24 17:37:32 2014 +0100
testsuite: Remove needless linux-nat requirement in gdb-sigterm.exp.
That "set debug lin-lwp 1" command even is not needed for the functionality of
this testcase.
This patch does fix a testcase error on aarch64-none-elf.
gdb/testsuite/
2014-03-24 Jan Kratochvil <jan.kratochvil@redhat.com>
* gdb.base/gdb-sigterm.exp (do_test): Remove "set debug lin-lwp 1".
Message-ID: <20140323165745.GA23830@host2.jankratochvil.net>
commit 7588d2eca0397166c2445eae6559c89f9b44e4e7
Author: Pierre Langlois <pierre.langlois@embecosm.com>
Date: Tue Mar 18 13:50:54 2014 +0000
Fix PR/16720
2014-03-24 Pierre Langlois <pierre.langlois@embecosm.com>
* avr-tdep.c (avr_scan_prologue): Accept push r1 instruction for
small stack allocation.
commit a62904492b27b9fb77da8fa2714fd05cc28804a7
Author: Tristan Gingold <tristan.gingold@adacore.com>
Date: Fri Mar 21 09:26:05 2014 +0100
darwin-nat.c: fix dump of messages on x86_64.
gdb/
* darwin-nat.c (exc_server): Remove unused prototype.
(darwin_dump_message): Correctly display data on x86_64.
(darwin_encode_reply): Fix style.
Add comments and fix indentation.
commit aa9fa1e22a61f60c51ef7886cb297bfbad3cc305
Author: Tristan Gingold <tristan.gingold@adacore.com>
Date: Fri Mar 21 09:25:05 2014 +0100
Fix stack offset in Mach-O output for -P compact_unwind.
Minor fix in compact unwind output: to be more readable, the stack offset
for indirect compact unwind entries are mutiplied by its factor (4 or 8).
binutils/
* od-macho.c (dump_unwind_encoding_x86): Set the factor.
(dump_exe_compact_unwind): Change the condition. Improve
indentation.
commit 31ae9d245c409ce407c32a36034acf89fdc23a5f
Author: Pierre Langlois <pierre.langlois@embecosm.com>
Date: Mon Mar 24 09:10:07 2014 +0000
Fix typo in previous entry.
commit 69fa4030016295f3da40005fca7dd287a8c75406
Author: Pierre Langlois <pierre.langlois@embecosm.com>
Date: Fri Mar 21 19:46:07 2014 +0000
Add myself as a write-after-approval mainainer.
2014-03-21 Pierre Langlois <pierre.langlois@embecosm.com>
* MAINTAINERS (Write After Approval): Add "Pierre Langlois".
-----------------------------------------------------------------------
Summary of changes:
binutils/ChangeLog | 6 +++++
binutils/od-macho.c | 11 +++++----
gdb/ChangeLog | 16 ++++++++++++++
gdb/MAINTAINERS | 1 +
gdb/avr-tdep.c | 2 +-
gdb/darwin-nat.c | 33 +++++++++++++---------------
gdb/solib-svr4.c | 6 +++++
gdb/solib.c | 25 ++++++++--------------
gdb/testsuite/ChangeLog | 4 +++
gdb/testsuite/gdb.base/gdb-sigterm.exp | 1 -
gdb/testsuite/gdb.base/solib-mismatch.exp | 4 ++-
11 files changed, 67 insertions(+), 42 deletions(-)
First 500 lines of diff:
diff --git a/binutils/ChangeLog b/binutils/ChangeLog
index 0f2707b..98ecae0 100644
--- a/binutils/ChangeLog
+++ b/binutils/ChangeLog
@@ -1,3 +1,9 @@
+2014-03-24 Tristan Gingold <gingold@adacore.com>
+
+ * od-macho.c (dump_unwind_encoding_x86): Set the factor.
+ (dump_exe_compact_unwind): Change the condition. Improve
+ indentation.
+
2014-03-20 Nick Clifton <nickc@redhat.com>
* readelf.c (process_version_sections): Fix off-by-one error in
diff --git a/binutils/od-macho.c b/binutils/od-macho.c
index 7754f36..3cd2cf0 100644
--- a/binutils/od-macho.c
+++ b/binutils/od-macho.c
@@ -1157,7 +1157,7 @@ dump_unwind_encoding_x86 (unsigned int encoding, unsigned int sz,
stack_adj =
(encoding & MACH_O_UNWIND_X86_64_FRAMELESS_STACK_ADJUST) >> 13;
- printf (" size at 0x%03x + 0x%02x", stack_size, stack_adj);
+ printf (" size at 0x%03x + 0x%02x", stack_size, stack_adj * sz);
}
/* Registers are coded using arithmetic compression: the register
is indexed in range 0-6, the second in range 0-5, the third in
@@ -1359,12 +1359,13 @@ dump_exe_compact_unwind (bfd *abfd,
const unsigned char *level2;
unsigned int kind;
- if (i == index_count - 1)
- break;
-
func_offset = bfd_get_32 (abfd, index_entry->function_offset);
level2_offset = bfd_get_32 (abfd, index_entry->second_level_offset);
+ /* No level-2 for this index (should be the last index). */
+ if (level2_offset == 0)
+ continue;
+
level2 = content + level2_offset;
kind = bfd_get_32 (abfd, level2);
switch (kind)
@@ -1477,7 +1478,7 @@ dump_exe_compact_unwind (bfd *abfd,
nbr_lsda = (next_lsda_offset - lsda_offset) / sizeof (*lsda);
for (j = 0; j < nbr_lsda; j++)
{
- printf (" lsda %-3u: function 0x%08x lsda 0x%08x\n",
+ printf (" lsda %3u: function 0x%08x lsda 0x%08x\n",
j, (unsigned int) bfd_get_32 (abfd, lsda->function_offset),
(unsigned int) bfd_get_32 (abfd, lsda->lsda_offset));
lsda++;
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 7e52e25..c1231ca 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,19 @@
+2014-03-24 Pierre Langlois <pierre.langlois@embecosm.com>
+
+ * avr-tdep.c (avr_scan_prologue): Accept push r1 instruction for
+ small stack allocation.
+
+2014-03-24 Tristan Gingold <gingold@adacore.com>
+
+ * darwin-nat.c (exc_server): Remove unused prototype.
+ (darwin_dump_message): Correctly display data on x86_64.
+ (darwin_encode_reply): Fix style.
+ Add comments and fix indentation.
+
+2014-03-24 Pierre Langlois <pierre.langlois@embecosm.com>
+
+ * MAINTAINERS (Write After Approval): Add "Pierre Langlois".
+
2014-03-22 Doug Evans <xdje42@gmail.com>
* infcmd.c: Whitespace fixes.
diff --git a/gdb/MAINTAINERS b/gdb/MAINTAINERS
index 1f5752a..1720d93 100644
--- a/gdb/MAINTAINERS
+++ b/gdb/MAINTAINERS
@@ -549,6 +549,7 @@ Jim Kingdon kingdon@panix.com
Paul Koning paul_koning@dell.com
Jan Kratochvil jan.kratochvil@redhat.com
Maxim Kuvyrkov maxim@kugelworks.com
+Pierre Langlois pierre.langlois@embecosm.com
Jonathan Larmour jifl@ecoscentric.com
Jeff Law law@redhat.com
Justin Lebar justin.lebar@gmail.com
diff --git a/gdb/avr-tdep.c b/gdb/avr-tdep.c
index 6e58f04..7fb16d1 100644
--- a/gdb/avr-tdep.c
+++ b/gdb/avr-tdep.c
@@ -720,7 +720,7 @@ avr_scan_prologue (struct gdbarch *gdbarch, CORE_ADDR pc_beg, CORE_ADDR pc_end,
info->size += gdbarch_tdep (gdbarch)->call_length;
vpc += 2;
}
- else if (insn == 0x920f) /* push r0 */
+ else if (insn == 0x920f || insn == 0x921f) /* push r0 or push r1 */
{
info->size += 1;
vpc += 2;
diff --git a/gdb/darwin-nat.c b/gdb/darwin-nat.c
index 23a921d..3ea9696 100644
--- a/gdb/darwin-nat.c
+++ b/gdb/darwin-nat.c
@@ -85,8 +85,6 @@
#define PTRACE(CMD, PID, ADDR, SIG) \
darwin_ptrace(#CMD, CMD, (PID), (ADDR), (SIG))
-extern boolean_t exc_server (mach_msg_header_t *in, mach_msg_header_t *out);
-
static void darwin_stop (struct target_ops *self, ptid_t);
static void darwin_resume_to (struct target_ops *ops, ptid_t ptid, int step,
@@ -127,7 +125,7 @@ mach_port_t darwin_host_self;
/* Exception port. */
mach_port_t darwin_ex_port;
-/* Port set. */
+/* Port set, to wait for answer on all ports. */
mach_port_t darwin_port_set;
/* Page size. */
@@ -149,10 +147,8 @@ static unsigned int darwin_debug_flag = 0;
/* Create a __TEXT __info_plist section in the executable so that gdb could
be signed. This is required to get an authorization for task_for_pid.
- Once gdb is built, you can either:
- * make it setgid procmod
- * or codesign it with any system-trusted signing authority.
- See taskgated(8) for details. */
+ Once gdb is built, you must codesign it with any system-trusted signing
+ authority. See taskgated(8) for details. */
static const unsigned char info_plist[]
__attribute__ ((section ("__TEXT,__info_plist"),used)) =
"<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
@@ -492,7 +488,7 @@ darwin_dump_message (mach_msg_header_t *hdr, int disp_body)
if (disp_body)
{
const unsigned char *data;
- const unsigned long *ldata;
+ const unsigned int *ldata;
int size;
int i;
@@ -538,9 +534,9 @@ darwin_dump_message (mach_msg_header_t *hdr, int disp_body)
}
printf_unfiltered (_(" data:"));
- ldata = (const unsigned long *)data;
- for (i = 0; i < size / sizeof (unsigned long); i++)
- printf_unfiltered (" %08lx", ldata[i]);
+ ldata = (const unsigned int *)data;
+ for (i = 0; i < size / sizeof (unsigned int); i++)
+ printf_unfiltered (" %08x", ldata[i]);
printf_unfiltered (_("\n"));
}
}
@@ -561,7 +557,7 @@ darwin_decode_exception_message (mach_msg_header_t *hdr,
kern_return_t kret;
int i;
- /* Check message identifier. 2401 is exc. */
+ /* Check message identifier. 2401 == 0x961 is exc. */
if (hdr->msgh_id != 2401)
return -1;
@@ -616,8 +612,8 @@ darwin_decode_exception_message (mach_msg_header_t *hdr,
return -1;
*pthread = thread;
- /* The thread should be running. However we have observed cases where a thread
- got a SIGTTIN message after being stopped. */
+ /* The thread should be running. However we have observed cases where a
+ thread got a SIGTTIN message after being stopped. */
gdb_assert (thread->msg_state != DARWIN_MESSAGE);
/* Finish decoding. */
@@ -644,9 +640,10 @@ darwin_encode_reply (mig_reply_error_t *reply, mach_msg_header_t *hdr,
integer_t code)
{
mach_msg_header_t *rh = &reply->Head;
- rh->msgh_bits = MACH_MSGH_BITS(MACH_MSGH_BITS_REMOTE(hdr->msgh_bits), 0);
+
+ rh->msgh_bits = MACH_MSGH_BITS (MACH_MSGH_BITS_REMOTE (hdr->msgh_bits), 0);
rh->msgh_remote_port = hdr->msgh_remote_port;
- rh->msgh_size = (mach_msg_size_t)sizeof(mig_reply_error_t);
+ rh->msgh_size = (mach_msg_size_t) sizeof (mig_reply_error_t);
rh->msgh_local_port = MACH_PORT_NULL;
rh->msgh_id = hdr->msgh_id + 100;
@@ -1137,7 +1134,7 @@ darwin_wait (ptid_t ptid, struct target_waitstatus *status)
}
static ptid_t
-darwin_wait_to (struct target_ops *ops,
+darwin_wait_to (struct target_ops *ops,
ptid_t ptid, struct target_waitstatus *status, int options)
{
return darwin_wait (ptid, status);
@@ -1325,7 +1322,7 @@ darwin_kill_inferior (struct target_ops *ops)
if (res == 0)
{
darwin_resume_inferior (inf);
-
+
ptid = darwin_wait (inferior_ptid, &wstatus);
}
else if (errno != ESRCH)
diff --git a/gdb/solib-svr4.c b/gdb/solib-svr4.c
index 8f0dd55..7323970 100644
--- a/gdb/solib-svr4.c
+++ b/gdb/solib-svr4.c
@@ -1099,6 +1099,12 @@ svr4_copy_library_list (struct so_list *src)
new->lm_info = xmalloc (sizeof (struct lm_info));
memcpy (new->lm_info, src->lm_info, sizeof (struct lm_info));
+ if (new->build_id != NULL)
+ {
+ new->build_id = xmalloc (new->build_idsz);
+ memcpy (new->build_id, src->build_id, new->build_idsz);
+ }
+
new->next = NULL;
*link = new;
link = &new->next;
diff --git a/gdb/solib.c b/gdb/solib.c
index c8bbe01..3f03050 100644
--- a/gdb/solib.c
+++ b/gdb/solib.c
@@ -479,28 +479,21 @@ solib_map_sections (struct so_list *so)
so->abfd = ops->bfd_open (filename);
do_cleanups (old_chain);
+ gdb_assert (ops->validate != NULL);
+ ops->validate (so);
+
+ if (so->abfd == NULL)
+ return 0;
+
/* Copy the full path name into so_name, allowing symbol_file_add
to find it later. This also affects the =library-loaded GDB/MI
event, and in particular the part of that notification providing
the library's host-side path. If we let the target dictate
that objfile's path, and the target is different from the host,
GDB/MI will not provide the correct host-side path. */
- if (so->abfd != NULL)
- {
- if (strlen (bfd_get_filename (so->abfd)) >= SO_NAME_MAX_PATH_SIZE)
- error (_("Shared library file name is too long."));
- strcpy (so->so_name, bfd_get_filename (so->abfd));
- }
-
- /* SO_NAME should be already initialized here as VALIDATE may load
- a different file for it. */
-
- gdb_assert (ops->validate != NULL);
-
- ops->validate (so);
-
- if (so->abfd == NULL)
- return 0;
+ if (strlen (bfd_get_filename (so->abfd)) >= SO_NAME_MAX_PATH_SIZE)
+ error (_("Shared library file name is too long."));
+ strcpy (so->so_name, bfd_get_filename (so->abfd));
if (build_section_table (so->abfd, &so->sections, &so->sections_end))
{
diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog
index 3581132..88ba2a3 100644
--- a/gdb/testsuite/ChangeLog
+++ b/gdb/testsuite/ChangeLog
@@ -1,3 +1,7 @@
+2014-03-24 Jan Kratochvil <jan.kratochvil@redhat.com>
+
+ * gdb.base/gdb-sigterm.exp (do_test): Remove "set debug lin-lwp 1".
+
2014-03-22 Doug Evans <xdje42@gmail.com>
* gdb.python/python.exp (python not supported): Verify multi-line
diff --git a/gdb/testsuite/gdb.base/gdb-sigterm.exp b/gdb/testsuite/gdb.base/gdb-sigterm.exp
index b57680d..f52517c 100644
--- a/gdb/testsuite/gdb.base/gdb-sigterm.exp
+++ b/gdb/testsuite/gdb.base/gdb-sigterm.exp
@@ -36,7 +36,6 @@ proc do_test { pass } {
gdb_test_no_output "set range-stepping off" ""
gdb_test_no_output "set debug infrun 1" ""
- gdb_test_no_output "set debug lin-lwp 1" ""
set test "run a bit #$pass"
set abort 1
diff --git a/gdb/testsuite/gdb.base/solib-mismatch.exp b/gdb/testsuite/gdb.base/solib-mismatch.exp
index e53abce..57d78fc 100644
--- a/gdb/testsuite/gdb.base/solib-mismatch.exp
+++ b/gdb/testsuite/gdb.base/solib-mismatch.exp
@@ -166,6 +166,8 @@ with_test_prefix "test --only-keep-debug" {
}
# Test locating file by its build-id - if the regular filename does not match.
+# build-id file has to be a symlink - otherwise so_list->so_name shown in 'info
+# sharedlibrary' would contain the build-id hash and not the library name.
set build_id_debug_relative [build_id_debug_filename_get $binlibfilerun]
if { ![regexp {^(.*)\.debug$} $build_id_debug_relative trash build_id_relative] } {
fail "strip debug $build_id_debug_relative"
@@ -173,7 +175,7 @@ if { ![regexp {^(.*)\.debug$} $build_id_debug_relative trash build_id_relative]
}
set build_id_filename "${binlibfiledirrun}/$build_id_relative"
file mkdir [file dirname $build_id_filename]
-file copy $binlibfilerun $build_id_filename
+remote_exec host "ln -sf $binlibfilerun $build_id_filename"
with_test_prefix "locate non-matching shared library" {
solib_locate_test "${binlibfilebase}" "Yes"
}
hooks/post-receive
--
Repository for Project Archer.
^ permalink raw reply [flat|nested] 4+ messages in thread
* [SCM] jankratochvil/gdbserverbuildid: Locate solib files via build-id
@ 2014-03-24 4:57 jkratoch
0 siblings, 0 replies; 4+ messages in thread
From: jkratoch @ 2014-03-24 4:57 UTC (permalink / raw)
To: archer-commits
The branch, jankratochvil/gdbserverbuildid has been updated
discards aa7388d4a41ace67fbb765aefb0be6d2ea696287 (commit)
discards 3f5760079eaa9b26e4cdd857f225c635cb0391b4 (commit)
discards 67643e85f38259159dfe46de205c506de5342ed1 (commit)
discards eb7f9e4bfa5d3b382a42a938090f2a001b9ed81b (commit)
via 9a55d97b9ecf35edf74fe8a098055e7022b2c783 (commit)
via 44d174c7e81b033ec87ce55e82f731e2d1da3182 (commit)
via 626cc0e72e235a1a87e07c1d7bae34d2aa3a77be (commit)
via 041741fef5261c22c998f501f4abc95600e7e4a6 (commit)
from aa7388d4a41ace67fbb765aefb0be6d2ea696287 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email.
- Log -----------------------------------------------------------------
commit 9a55d97b9ecf35edf74fe8a098055e7022b2c783
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date: Mon Mar 24 04:30:57 2014 +0100
Locate solib files via build-id
Hi,
this is a new functionality that the file itself (*) it found via build-id, if
the regular name-located file does not match inferior build-id or if the
named-located file even does not exist.
I am not completely sure with the SO->SO_NAME initialization. It cannot be
a regression but not sure how it should behave for the build-id-located files.
Currently the original target filename is kept but the comment there says is
may confuse MI frontends. OTOH putting there the build-id located file will
show its build-id name in SO_NAME which is also wrong.
(*) /usr/lib/libxxx.so, not /usr/lib/debug/usr/lib/libxxx.so.debug.
Although GDB uses only symbols from that file so in fact the *.debug file
would be sufficient. But for example .symtab is sometimes only in the .so
file and not the .so.debug file so GDB looks up .so as the associated
.so.debug file gets loaded automatically on top of .so anyway.
Thanks,
Jan
gdb/
2014-03-24 Jan Kratochvil <jan.kratochvil@redhat.com>
Locate solib files via build-id.
* build-id.c (build_id_so_validate): Remove const from the parameter,
return void. Handle also NULL SO->ABFD. Call also build_id_to_bfd.
* build-id.h (build_id_so_validate): Update declaration.
* solib.c (solib_map_sections): Move SO->SO_NAME earlier. Call
VALIDATE even for NULL SO->ABFD. No longer free SO->ABFD on failed
VALIDATE.
(default_solib_validate): Update its const and return value.
* solib.h (default_solib_validate): Update declaration.
* solist.h (struct target_so_ops): Update definition of field validate.
gdb/testsuite/
2014-03-24 Jan Kratochvil <jan.kratochvil@redhat.com>
Locate solib files via build-id.
* gdb.base/solib-mismatch.exp (nocrlf, expected_header): Make
solib_matching_test variables global.
(solib_locate_test): New proc.
(locate non-matching shared library)
(locate non-existing shared library): New tests.
commit 44d174c7e81b033ec87ce55e82f731e2d1da3182
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date: Mon Mar 24 04:30:57 2014 +0100
Code cleanup: solib_map_sections abfd var
Hi,
just remove a local variable holding so->abfd copy as so->abfd may change in
the next patch.
Jan
gdb/
2014-03-24 Jan Kratochvil <jan.kratochvil@redhat.com>
* solib.c (solib_map_sections): Remove variable abfd.
commit 626cc0e72e235a1a87e07c1d7bae34d2aa3a77be
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date: Mon Mar 24 04:30:57 2014 +0100
Tests for validate symbol file using build-id
Hi,
new testcase.
Jan
gdb/testsuite/
2014-02-26 Aleksandar Ristovski <aristovski@qnx.com
Tests for validate symbol file using build-id.
* gdb.base/solib-mismatch-lib.c: New file.
* gdb.base/solib-mismatch-libmod.c: New file.
* gdb.base/solib-mismatch.c: New file.
* gdb.base/solib-mismatch.exp: New file.
commit 041741fef5261c22c998f501f4abc95600e7e4a6
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date: Mon Mar 24 04:30:57 2014 +0100
Validate symbol file using build-id
Hi,
consumer part of the "build-id" attribute.
Jan
gdb/
2014-02-26 Aleksandar Ristovski <aristovski@qnx.com
Jan Kratochvil <jan.kratochvil@redhat.com>
Validate symbol file using build-id.
* NEWS (Changes since GDB 7.7): Add 'set build-id-force'
and 'show build-id-force'. Add build-id attribute.
* build-id.c: Include solist.h, rsp-low.h and gdbcmd.h.
(build_id_force, show_build_id_force): New.
(build_id_verify): Use BUILD_ID_FORCE.
(build_id_to_debug_bfd): Rename to ...
(build_id_to_bfd): ... here. Add parameter suffix.
(build_id_to_debug_bfd): New wrapper of build_id_to_bfd.
(build_id_so_validate, _initialize_build_id): New.
* build-id.h (build_id_so_validate): New declaration.
* solib-darwin.c (_initialize_darwin_solib): Assign validate value.
* solib-dsbt.c (_initialize_dsbt_solib): Ditto.
* solib-frv.c (_initialize_frv_solib): Ditto.
* solib-ia64-hpux.c (ia64_hpux_target_so_ops): Ditto.
* solib-irix.c (_initialize_irix_solib): Ditto.
* solib-osf.c (_initialize_osf_solib): Ditto.
* solib-pa64.c (_initialize_pa64_solib): Ditto.
* solib-som.c (_initialize_som_solib): Ditto.
* solib-spu.c (set_spu_solib_ops): Ditto.
* solib-svr4.c: Include build-id.h and rsp-low.h.
(library_list_start_library): Parse 'build-id' attribute.
(svr4_library_attributes): Add 'build-id' attribute.
(_initialize_svr4_solib): Assign validate value.
* solib-target.c (solib.h): Include.
(_initialize_solib_target): Assign validate value.
* solib.c (solib_map_sections): Use ops->validate.
(free_so): Free build_id.
(default_solib_validate): New function.
* solib.h (default_solib_validate): New declaration.
* solist.h (struct so_list): New fields 'build_idsz' and 'build_id'.
(target_so_ops): New field 'validate'.
gdb/doc/
2014-03-02 Jan Kratochvil <jan.kratochvil@redhat.com>
* gdb.texinfo (Files): Add 'set build-id-force'
and 'show build-id-force'.
-----------------------------------------------------------------------
Summary of changes:
gdb/NEWS | 9 +++++----
gdb/build-id.c | 6 +++++-
gdb/doc/gdb.texinfo | 10 +++++-----
3 files changed, 15 insertions(+), 10 deletions(-)
First 500 lines of diff:
diff --git a/gdb/NEWS b/gdb/NEWS
index 629cc13..aeb4f9d 100644
--- a/gdb/NEWS
+++ b/gdb/NEWS
@@ -43,11 +43,12 @@ maint ada show ignore-descriptive-types
the user manual for more details on descriptive types and the intended
usage of this option.
-set solib-build-id-force (on|off)
-show solib-build-id-force
+set build-id-force (on|off)
+show build-id-force
Inferior shared library and symbol file may contain unique build-id.
- If both build-ids are present but they do not match then this setting
- enables (on) or disables (off) loading of such symbol file.
+ If inferior build-ids is present but it is not identical to symbol file
+ build-id then this setting enables (on) or disables (off) loading
+ of such symbol file.
* New features in the GDB remote stub, GDBserver
diff --git a/gdb/build-id.c b/gdb/build-id.c
index 54f9cb7..928c23c 100644
--- a/gdb/build-id.c
+++ b/gdb/build-id.c
@@ -97,13 +97,17 @@ build_id_verify (bfd *abfd, size_t check_len, const bfd_byte *check)
xfree (message);
return 0;
}
- warning (_("Shared object \"%s\" could not be validated (%s) "
+ warning (_("Symbol file \"%s\" could not be validated (%s) "
"but it is being loaded due to 'set build-id-force'."),
bfd_get_filename (abfd), message);
xfree (message);
return 1;
}
+/* Find and open a BFD given a build-id. If no BFD can be found,
+ return NULL. Use "" or ".debug" for SUFFIX. The returned reference to the
+ BFD must be released by the caller. */
+
static bfd *
build_id_to_bfd (size_t build_id_len, const bfd_byte *build_id,
const char *suffix)
diff --git a/gdb/doc/gdb.texinfo b/gdb/doc/gdb.texinfo
index 756c2c2..6901027 100644
--- a/gdb/doc/gdb.texinfo
+++ b/gdb/doc/gdb.texinfo
@@ -17127,20 +17127,20 @@ symbol file to be identical. If they are not identical, then by default
build-id while printing:
@smallexample
- warning: Shared object "libfoo.so.1" could not be validated (inferior
+ warning: Symbol file "libfoo.so.1" could not be validated (inferior
build ID 2bc1745e does not match symbol file build ID a08f8767) and
- will be ignored; or use 'set solib-build-id-force'.
+ will be ignored; or use 'set build-id-force'.
@end smallexample
Turning on this setting would load such symbol file while still printing:
@smallexample
- warning: Shared object "libfoo.so.1" could not be validated (inferior
+ warning: Symbol file "libfoo.so.1" could not be validated (inferior
build ID 2bc1745e is not identical to symbol file build ID a08f8767)
- but it is being loaded due to 'set solib-build-id-force'.
+ but it is being loaded due to 'set build-id-force'.
@end smallexample
-If inferior build-id is present but it does not match symbol file build-id
+If inferior build-id is present but it is not identical to symbol file build-id
(or the symbol file build-id is not present) then this setting enables
(@var{mode} is @code{on}) or disables (@var{mode} is @code{off}) loading of
such symbol file. On systems where build-id is not present in the inferior
hooks/post-receive
--
Repository for Project Archer.
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2014-05-18 21:05 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-05-18 21:05 [SCM] jankratochvil/gdbserverbuildid: Locate solib files via build-id jkratoch
-- strict thread matches above, loose matches on Subject: below --
2014-05-17 6:02 jkratoch
2014-03-24 19:18 jkratoch
2014-03-24 4:57 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).