The change that added this code did not take Solaris only block (hidden
|
behind define macro) into consideration.
|
|
Should be reported upstream.
|
|
--- valgrind-3.22.0/coregrind/m_debuginfo/readelf.c
|
+++ valgrind-3.22.0/coregrind/m_debuginfo/readelf.c
|
@@ -2386,6 +2386,12 @@ Bool ML_(read_elf_debug_info) ( struct _
|
|
/* Accept .data where mapped as rw (data), even if zero-sized */
|
if (0 == VG_(strcmp)(name, ".data")) {
|
+ if (inrw2) {
|
+ inrw = inrw2;
|
+ } else {
|
+ inrw = inrw1;
|
+ }
|
+
|
# if defined(SOLARIS_PT_SUNDWTRACE_THRP)
|
if ((size == VKI_PT_SUNWDTRACE_SIZE) && (svma == dtrace_data_vaddr)) {
|
TRACE_SYMTAB("ignoring .data section for dtrace_data "
|
@@ -2393,12 +2399,6 @@ Bool ML_(read_elf_debug_info) ( struct _
|
} else
|
# endif /* SOLARIS_PT_SUNDWTRACE_THRP */
|
|
- if (inrw2) {
|
- inrw = inrw2;
|
- } else {
|
- inrw = inrw1;
|
- }
|
-
|
if (inrw && !di->data_present) {
|
di->data_present = True;
|
di->data_svma = svma;
|