* [PATCH] Handle missing Solaris auxv entries
@ 2018-09-19 11:49 Rainer Orth
2018-09-19 14:59 ` Nick Clifton
2018-09-19 19:52 ` Tom Tromey
0 siblings, 2 replies; 4+ messages in thread
From: Rainer Orth @ 2018-09-19 11:49 UTC (permalink / raw)
To: gdb-patches; +Cc: binutils
[-- Attachment #1: Type: text/plain, Size: 2826 bytes --]
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. Ok for master?
Rainer
--
-----------------------------------------------------------------------------
Rainer Orth, Center for Biotechnology, Bielefeld University
2018-06-13 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
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.
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: sol2-auxv-missing.patch --]
[-- Type: text/x-patch, Size: 2908 bytes --]
# HG changeset patch
# Parent 7005944ef9bca8a972c826ef139fadd28c57d6a7
Handle missing Solaris auxv entries
diff --git a/gdb/auxv.c b/gdb/auxv.c
--- a/gdb/auxv.c
+++ b/gdb/auxv.c
@@ -495,7 +495,7 @@ default_print_auxv_entry (struct gdbarch
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);
@@ -509,6 +509,17 @@ default_print_auxv_entry (struct gdbarch
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);
diff --git a/include/elf/common.h b/include/elf/common.h
--- a/include/elf/common.h
+++ b/include/elf/common.h
@@ -1164,9 +1164,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. */
@@ -1175,6 +1175,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 */
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] Handle missing Solaris auxv entries
2018-09-19 11:49 [PATCH] Handle missing Solaris auxv entries Rainer Orth
@ 2018-09-19 14:59 ` Nick Clifton
2018-09-19 19:52 ` Tom Tromey
1 sibling, 0 replies; 4+ messages in thread
From: Nick Clifton @ 2018-09-19 14:59 UTC (permalink / raw)
To: Rainer Orth, gdb-patches; +Cc: binutils
Hi Rainer,
> Tested on amd64-pc-solaris2.11. Ok for master?
No problems from the binutils end.
Cheers
Nick
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] Handle missing Solaris auxv entries
2018-09-19 11:49 [PATCH] Handle missing Solaris auxv entries Rainer Orth
2018-09-19 14:59 ` Nick Clifton
@ 2018-09-19 19:52 ` Tom Tromey
2018-09-20 8:26 ` Rainer Orth
1 sibling, 1 reply; 4+ messages in thread
From: Tom Tromey @ 2018-09-19 19:52 UTC (permalink / raw)
To: Rainer Orth; +Cc: gdb-patches, binutils
>>>>> "Rainer" == Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> writes:
Rainer> The following patch fixes this by introducing the missing AT_SUN_*
Rainer> values from Solaris 11.4+ <sys/auxv.h>. This lets the live and
Rainer> gcore-created dump tests PASS.
Rainer> I don't know yet what's the reason for those weird 'Unrecognized tag
Rainer> value' warnings with native core dumps is; elfdump -n certainly doesn't
Rainer> show them. However, native core dumps still need quite some work
Rainer> (mostly in bfd) in this and other areas.
Rainer> Tested on amd64-pc-solaris2.11. Ok for master?
The gdb parts are ok. Thank you for doing this.
Rainer> (AT_SUN_CAP_HW1): ... this. Retain old name for backward
Rainer> compatibility.
I don't know if compatibility is needed here, but I suppose it can
hardly hurt.
Tom
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] Handle missing Solaris auxv entries
2018-09-19 19:52 ` Tom Tromey
@ 2018-09-20 8:26 ` Rainer Orth
0 siblings, 0 replies; 4+ messages in thread
From: Rainer Orth @ 2018-09-20 8:26 UTC (permalink / raw)
To: Tom Tromey; +Cc: gdb-patches, binutils
Hi Tom,
> Rainer> (AT_SUN_CAP_HW1): ... this. Retain old name for backward
> Rainer> compatibility.
>
> I don't know if compatibility is needed here, but I suppose it can
> hardly hurt.
I've been following the lead of Solaris <sys/auxv.h> here. Not knowing
if there are any out-of-tree consumers, it seemed the safest course.
Thanks.
Rainer
--
-----------------------------------------------------------------------------
Rainer Orth, Center for Biotechnology, Bielefeld University
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2018-09-20 8:26 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-09-19 11:49 [PATCH] Handle missing Solaris auxv entries Rainer Orth
2018-09-19 14:59 ` Nick Clifton
2018-09-19 19:52 ` Tom Tromey
2018-09-20 8:26 ` Rainer Orth
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).