aboutsummaryrefslogtreecommitdiff
path: root/gdb
diff options
context:
space:
mode:
authorSimon Marchi <simon.marchi@polymtl.ca>2022-09-29 16:08:24 -0400
committerSimon Marchi <simon.marchi@polymtl.ca>2022-09-29 16:42:34 -0400
commit7dce788191bade507534c745ae1ae997b9e6ed78 (patch)
tree32cf69add25b57145c0336a8c530c01f581bb773 /gdb
parente2df8050fe75d54b03c8f4fbe4392bb568d212a4 (diff)
downloadgdb-7dce788191bade507534c745ae1ae997b9e6ed78.zip
gdb-7dce788191bade507534c745ae1ae997b9e6ed78.tar.gz
gdb-7dce788191bade507534c745ae1ae997b9e6ed78.tar.bz2
gdb: make target_auxv_parse static and rename
It is only used in auxv.c. Also, given it is not strictly a wrapper around target_ops::auxv (since 27a48a9223d0 "Add auxv parsing to the architecture vector."), I think that the name prefixed with target is a bit misleading. Rename to just parse_auxv. Change-Id: I41cca055b92c8ede37c258ba6583746a07d8f77e
Diffstat (limited to 'gdb')
-rw-r--r--gdb/auxv.c14
-rw-r--r--gdb/auxv.h7
2 files changed, 9 insertions, 12 deletions
diff --git a/gdb/auxv.c b/gdb/auxv.c
index a9337d9..76fc821 100644
--- a/gdb/auxv.c
+++ b/gdb/auxv.c
@@ -306,12 +306,16 @@ svr4_auxv_parse (struct gdbarch *gdbarch, const gdb_byte **readptr,
}
/* Read one auxv entry from *READPTR, not reading locations >= ENDPTR.
+
+ Use the auxv_parse method from the current inferior's gdbarch, if defined,
+ else use the current inferior's target stack's auxv_parse.
+
Return 0 if *READPTR is already at the end of the buffer.
Return -1 if there is insufficient buffer for a whole entry.
Return 1 if an entry was read into *TYPEP and *VALP. */
-int
-target_auxv_parse (const gdb_byte **readptr, const gdb_byte *endptr,
- CORE_ADDR *typep, CORE_ADDR *valp)
+static int
+parse_auxv (const gdb_byte **readptr, const gdb_byte *endptr, CORE_ADDR *typep,
+ CORE_ADDR *valp)
{
struct gdbarch *gdbarch = target_gdbarch();
@@ -388,7 +392,7 @@ target_auxv_search (struct target_ops *ops, CORE_ADDR match, CORE_ADDR *valp)
size_t len = info->data->size ();
while (1)
- switch (target_auxv_parse (&ptr, data + len, &type, &val))
+ switch (parse_auxv (&ptr, data + len, &type, &val))
{
case 1: /* Here's an entry, check it. */
if (type == match)
@@ -561,7 +565,7 @@ fprint_target_auxv (struct ui_file *file, struct target_ops *ops)
const gdb_byte *ptr = data;
size_t len = info->data->size ();
- while (target_auxv_parse (&ptr, data + len, &type, &val) > 0)
+ while (parse_auxv (&ptr, data + len, &type, &val) > 0)
{
gdbarch_print_auxv_entry (gdbarch, file, type, val);
++ents;
diff --git a/gdb/auxv.h b/gdb/auxv.h
index 2e8b2ab..ab2a5de 100644
--- a/gdb/auxv.h
+++ b/gdb/auxv.h
@@ -46,13 +46,6 @@ extern int svr4_auxv_parse (struct gdbarch *gdbarch, const gdb_byte **readptr,
const gdb_byte *endptr, CORE_ADDR *typep,
CORE_ADDR *valp);
-/* Read one auxv entry from *READPTR, not reading locations >= ENDPTR.
- Return 0 if *READPTR is already at the end of the buffer.
- Return -1 if there is insufficient buffer for a whole entry.
- Return 1 if an entry was read into *TYPEP and *VALP. */
-extern int target_auxv_parse (const gdb_byte **readptr, const gdb_byte *endptr,
- CORE_ADDR *typep, CORE_ADDR *valp);
-
/* Extract the auxiliary vector entry with a_type matching MATCH.
Return zero if no such entry was found, or -1 if there was
an error getting the information. On success, return 1 after