mirror of
git://projects.qi-hardware.com/openwrt-xburst.git
synced 2024-11-30 23:41:53 +02:00
f318c1e452
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@31740 3c298f89-4303-0410-b956-a3cf2f4a3e73
33 lines
1.1 KiB
Diff
33 lines
1.1 KiB
Diff
--- 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))
|