[uClibc] FIX ldso for SH-targets

Stefan Allius allius at atecom.com
Tue Mar 2 11:50:56 UTC 2004


Hi Erik,

I testet the new ldso for my SH3 target. There is a little patch
needed to fix the prototype of the _dl_boot2 function (see
ldo/ldso/sh/dl-startup.h). I also fixes some compiler warnings in the ldso.


bye Stefan

-- 
----------------------------------
Stefan Allius
senior software engineer

ATecoM GmbH
advanced telecommunication modules
Pascalstrasse 67
D-52076 Aachen
Germany

Tel: +49/2408/9596-0
Fax: +49/2408/9596-900
eMail: allius at atecom.com
URL: http://www.atecom.com
----------------------------------






cvs server: Diffing ldso
cvs server: Diffing ldso/include
cvs server: Diffing ldso/ldso
Index: ldso/ldso/dl-elf.c
===================================================================
RCS file: /net/projects/cvs/atecom/firmware/uClibc/ldso/ldso/dl-elf.c,v
retrieving revision 1.1.1.3
retrieving revision 1.2
diff -u -b -B -w -p -r1.1.1.3 -r1.2
--- ldso/ldso/dl-elf.c	2004/02/24 13:31:34	1.1.1.3
+++ ldso/ldso/dl-elf.c	2004/03/01 14:09:13	1.2
@@ -241,6 +241,8 @@ struct elf_resolve *_dl_load_shared_libr
 	struct elf_resolve *tpnt1;
 	char *libname;
 
+	(void) trace_loaded_objects; /* tell the gcc this unused arg, to avaoid a warning */
+
 	_dl_internal_error_number = 0;
 	libname = full_libname;
 
@@ -901,7 +903,7 @@ void *_dl_malloc(int size)
 	if (_dl_malloc_function)
 		return (*_dl_malloc_function) (size);
 
-	if (_dl_malloc_addr - _dl_mmap_zero + size > PAGE_SIZE) {
+	if (_dl_malloc_addr - _dl_mmap_zero + size > (int)PAGE_SIZE) {
 #ifdef __SUPPORT_LD_DEBUG_EARLY__
 		_dl_dprintf(2, "malloc: mmapping more memory\n");
 #endif
cvs server: Diffing ldso/ldso/arm
cvs server: Diffing ldso/ldso/cris
cvs server: Diffing ldso/ldso/frv
cvs server: Diffing ldso/ldso/i386
cvs server: Diffing ldso/ldso/m68k
cvs server: Diffing ldso/ldso/mips
cvs server: Diffing ldso/ldso/powerpc
cvs server: Diffing ldso/ldso/sh
Index: ldso/ldso/sh/dl-startup.h
===================================================================
RCS file: /net/projects/cvs/atecom/firmware/uClibc/ldso/ldso/sh/dl-startup.h,v
retrieving revision 1.1.1.3
retrieving revision 1.2
diff -u -b -B -w -p -r1.1.1.3 -r1.2
--- ldso/ldso/sh/dl-startup.h	2004/02/24 13:31:40	1.1.1.3
+++ ldso/ldso/sh/dl-startup.h	2004/03/01 14:12:25	1.2
@@ -18,7 +18,7 @@ asm("" \
 "	.previous\n"			\
 );
 
-#define DL_BOOT(X)   static void __attribute__ ((unused)) _dl_boot2 (X)
+#define DL_BOOT(X)   static __attribute__ ((unused)) void* _dl_boot2 (X)
 
 /*
  * Get a pointer to the argv array.  On many platforms this can be just
Index: ldso/ldso/sh/elfinterp.c
===================================================================
RCS file: /net/projects/cvs/atecom/firmware/uClibc/ldso/ldso/sh/elfinterp.c,v
retrieving revision 1.1.1.10
retrieving revision 1.12
diff -u -b -B -w -p -r1.1.1.10 -r1.12
--- ldso/ldso/sh/elfinterp.c	2004/02/24 13:31:40	1.1.1.10
+++ ldso/ldso/sh/elfinterp.c	2004/03/01 14:09:13	1.12
@@ -401,18 +401,24 @@ _dl_do_copy_reloc (struct elf_resolve *t
 void _dl_parse_lazy_relocation_information(struct dyn_elf *rpnt,
 	unsigned long rel_addr, unsigned long rel_size, int type)
 {
+	(void) type; /* tell the gcc this unused arg, to avaoid a warning */
+	
 	(void)_dl_parse(rpnt->dyn, NULL, rel_addr, rel_size, _dl_do_lazy_reloc);
 }
 
 int _dl_parse_relocation_information(struct dyn_elf *rpnt,
 	unsigned long rel_addr, unsigned long rel_size, int type)
 {
+	(void) type; /* tell the gcc this unused arg, to avaoid a warning */
+
 	return _dl_parse(rpnt->dyn, rpnt->dyn->symbol_scope, rel_addr, rel_size, _dl_do_reloc);
 }
 
 int _dl_parse_copy_information(struct dyn_elf *rpnt,
 	unsigned long rel_addr, unsigned long rel_size, int type)
 {
+	(void) type; /* tell the gcc this unused arg, to avaoid a warning */
+	
 	return _dl_parse(rpnt->dyn, rpnt->next, rel_addr, rel_size, _dl_do_copy_reloc);
 }
 
cvs server: Diffing ldso/ldso/sh64
cvs server: Diffing ldso/ldso/sparc
cvs server: Diffing ldso/libdl
cvs server: Diffing ldso/man



More information about the uClibc mailing list