diff options
author | Felix Fietkau <nbd@openwrt.org> | 2010-11-22 17:50:08 +0000 |
---|---|---|
committer | Felix Fietkau <nbd@openwrt.org> | 2010-11-22 17:50:08 +0000 |
commit | 1a0a584ea6c4dea873b7c33d1ef340fed60efff2 (patch) | |
tree | 9aa11cf70db9d0020d98b91ab458d93ab162c51f /toolchain | |
parent | c0915e59830967bca6a69a2e185481344c76b9e8 (diff) | |
download | mtk-20170518-1a0a584ea6c4dea873b7c33d1ef340fed60efff2.zip mtk-20170518-1a0a584ea6c4dea873b7c33d1ef340fed60efff2.tar.gz mtk-20170518-1a0a584ea6c4dea873b7c33d1ef340fed60efff2.tar.bz2 |
uClibc: fix ubicom32 compile error with 0.9.32
SVN-Revision: 24101
Diffstat (limited to 'toolchain')
-rw-r--r-- | toolchain/uClibc/patches-0.9.32/601-ubicom32_uClibc_fixes.patch | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/toolchain/uClibc/patches-0.9.32/601-ubicom32_uClibc_fixes.patch b/toolchain/uClibc/patches-0.9.32/601-ubicom32_uClibc_fixes.patch new file mode 100644 index 0000000..0333046 --- /dev/null +++ b/toolchain/uClibc/patches-0.9.32/601-ubicom32_uClibc_fixes.patch @@ -0,0 +1,32 @@ +--- a/ldso/include/dl-elf.h ++++ b/ldso/include/dl-elf.h +@@ -42,6 +42,10 @@ + extern int _dl_fixup(struct dyn_elf *rpnt, 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 +@@ -163,7 +167,7 @@ + dynamic_info[tag] = (unsigned long) DL_RELOC_ADDR(load_off, dynamic_info[tag]); \ + } while (0) + /* Don't adjust .dynamic unnecessarily. */ +- if (load_off != 0) { ++ if (DL_LOADADDR_ISSET(load_off)) { + ADJUST_DYN_INFO(DT_HASH, load_off); + ADJUST_DYN_INFO(DT_PLTGOT, load_off); + ADJUST_DYN_INFO(DT_STRTAB, load_off); +--- a/ldso/ldso/ubicom32/dl-sysdep.h ++++ b/ldso/ldso/ubicom32/dl-sysdep.h +@@ -101,6 +101,7 @@ + } 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)) |