[Bug target/11924] mips64-linux o32 accesses to certain file-local data incorrectly generated

cgd at broadcom dot com gcc-bugzilla@gcc.gnu.org
Fri Aug 15 16:56:00 GMT 2003


PLEASE REPLY TO gcc-bugzilla@gcc.gnu.org ONLY, *NOT* gcc-bugs@gcc.gnu.org.

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=11924



------- Additional Comments From cgd at broadcom dot com  2003-08-15 16:56 -------
Subject: Re:  mips64-linux o32 accesses to certain
 file-local data incorrectly generated

At 15 Aug 2003 05:56:12 -0000, rsandifo at gcc dot gnu dot org wrote:
> Hah.  I see the problem.  I dumbly resued the following (originally
> mips16) check for local compiler-generated symbols:
> 
>   if (XSTR (x, 0)[0] == '*'
>       && strncmp (XSTR (x, 0) + 1, LOCAL_LABEL_PREFIX,
>                   sizeof LOCAL_LABEL_PREFIX - 1) == 0)

gack, i dug around just that code, and didn't realize what was going
on.

(TBH, not having thought about the legality of such a construction,
i guess i'm kind-of surprosed that it compiles w/o a warning...  8-)


> Anyway, I guess that changing the sizeof to a strlen will
> fix the problem but it'll be a few days before I can check.
> I'll try to think of something more elegant...

I'll apply your patch to my source tree and give it a go.  if i
remember the test results, it'll fix a few dozen.



chris



More information about the Gcc-bugs mailing list