bad compiler generated code? - firefox issues

Sean McNeil sean at mcneil.com
Fri Jun 18 06:25:11 GMT 2004


On Thu, 2004-06-17 at 23:19, Sean McNeil wrote:
> > *** contrib/gcc/config/i386/i386.c.orig Thu Jun 17 18:20:11 2004
> > --- contrib/gcc/config/i386/i386.c      Thu Jun 17 18:10:55 2004
> > *************** x86_output_mi_thunk (file, thunk, delta,
> > *** 14607,14621 ****
> >         output_asm_insn ("mov{l}\t{%0, %1|%1, %0}", xops);
> >       }
> > 
> > !   xops[0] = DECL_RTL (function);
> >     if (TARGET_64BIT)
> >       {
> >         if (!flag_pic || (*targetm.binds_local_p) (function))
> >         output_asm_insn ("jmp\t%P0", xops);
> >         else
> >         {
> > !         tmp = XEXP (xops[0], 0);
> > !         tmp = gen_rtx_UNSPEC (Pmode, gen_rtvec (1, tmp), UNSPEC_GOTPCREL);
> >           tmp = gen_rtx_CONST (Pmode, tmp);
> >           tmp = gen_rtx_MEM (QImode, tmp);
> >           xops[0] = tmp;
> > --- 14607,14620 ----
> >         output_asm_insn ("mov{l}\t{%0, %1|%1, %0}", xops);
> >       }
> > 
> > !   xops[0] = XEXP (DECL_RTL (function), 0);
> >     if (TARGET_64BIT)
> >       {
> >         if (!flag_pic || (*targetm.binds_local_p) (function))
> >         output_asm_insn ("jmp\t%P0", xops);
> >         else
> >         {
> > !         tmp = gen_rtx_UNSPEC (Pmode, gen_rtvec (1, xops[0]), UNSPEC_GOTPCREL);
> >           tmp = gen_rtx_CONST (Pmode, tmp);
> >           tmp = gen_rtx_MEM (QImode, tmp);
> >           xops[0] = tmp;
> > 
> > 
> > I am rebuilding firefox with this patch and will report back if firefox works.
> 
> I had to do a complete rebuild:  portupgrade -fR firefox-0.9_1
> 
> Now firefox works!!!
> 
> There must have been other libraries that firefox depended on that were
> built with the bad compiler.

Sorry, I have to qualify that.  It now works as root.  Still crashes as
a typical user.




More information about the freebsd-amd64 mailing list