This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH] Fix PPC32 local checks in 3.2 (was: Re: [libffi] closures for sparc)


On Tuesday 21 January 2003 00:01, Jakub Jelinek wrote:
> On Sun, Jan 05, 2003 at 11:26:30AM -0500, Jeff Sturm wrote:
> > On Sat, 4 Jan 2003, Andreas Tobler wrote:
> > > Hm, powerpc-unknown-linux-gnu doesn't like the static:
> > >
> > > .libs/ffitest.o: could not read symbols: Bad value
> >
> > Strange.  Surely this isn't a problem in libffi though?
> >
> > Can you try a newer ld and see if it fixes the problem?  If not, let me
> > know and I'll attempt a cross build (I don't have a powerpc-linux machine
> > handy).
>
> I get the same on ppc-linux. To me this looks like a bug in gcc:
>
> /* { dg-do link } */
> /* { dg-options "-O2 -fpic" } */
> static char foo [128];
> void bar (void)
> {
>   ((void (*)(void))foo)();
> }
> int main ()
> {
> }
>
> results in:
> ...
>         bl foo@plt
> ...
>         .lcomm  foo,128,4
>
> Note @plt used for local symbol.

Yeah, I have a patch for that. I simply backported the gllobal gcc-3.3 
binds_local_p routine to a local one in rs6000.c. Works like a charm here, no 
regressions and it works for glibc, qt, KDE-3.1, kernel just fine.

OK to commit to gcc-3_2-branch?

Jakub, as soon as you pull this over to the rhl8 branch, you can remove the 
"ExcludeArch: ppc" of the Omni package in RawHide.

Franz.

	* config/rs6000/rs6000.c (rs6000_binds_local_p): New functiion.
	(rs6000_encode_section_info): Use it.

Attachment: gcc-ppc-binds_local_p-1.patch
Description: Text document


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]