gdb: make target_auxv_parse static and rename
authorSimon Marchi <simon.marchi@polymtl.ca>
Thu, 29 Sep 2022 20:08:24 +0000 (16:08 -0400)
committerSimon Marchi <simon.marchi@polymtl.ca>
Thu, 29 Sep 2022 20:42:34 +0000 (16:42 -0400)
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

gdb/auxv.c
gdb/auxv.h

index a9337d9f7ff4694d986f3026004b15e599500dda..76fc821c07c3d7e7acb778ff5617bc728de9b318 100644 (file)
@@ -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;
index 2e8b2ab33fc660bf0d6a6c9a9f6827f4b92b062a..ab2a5dee5f74f5905a61ee842ead217e0e3b94d9 100644 (file)
@@ -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