diff options
author | nbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2012-05-15 13:42:32 +0000 |
---|---|---|
committer | nbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2012-05-15 13:42:32 +0000 |
commit | f318c1e45242b9ba124c3804afd1542fd5f51682 (patch) | |
tree | 193d261d889fdae8c02a18f097562759424adc4c /toolchain/uClibc/patches-0.9.33.2/601-ubicom32_uClibc_fixes.patch | |
parent | c691ce8b791b1cdf89bed6d9ffeae8131853b184 (diff) |
uClibc: update to 0.9.33.2, fixes #4420
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@31740 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'toolchain/uClibc/patches-0.9.33.2/601-ubicom32_uClibc_fixes.patch')
-rw-r--r-- | toolchain/uClibc/patches-0.9.33.2/601-ubicom32_uClibc_fixes.patch | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/toolchain/uClibc/patches-0.9.33.2/601-ubicom32_uClibc_fixes.patch b/toolchain/uClibc/patches-0.9.33.2/601-ubicom32_uClibc_fixes.patch new file mode 100644 index 000000000..d2bfdc72b --- /dev/null +++ b/toolchain/uClibc/patches-0.9.33.2/601-ubicom32_uClibc_fixes.patch @@ -0,0 +1,32 @@ +--- a/ldso/include/dl-elf.h ++++ b/ldso/include/dl-elf.h +@@ -45,6 +45,10 @@ extern int _dl_linux_resolve(void); + extern int _dl_fixup(struct dyn_elf *rpnt, struct r_scope_elem *scope, int flag); + extern void _dl_protect_relro (struct elf_resolve *l); + ++#ifndef DL_LOADADDR_ISSET(_loadaddr) ++#define DL_LOADADDR_ISSET(_loadaddr) ((_loadaddr) != 0) ++#endif ++ + /* + * Bitsize related settings for things ElfW() + * does not handle already +@@ -206,7 +210,7 @@ unsigned int __dl_parse_dynamic_info(Elf + we'd have to walk all the loadsegs to find out if it was + actually unnecessary, so skip this optimization. */ + #if !defined __FDPIC__ && !defined __DSBT__ +- if (load_off != 0) ++ if (DL_LOADADDR_ISSET(load_off)) + #endif + { + ADJUST_DYN_INFO(DT_HASH, load_off); +--- a/ldso/ldso/ubicom32/dl-sysdep.h ++++ b/ldso/ldso/ubicom32/dl-sysdep.h +@@ -101,6 +101,7 @@ do { \ + } while (0) + + #define DL_LOADADDR_TYPE struct elf32_fdpic_loadaddr ++#define DL_LOADADDR_ISSET(_loadaddr) ((_loadaddr).map != NULL) + + #define DL_RELOC_ADDR(LOADADDR, ADDR) \ + ((ElfW(Addr))__reloc_pointer ((void*)(ADDR), (LOADADDR).map)) |