We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
2 parents ffedb33 + 04f981e commit 0582a32Copy full SHA for 0582a32
output/outelf.c
@@ -2692,7 +2692,11 @@ static void debug_typevalue(int32_t type)
2692
stype = STT_NOTYPE;
2693
break;
2694
}
2695
- if (stype == STT_OBJECT && lastsym && !lastsym->type) {
+ /* Set type and size info on most recently seen symbol if we haven't set it already.
2696
+ But avoid setting size info on object (data) symbols in absolute sections (which
2697
+ is primarily structs); some environments get confused with non-zero-extent absolute
2698
+ object symbols and end up showing them in backtraces for NULL fn pointer calls. */
2699
+ if (stype == STT_OBJECT && lastsym && !lastsym->type && lastsym->section != XSHN_ABS) {
2700
lastsym->size = ssize;
2701
lastsym->type = stype;
2702
0 commit comments