Add SVR4 psABI specific parser for AUXV entries
authorKamil Rytarowski <n54@gmx.com>
Wed, 8 Apr 2020 02:01:10 +0000 (04:01 +0200)
committerKamil Rytarowski <n54@gmx.com>
Thu, 9 Apr 2020 11:17:29 +0000 (13:17 +0200)
commit206c98a6503de9c78550b7e503526f59b5b2f491
tree02f2c466cd4d19c55101974b3a293016b724e946
parentae4b1d73f97e0b2a5975b3c0039b12a7f64b793b
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.
gdb/ChangeLog
gdb/auxv.c
gdb/auxv.h
gdb/nbsd-tdep.c
gdb/obsd-tdep.c