|
From: <sv...@va...> - 2011-06-03 23:32:31
|
Author: sewardj
Date: 2011-06-04 00:27:39 +0100 (Sat, 04 Jun 2011)
New Revision: 11795
Log:
Followup fix to r11794 (generalise processing of PT_LOAD entries):
change some incorrect "rx->bias" (which due to lameness of C's type
system was valid) to "inrx->bias".
Modified:
trunk/coregrind/m_debuginfo/readelf.c
Modified: trunk/coregrind/m_debuginfo/readelf.c
===================================================================
--- trunk/coregrind/m_debuginfo/readelf.c 2011-06-02 10:06:25 UTC (rev 11794)
+++ trunk/coregrind/m_debuginfo/readelf.c 2011-06-03 23:27:39 UTC (rev 11795)
@@ -1557,11 +1557,11 @@
if (inrx && size >= 0 && !di->text_present) {
di->text_present = True;
di->text_svma = svma;
- di->text_avma = svma + rx->bias;
+ di->text_avma = svma + inrx->bias;
di->text_size = size;
- di->text_bias = rx->bias;
+ di->text_bias = inrx->bias;
di->text_debug_svma = svma;
- di->text_debug_bias = rx->bias;
+ di->text_debug_bias = inrx->bias;
TRACE_SYMTAB("acquiring .text svma = %#lx .. %#lx\n",
di->text_svma,
di->text_svma + di->text_size - 1);
@@ -1623,12 +1623,12 @@
if (inrx && size >= 0 && !di->rodata_present) {
di->rodata_present = True;
di->rodata_svma = svma;
- di->rodata_avma = svma + rx->bias;
+ di->rodata_avma = svma + inrx->bias;
di->rodata_size = size;
- di->rodata_bias = rx->bias;
+ di->rodata_bias = inrx->bias;
di->rodata_debug_svma = svma;
di->rodata_debug_bias = inrx->bias;
- /* NB was 'inrw' prior to rXXXXX */
+ /* NB was 'inrw' prior to r11794 */
TRACE_SYMTAB("acquiring .rodata svma = %#lx .. %#lx\n",
di->rodata_svma,
di->rodata_svma + di->rodata_size - 1);
@@ -1811,7 +1811,7 @@
if (0 == VG_(strcmp)(name, ".plt")) {
if (inrx && size > 0 && !di->plt_present) {
di->plt_present = True;
- di->plt_avma = svma + rx->bias;
+ di->plt_avma = svma + inrx->bias;
di->plt_size = size;
TRACE_SYMTAB("acquiring .plt avma = %#lx\n", di->plt_avma);
} else {
@@ -1872,7 +1872,7 @@
ELF object. */
if (0 == VG_(strcmp)(name, ".eh_frame")) {
if (inrx && size > 0 && di->n_ehframe < N_EHFRAME_SECTS) {
- di->ehframe_avma[di->n_ehframe] = svma + rx->bias;
+ di->ehframe_avma[di->n_ehframe] = svma + inrx->bias;
di->ehframe_size[di->n_ehframe] = size;
TRACE_SYMTAB("acquiring .eh_frame avma = %#lx\n",
di->ehframe_avma[di->n_ehframe]);
|