PowerPC snapshot compilation failures

Glauber de Oliveira Costa glommer at br.ibm.com
Mon Sep 26 00:12:33 UTC 2005


> > 
> > ../../../../include/errno.h: Assembler messages:
> > ../../../../include/errno.h:32: Error: Unrecognized opcode:
> > `__begin_decls'
> > ../../../../include/errno.h:61: Error: Unrecognized opcode:
> > `__end_decls'
> > 
> > And it happens, as you might know, because the decls macros 
> > are not expanded while compiling the .S file. So, if I run 
> > the preprocessor alone into it, the definitions are there, 
> > and are understood as labels.
> 
> hmm, I think this change broke it
> http://uclibc.org/cgi-bin/viewcvs.cgi/trunk/uClibc/include/features.h?rev=11524&r1=11100&r2=11524
> 
> The #include <sys/cdefs.h> was removed.
> 
Exactly!

it's defined inside an #ifndef __ASSEMBLER__ statement.
I just did this:

	-#ifndef __ASSEMBLER__
 	 # ifndef _SYS_CDEFS_H
 	 #  include <sys/cdefs.h>
 	 # endif
 
	+#ifndef __ASSEMBLER__

and the preprocessor then outputted the right thing.
		 

> > > > > > ld  -shared --warn-common --warn-once -z combreloc -z defs -s 
> > > > > > -soname=libdl.so.0 \ -o libdl-0.9.28.so -fini dl_cleanup 
> > > > > > --whole-archive libdl_pic.a \ --no-whole-archive 
> > > > > > ../..//libc/misc/internals/interp.o \ -L../..//lib -lc  
> > > > > > ../../lib/ld-uClibc.so.0 
> > > > > > /usr/lib/gcc-lib/powerpc-suse-linux/3.3.3/libgcc.a;
> > > > > > ld: Error: The symbol `__syscall_error' has a R_PPC_REL24 
> > > > > > relocation, that means '../..//lib/libc.a(brk.o)' was 
> > compiled without -fPIC.
> 
> I wonder if not attribute_hidden has been lost for __syscall_error?

Hum... Don't think so.

linux:~/uClibc/libc/sysdeps/linux/powerpc # gcc  -Wall
-Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing    -fno-builtin
-nostdinc -D_LIBC -I../../../../include -I.  -Os -funit-at-a-time
-isystem /usr/lib/gcc-lib/powerpc-suse-linux/3.3.3/include -DNDEBUG
-fpic -c __syscall_error.c -E | tail -n6

int __attribute__ ((visibility ("hidden"))) __syscall_error(int err_no)
{
        (((*__errno_location ())) = (err_no));
	       return -1;
}
								
>  Jocke
> 

-- 
=====================================
Glauber de Oliveira Costa
IBM Linux Technology Center - Brazil
glommer at br.ibm.com
=====================================



More information about the uClibc mailing list