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