[Bug target/57260] Generated R_MIPS_GOT_MIPS relocation for direct function call while compiling with -O2 on MIPS N64
lee.duhem at gmail dot com
gcc-bugzilla@gcc.gnu.org
Tue May 14 02:06:00 GMT 2013
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57260
--- Comment #7 from Lee Duhem <lee.duhem at gmail dot com> ---
(In reply to Andrew Pinski from comment #6)
> > I think the following testcase is closer to my case:
> > int shouldbecall16(void);
> > int g(void) { shouldbecall16(); return 0; }
>
> No it is not; mine is the one which shows the issue:
> static void
> __glXDRIenterServer(GLboolean rendering)
> {
> ....
> DRIWakeupHandler(((void *)0), 0, ((void *)0));
> }
There are two symbols that have the R_MIPS_GOT_DISP
relocation, DRIBlockHandler and DRIWakeupHandler.
The DRIBlockHandler case is
static void
__glXDRIleaveServer(GLboolean rendering)
{
...
DRIBlockHandler(NULL, NULL, NULL);
for (i = 0; rendering && i < screenInfo.numScreens; i++) {
...
}
And the DRIWakeupHandler case is
static void
__glXDRIenterServer(GLboolean rendering)
{
...
DRIWakeupHandler(NULL, 0, NULL);
}
Would you like to check again about the first case? I think
these two case are different.
Thank you for your time.
More information about the Gcc-bugs
mailing list