|
From: <sv...@va...> - 2008-08-28 19:29:21
|
Author: sewardj
Date: 2008-08-28 20:29:29 +0100 (Thu, 28 Aug 2008)
New Revision: 8559
Log:
ML_(evaluate_trivial_GX): handle the sequence "DW_OP_addr;
DW_OP_GNU_push_tls_address" (whatever that might mean).
Modified:
branches/SGCHECK/coregrind/m_debuginfo/d3basics.c
Modified: branches/SGCHECK/coregrind/m_debuginfo/d3basics.c
===================================================================
--- branches/SGCHECK/coregrind/m_debuginfo/d3basics.c 2008-08-28 19:27:03 UTC (rev 8558)
+++ branches/SGCHECK/coregrind/m_debuginfo/d3basics.c 2008-08-28 19:29:29 UTC (rev 8559)
@@ -733,6 +733,12 @@
thisResult.b = True;
thisResult.w = *(Addr*)(p+1) + data_bias;
}
+ else if (nbytes == 2 + sizeof(Addr)
+ && *p == DW_OP_addr
+ && *(p + 1 + sizeof(Addr)) == DW_OP_GNU_push_tls_address) {
+ if (!badness)
+ badness = "trivial GExpr is DW_OP_addr plus trailing junk";
+ }
else if (nbytes >= 1 && *p >= DW_OP_reg0 && *p <= DW_OP_reg31) {
if (!badness)
badness = "trivial GExpr denotes register (1)";
|