Author: sewardj
Date: 2008-01-13 15:26:15 +0000 (Sun, 13 Jan 2008)
New Revision: 7343
Log:
Fix up .sbss fiddling a bit.
Modified:
branches/DATASYMS/coregrind/m_debuginfo/readelf.c
Modified: branches/DATASYMS/coregrind/m_debuginfo/readelf.c
===================================================================
--- branches/DATASYMS/coregrind/m_debuginfo/readelf.c 2008-01-13 14:12:13 UTC
(rev 7342)
+++ branches/DATASYMS/coregrind/m_debuginfo/readelf.c 2008-01-13 15:26:15 UTC
(rev 7343)
@@ -1508,27 +1508,30 @@
== di->bss_svma) {
/* Immediately precedes .bss */
di->bss_size += (di->bss_svma - sbss_svma);
+ di->bss_bias += (di->bss_svma - sbss_svma);
di->bss_svma -= (di->bss_svma - sbss_svma);
/* but don't mess with .bss avma or bias */
TRACE_SYMTAB("found .sbss of size %ld immediately preceding .bss\n",
sbss_size);
- TRACE_SYMTAB("revised .bss svma %p .. %p\n",
+ TRACE_SYMTAB("revised .bss svma = %p .. %p\n",
di->bss_svma, di->bss_svma + di->bss_size - 1);
- TRACE_SYMTAB("revised .bss avma %p .. %p\n",
+ TRACE_SYMTAB("revised .bss avma = %p .. %p\n",
di->bss_avma, di->bss_avma + di->bss_size - 1);
+ TRACE_SYMTAB("revised .bss bias = %p\n", di->bss_bias);
}
else
- if (round_Addr_upwards(di->bss_svma + di->bss_size, sbss_align)
- == sbss_svma) {
+ if (round_Addr_upwards(di->bss_svma + di->bss_size, sbss_align)
+ == sbss_svma) {
/* Immediately follows .bss */
di->bss_size += (sbss_svma - di->bss_svma);
/* but don't mess with .bss avma or bias */
TRACE_SYMTAB("found .sbss of size %ld immediately following .bss\n",
sbss_size);
- TRACE_SYMTAB("revised .bss svma %p .. %p\n",
+ TRACE_SYMTAB("revised .bss svma = %p .. %p\n",
di->bss_svma, di->bss_svma + di->bss_size - 1);
- TRACE_SYMTAB("revised .bss avma %p .. %p\n",
+ TRACE_SYMTAB("revised .bss avma = %p .. %p\n",
di->bss_avma, di->bss_avma + di->bss_size - 1);
+ TRACE_SYMTAB("revised .bss bias = %p\n", di->bss_bias);
}
else {
/* Can't ascertain relative position. Complain and
-------------------------------------------------------------------------
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace
_______________________________________________
Valgrind-developers mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/valgrind-developers