diff options
author | Ralph Hempel <ralph.hempel@lantiq.com> | 2008-01-27 17:59:20 +0000 |
---|---|---|
committer | Ralph Hempel <ralph.hempel@lantiq.com> | 2008-01-27 17:59:20 +0000 |
commit | 3dfc679bb985d2070b0e645393d6e0f5fd4760e6 (patch) | |
tree | 78854962c31c8caf594c6dd432abdca6983f3253 /toolchain/uClibc/patches/0.9.28.2/409-ldso-avr32-startup-hack.patch | |
parent | 214601c01245b4e2e1c017043d077b58ace54b08 (diff) | |
download | upstream-3dfc679bb985d2070b0e645393d6e0f5fd4760e6.tar.gz upstream-3dfc679bb985d2070b0e645393d6e0f5fd4760e6.tar.bz2 upstream-3dfc679bb985d2070b0e645393d6e0f5fd4760e6.zip |
add uClibc version 0.9.28.2, 0.9.28.3 and snapshots for development purpose (and already deployed evaluation boards) the version 0.9.29 is still the default version
SVN-Revision: 10282
Diffstat (limited to 'toolchain/uClibc/patches/0.9.28.2/409-ldso-avr32-startup-hack.patch')
-rw-r--r-- | toolchain/uClibc/patches/0.9.28.2/409-ldso-avr32-startup-hack.patch | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/toolchain/uClibc/patches/0.9.28.2/409-ldso-avr32-startup-hack.patch b/toolchain/uClibc/patches/0.9.28.2/409-ldso-avr32-startup-hack.patch new file mode 100644 index 0000000000..0cdc2ccb32 --- /dev/null +++ b/toolchain/uClibc/patches/0.9.28.2/409-ldso-avr32-startup-hack.patch @@ -0,0 +1,40 @@ +Subject: [PATCH] ldso: AVR32 startup hack + +AVR32 needs to do both PERFORM_BOOTSTRAP_GOT and a full relocation of +the GOT. I don't quite remember why, but I think it's because some GOT +entries just need the load address added to them, while the rest need +the full relocation code. + +This patch should be revisited to figure out whether we're processing +relocations against undefined symbols and whether that's something we +should be doing... + +--- + + ldso/ldso/dl-startup.c | 6 ++++-- + 1 file changed, 4 insertions(+), 2 deletions(-) + +Index: uClibc-0.9.28/ldso/ldso/dl-startup.c +=================================================================== +--- uClibc-0.9.28.orig/ldso/ldso/dl-startup.c 2006-02-07 16:49:27.000000000 +0100 ++++ uClibc-0.9.28/ldso/ldso/dl-startup.c 2006-02-07 17:12:09.000000000 +0100 +@@ -217,7 +217,9 @@ static void * __attribute_used__ _dl_sta + /* some arches (like MIPS) we have to tweak the GOT before relocations */ + PERFORM_BOOTSTRAP_GOT(tpnt); + +-#else ++#endif ++ ++#if !defined(PERFORM_BOOTSTRAP_GOT) || defined(__avr32__) + + /* OK, now do the relocations. We do not do a lazy binding here, so + that once we are done, we have considerably more flexibility. */ +@@ -259,7 +261,7 @@ static void * __attribute_used__ _dl_sta + rel_addr += relative_count * sizeof(ELF_RELOC);; + } + +- rpnt = (ELF_RELOC *) (rel_addr + load_addr); ++ rpnt = (ELF_RELOC *) (rel_addr /* + load_addr */); + for (i = 0; i < rel_size; i += sizeof(ELF_RELOC), rpnt++) { + reloc_addr = (unsigned long *) (load_addr + (unsigned long) rpnt->r_offset); + symtab_index = ELF_R_SYM(rpnt->r_info); |