mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2025-01-18 12:24:38 +08:00
Handle missing Solaris auxv entries
Currently, three tests FAIL on Solaris 11.4+ (amd64-pc-solaris2.11 and sparcv9-sun-solaris2.11): info auxv [...] 2009 AT_SUN_HWCAP Machine-dependent CPU capability hints 0x3f5ff7 2023 ??? 0x0 0 AT_NULL End of vector 0x0 (gdb) WARNING: Unrecognized tag value: 2023 ??? 0x0 FAIL: gdb.base/auxv.exp: info auxv on live process info auxv 4294969310 ??? 0x7fffbfffe410 9225589753816 ??? 0x7fffbfffe45c [...] WARNING: Unrecognized tag value: 4294969310 ??? 0x7fffbfffe410 WARNING: Unrecognized tag value: 9225589753816 ??? 0x7fffbfffe45c WARNING: Unrecognized tag value: 140733193388037 ??? 0x6 [...] 2009 AT_SUN_HWCAP Machine-dependent CPU capability hints 0x3f5ff7 2023 ??? 0x0 0 AT_NULL End of vector 0x0 (gdb) WARNING: Unrecognized tag value: 2023 ??? 0x0 UNRESOLVED: gdb.base/auxv.exp: info auxv on native core dump info auxv [...] 2009 AT_SUN_HWCAP Machine-dependent CPU capability hints 0x3f5ff7 2023 ??? 0x0 0 AT_NULL End of vector 0x0 (gdb) WARNING: Unrecognized tag value: 2023 ??? 0x0 FAIL: gdb.base/auxv.exp: info auxv on gcore-created dump The following patch fixes this by introducing the missing AT_SUN_* values from Solaris 11.4+ <sys/auxv.h>. This lets the live and gcore-created dump tests PASS. I don't know yet what's the reason for those weird 'Unrecognized tag value' warnings with native core dumps is; elfdump -n certainly doesn't show them. However, native core dumps still need quite some work (mostly in bfd) in this and other areas. Tested on amd64-pc-solaris2.11. gdb: * auxv.c (default_print_auxv_entry): Reflect AT_SUN_CAP_HW1 renaming. Handle AT_SUN_EMULATOR, AT_SUN_BRANDNAME, AT_SUN_BRAND_AUX1, AT_SUN_BRAND_AUX2, AT_SUN_BRAND_AUX3, AT_SUN_CAP_HW2. include: * elf/common.h (AT_SUN_HWCAP): Rename to ... (AT_SUN_CAP_HW1): ... this. Retain old name for backward compatibility. (AT_SUN_EMULATOR, AT_SUN_BRANDNAME, AT_SUN_BRAND_AUX1) (AT_SUN_BRAND_AUX2, AT_SUN_BRAND_AUX3, AT_SUN_CAP_HW2): Define.
This commit is contained in:
parent
8c93fae615
commit
3d282ac370
@ -1,3 +1,10 @@
|
||||
2018-09-20 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
|
||||
|
||||
* auxv.c (default_print_auxv_entry): Reflect AT_SUN_CAP_HW1
|
||||
renaming.
|
||||
Handle AT_SUN_EMULATOR, AT_SUN_BRANDNAME, AT_SUN_BRAND_AUX1,
|
||||
AT_SUN_BRAND_AUX2, AT_SUN_BRAND_AUX3, AT_SUN_CAP_HW2.
|
||||
|
||||
2018-09-20 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
|
||||
|
||||
* i386-v4-nat.c (regmap, supply_gregset, fill_gregset)
|
||||
|
13
gdb/auxv.c
13
gdb/auxv.c
@ -493,7 +493,7 @@ default_print_auxv_entry (struct gdbarch *gdbarch, struct ui_file *file,
|
||||
AUXV_FORMAT_STR);
|
||||
TAG (AT_SUN_LPAGESZ, _("Large pagesize"), AUXV_FORMAT_DEC);
|
||||
TAG (AT_SUN_PLATFORM, _("Platform name string"), AUXV_FORMAT_STR);
|
||||
TAG (AT_SUN_HWCAP, _("Machine-dependent CPU capability hints"),
|
||||
TAG (AT_SUN_CAP_HW1, _("Machine-dependent CPU capability hints"),
|
||||
AUXV_FORMAT_HEX);
|
||||
TAG (AT_SUN_IFLUSH, _("Should flush icache?"), AUXV_FORMAT_DEC);
|
||||
TAG (AT_SUN_CPU, _("CPU name string"), AUXV_FORMAT_STR);
|
||||
@ -507,6 +507,17 @@ default_print_auxv_entry (struct gdbarch *gdbarch, struct ui_file *file,
|
||||
AUXV_FORMAT_HEX);
|
||||
TAG (AT_SUN_AUXFLAGS,
|
||||
_("AF_SUN_ flags passed from the kernel"), AUXV_FORMAT_HEX);
|
||||
TAG (AT_SUN_EMULATOR, _("Name of emulation binary for runtime linker"),
|
||||
AUXV_FORMAT_STR);
|
||||
TAG (AT_SUN_BRANDNAME, _("Name of brand library"), AUXV_FORMAT_STR);
|
||||
TAG (AT_SUN_BRAND_AUX1, _("Aux vector for brand modules 1"),
|
||||
AUXV_FORMAT_HEX);
|
||||
TAG (AT_SUN_BRAND_AUX2, _("Aux vector for brand modules 2"),
|
||||
AUXV_FORMAT_HEX);
|
||||
TAG (AT_SUN_BRAND_AUX3, _("Aux vector for brand modules 3"),
|
||||
AUXV_FORMAT_HEX);
|
||||
TAG (AT_SUN_CAP_HW2, _("Machine-dependent CPU capability hints 2"),
|
||||
AUXV_FORMAT_HEX);
|
||||
}
|
||||
|
||||
fprint_auxv_entry (file, name, description, format, type, val);
|
||||
|
@ -1,3 +1,11 @@
|
||||
2018-09-20 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
|
||||
|
||||
* elf/common.h (AT_SUN_HWCAP): Rename to ...
|
||||
(AT_SUN_CAP_HW1): ... this. Retain old name for backward
|
||||
compatibility.
|
||||
(AT_SUN_EMULATOR, AT_SUN_BRANDNAME, AT_SUN_BRAND_AUX1)
|
||||
(AT_SUN_BRAND_AUX2, AT_SUN_BRAND_AUX3, AT_SUN_CAP_HW2): Define.
|
||||
|
||||
2018-09-05 Simon Marchi <simon.marchi@ericsson.com>
|
||||
|
||||
* diagnostics.h (DIAGNOSTIC_IGNORE_FORMAT_NONLITERAL): New macro.
|
||||
|
@ -1236,9 +1236,9 @@
|
||||
#define AT_SUN_LDNAME 2006 /* String giving name of dynamic linker. */
|
||||
#define AT_SUN_LPAGESZ 2007 /* Large pagesize. */
|
||||
#define AT_SUN_PLATFORM 2008 /* Platform name string. */
|
||||
#undef AT_SUN_HWCAP
|
||||
#define AT_SUN_HWCAP 2009 /* Machine dependent hints about
|
||||
#define AT_SUN_CAP_HW1 2009 /* Machine dependent hints about
|
||||
processor capabilities. */
|
||||
#define AT_SUN_HWCAP AT_SUN_CAP_HW1 /* For backward compat only. */
|
||||
#define AT_SUN_IFLUSH 2010 /* Should flush icache? */
|
||||
#define AT_SUN_CPU 2011 /* CPU name string. */
|
||||
#define AT_SUN_EMUL_ENTRY 2012 /* COFF entry point address. */
|
||||
@ -1247,6 +1247,12 @@
|
||||
#define AT_SUN_MMU 2015 /* String for name of MMU module. */
|
||||
#define AT_SUN_LDDATA 2016 /* Dynamic linker's data segment address. */
|
||||
#define AT_SUN_AUXFLAGS 2017 /* AF_SUN_ flags passed from the kernel. */
|
||||
|
||||
#define AT_SUN_EMULATOR 2018 /* Name of emulation binary for runtime
|
||||
linker. */
|
||||
#define AT_SUN_BRANDNAME 2019 /* Name of brand library. */
|
||||
#define AT_SUN_BRAND_AUX1 2020 /* Aux vectors for brand modules. */
|
||||
#define AT_SUN_BRAND_AUX2 2021
|
||||
#define AT_SUN_BRAND_AUX3 2022
|
||||
#define AT_SUN_CAP_HW2 2023 /* Extension of AT_SUN_CAP_HW1. */
|
||||
|
||||
#endif /* _ELF_COMMON_H */
|
||||
|
Loading…
Reference in New Issue
Block a user