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

Reply via email to