[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