[Bug bootstrap/64256] [5.0 Regression] Pointer Bounds Checker builtins enum overflows stabstring length

jakub at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Wed Dec 10 17:09:00 GMT 2014


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64256

--- Comment #4 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
If I manually #undef DBX_CONTIN_LENGTH in dbxout.c before the default in there,
I get:
        .stabs 
"E:T(0,21)=eEEEEEEEEEE100000:0,EEEEEEEEEE100001:1,EEEEEEEEEE100002:2,EEEEEEEEEE100003:3,\\",128,0,0,0
        .stabs 
"EEEEEEEEEE100004:4,EEEEEEEEEE100005:5,EEEEEEEEEE100006:6,EEEEEEEEEE100007:7,EEEEEEEEEE100008:8,\\",128,0,0,0
        .stabs 
"EEEEEEEEEE100009:9,EEEEEEEEEE100010:10,EEEEEEEEEE100011:11,EEEEEEEEEE100012:12,EEEEEEEEEE100013:13,\\",128,0,0,0
        .stabs 
"EEEEEEEEEE100014:14,EEEEEEEEEE100015:15,EEEEEEEEEE100016:16,EEEEEEEEEE100017:17,EEEEEEEEEE100018:18,\\",128,0,0,0
        .stabs 
"EEEEEEEEEE100019:19,EEEEEEEEEE100020:20,EEEEEEEEEE100021:21,EEEEEEEEEE100022:22,EEEEEEEEEE100023:23,\\",128,0,0,0
        .stabs 
"EEEEEEEEEE100024:24,EEEEEEEEEE100025:25,EEEEEEEEEE100026:26,EEEEEEEEEE100027:27,EEEEEEEEEE100028:28,\\",128,0,0,0
        .stabs 
"EEEEEEEEEE100029:29,EEEEEEEEEE100030:30,EEEEEEEEEE100031:31,EEEEEEEEEE100032:32,EEEEEEEEEE100033:33,\\",128,0,0,0
        .stabs 
"EEEEEEEEEE100034:34,EEEEEEEEEE100035:35,EEEEEEEEEE100036:36,EEEEEEEEEE100037:37,EEEEEEEEEE100038:38,\\",128,0,0,0
        .stabs 
"EEEEEEEEEE100039:39,EEEEEEEEEE100040:40,EEEEEEEEEE100041:41,EEEEEEEEEE100042:42,EEEEEEEEEE100043:43,\\",128,0,0,0
        .stabs 
"EEEEEEEEEE100044:44,EEEEEEEEEE100045:45,EEEEEEEEEE100046:46,EEEEEEEEEE100047:47,EEEEEEEEEE100048:48,\\",128,0,0,0
        .stabs 
"EEEEEEEEEE100049:49,EEEEEEEEEE100050:50,EEEEEEEEEE100051:51,EEEEEEEEEE100052:52,EEEEEEEEEE100053:53,\\",128,0,0,0
...
which looks good to me.
So, to me this looks like misconfiguration of the AIX target setting, if it
can't handle string lengths larget than say 32KB or 64KB, it should make
sure DBX_CONTIN_LENGTH is not defined to 0 (infinite), but say 32000 or 65000.
Whether it should use DBX_CONTIN_CHAR '?' or '\\' is something you should test,
'\\' is the default, '?' is mentioned as AIX continuation character in the
mentioned PR,
and is used e.g. on sparc*-netbsd/freebsd.
Try gdb and whatever other debugger is commonly used on your target.
All I can say is that dbxout.c seems to have all the needed support.



More information about the Gcc-bugs mailing list