summaryrefslogtreecommitdiff
path: root/toolchain/uClibc/patches-0.9.33/601-ubicom32_uClibc_fixes.patch
diff options
context:
space:
mode:
authorImre Kaloz <kaloz@openwrt.org>2012-02-08 15:45:44 +0000
committerImre Kaloz <kaloz@openwrt.org>2012-02-08 15:45:44 +0000
commit9bf867b53132f595cae90cc201798bd1f77dfb64 (patch)
treeb291164d46227f77bcabe857e50f92a27f34e4b7 /toolchain/uClibc/patches-0.9.33/601-ubicom32_uClibc_fixes.patch
parent75a929c65e7573f3c193f8f93937115cc707ccb6 (diff)
downloadmtk-20170518-9bf867b53132f595cae90cc201798bd1f77dfb64.zip
mtk-20170518-9bf867b53132f595cae90cc201798bd1f77dfb64.tar.gz
mtk-20170518-9bf867b53132f595cae90cc201798bd1f77dfb64.tar.bz2
add 0.9.33
SVN-Revision: 30374
Diffstat (limited to 'toolchain/uClibc/patches-0.9.33/601-ubicom32_uClibc_fixes.patch')
-rw-r--r--toolchain/uClibc/patches-0.9.33/601-ubicom32_uClibc_fixes.patch32
1 files changed, 32 insertions, 0 deletions
diff --git a/toolchain/uClibc/patches-0.9.33/601-ubicom32_uClibc_fixes.patch b/toolchain/uClibc/patches-0.9.33/601-ubicom32_uClibc_fixes.patch
new file mode 100644
index 0000000..d2bfdc7
--- /dev/null
+++ b/toolchain/uClibc/patches-0.9.33/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))