aboutsummaryrefslogtreecommitdiff
path: root/gdb/nbsd-tdep.c
diff options
context:
space:
mode:
authorKamil Rytarowski <n54@gmx.com>2020-04-08 04:01:10 +0200
committerKamil Rytarowski <n54@gmx.com>2020-04-09 13:17:29 +0200
commit206c98a6503de9c78550b7e503526f59b5b2f491 (patch)
tree02f2c466cd4d19c55101974b3a293016b724e946 /gdb/nbsd-tdep.c
parentae4b1d73f97e0b2a5975b3c0039b12a7f64b793b (diff)
downloadgdb-206c98a6503de9c78550b7e503526f59b5b2f491.zip
gdb-206c98a6503de9c78550b7e503526f59b5b2f491.tar.gz
gdb-206c98a6503de9c78550b7e503526f59b5b2f491.tar.bz2
Add SVR4 psABI specific parser for AUXV entries
NetBSD and OpenBSD always use an int to store the type as defined in the SVR4 psABI specifications rather than long as assumed by the default parser. Define svr4_auxv_parse() that shares code with default_auxv_parse(). Remove obsd_auxv_parse() and switch OpenBSD to svr4_auxv_parse(). Remove not fully accurate comment from obsd-tdep.c. Use svr4_auxv_parse() on NetBSD. gdb/ChangeLog: * auxv.h (svr4_auxv_parse): New. * auxv.c (default_auxv_parse): Split into default_auxv_parse and generic_auxv_parse. (svr4_auxv_parse): Add. * obsd-tdep.c: Include "auxv.h". (obsd_auxv_parse): Remove. (obsd_init_abi): Remove comment. (obsd_init_abi): Change set_gdbarch_auxv_parse passed argument from `obsd_auxv_parse' to `svr4_auxv_parse'. * nbsd-tdep.c: Include "auxv.h". (nbsd_init_abi): Call set_gdbarch_auxv_parse.
Diffstat (limited to 'gdb/nbsd-tdep.c')
-rw-r--r--gdb/nbsd-tdep.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/gdb/nbsd-tdep.c b/gdb/nbsd-tdep.c
index 1d7230f..158a43b 100644
--- a/gdb/nbsd-tdep.c
+++ b/gdb/nbsd-tdep.c
@@ -20,6 +20,7 @@
along with this program. If not, see <http://www.gnu.org/licenses/>. */
#include "defs.h"
+#include "auxv.h"
#include "solib-svr4.h"
#include "nbsd-tdep.h"
#include "gdbarch.h"
@@ -362,4 +363,5 @@ nbsd_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
set_gdbarch_gdb_signal_from_target (gdbarch, nbsd_gdb_signal_from_target);
set_gdbarch_gdb_signal_to_target (gdbarch, nbsd_gdb_signal_to_target);
set_gdbarch_skip_solib_resolver (gdbarch, nbsd_skip_solib_resolver);
+ set_gdbarch_auxv_parse (gdbarch, svr4_auxv_parse);
}