summaryrefslogtreecommitdiffstats
path: root/newlib/libc/sys/linux/dl/dynamic-link.h
diff options
context:
space:
mode:
authorJeff Johnston <jjohnstn@redhat.com>2005-09-08 22:45:53 +0000
committerJeff Johnston <jjohnstn@redhat.com>2005-09-08 22:45:53 +0000
commitb10ab72581173784a6687739e44c02d940e009c9 (patch)
tree4fece41a6baba0e3b82da3793a0dfe1bf5d77ce1 /newlib/libc/sys/linux/dl/dynamic-link.h
parent7b786e4861b3ba6594d5518770ddc498ae9b8a87 (diff)
downloadcygnal-b10ab72581173784a6687739e44c02d940e009c9.tar.gz
cygnal-b10ab72581173784a6687739e44c02d940e009c9.tar.bz2
cygnal-b10ab72581173784a6687739e44c02d940e009c9.zip
2005-09-08 Jeff Johnston <jjohnstn@redhat.com>
* Makefile.am: Add include files under bits sub-directory. * Makefile.in: Regenerated. * libc/sys/linux/argp/argp-fs-xinl.c: Set __OPTIMIZE__ to actual value of 1 to be compatible with newer glibc headers. * libc/sys/linux/sys/cdefs.h: Fix to be compatible with newer glibc headers. * libc/sys/linux/sys/dirent.h: Ditto. * libc/sys/linux/argp/argp-xinl.c: Ditto. * libc/sys/linux/dl/dl-runtime.c: Make sure fixup and profile_fixup routines are marked used so they won't be optimized away. * libc/sys/linux/dl/dl-cache.c: Don't use weak_extern macro to mark functions as weak. * libc/sys/linux/dl/dl-open.c: Ditto. * libc/sys/linux/iconv/gconv_open.c: Fix to obey new gcc4 rules about lvalues. * libc/sys/linux/iconv/gconv_simple.c: Ditto. * libc/sys/linux/linuxthreads/bits/libc-lock.h: Don't use weak_extern macro to mark functions as weak. Instead always use #pragma weak. * iconvdata/jis0208.h: Fix to work with gcc4. * libc/sys/linux/dl/dl-load.c: Ditto. * libc/sys/linux/dl/dl-reloc.c: Ditto. * libc/sys/linux/dl/do-rel.h: Ditto. * libc/sys/linux/dl/dynamic-link.h: Ditto. * libc/sys/linux/include/ltdl.h: Ditto. * libc/sys/linux/machine/i386/dl-machine.h: Ditto. * libc/sys/linux/machine/i386/weakalias.h: Ditto. * libc/sys/linux/net/ns_ntoa.c: Ditto. * libc/sys/linux/bits/initspin.h: New file. * libc/sys/linux/bits/libc-lock.h: Ditto. * libc/sys/linux/bits/pthreadtypes.h: Ditto. * libc/sys/linux/bits/typesizes.h: Ditto.
Diffstat (limited to 'newlib/libc/sys/linux/dl/dynamic-link.h')
-rw-r--r--newlib/libc/sys/linux/dl/dynamic-link.h25
1 files changed, 19 insertions, 6 deletions
diff --git a/newlib/libc/sys/linux/dl/dynamic-link.h b/newlib/libc/sys/linux/dl/dynamic-link.h
index a63fded89..c1709f7c6 100644
--- a/newlib/libc/sys/linux/dl/dynamic-link.h
+++ b/newlib/libc/sys/linux/dl/dynamic-link.h
@@ -17,6 +17,9 @@
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
02111-1307 USA. */
+#ifndef __DYNAMIC_LINK_H__
+#define __DYNAMIC_LINK_H__
+
#include <elf.h>
#include <machine/dl-machine.h>
#include <assert.h>
@@ -33,7 +36,7 @@ extern int _dl_verbose __attribute__ ((unused));
/* Read the dynamic section at DYN and fill in INFO with indices DT_*. */
-static inline void __attribute__ ((unused))
+static void __attribute__ ((unused))
elf_get_dynamic_info (struct link_map *l)
{
ElfW(Dyn) *dyn = l->l_ld;
@@ -121,6 +124,17 @@ elf_get_dynamic_info (struct link_map *l)
info[DT_RPATH] = NULL;
}
+# if ! ELF_MACHINE_NO_REL
+# include "do-rel.h"
+# endif
+
+# if ! ELF_MACHINE_NO_RELA
+# define DO_RELA
+# include "do-rel.h"
+# endif
+
+#endif /* __DYNAMIC_LINK_H__ */
+
#ifdef RESOLVE
/* Get the definitions of `elf_dynamic_do_rel' and `elf_dynamic_do_rela'.
@@ -164,7 +178,8 @@ elf_get_dynamic_info (struct link_map *l)
elf_dynamic_do_##reloc ((map), \
ranges[ranges_index].start, \
ranges[ranges_index].size, \
- ranges[ranges_index].lazy); \
+ ranges[ranges_index].lazy, \
+ scope); \
} while (0)
# else
# define _ELF_DYNAMIC_DO_RELOC(RELOC, reloc, map, do_lazy, test_rel) \
@@ -204,7 +219,8 @@ elf_get_dynamic_info (struct link_map *l)
elf_dynamic_do_##reloc ((map), \
ranges[ranges_index].start, \
ranges[ranges_index].size, \
- ranges[ranges_index].lazy); \
+ ranges[ranges_index].lazy, \
+ scope); \
} while (0)
# endif
@@ -215,7 +231,6 @@ elf_get_dynamic_info (struct link_map *l)
# endif
# if ! ELF_MACHINE_NO_REL
-# include "do-rel.h"
# define ELF_DYNAMIC_DO_REL(map, lazy) \
_ELF_DYNAMIC_DO_RELOC (REL, rel, map, lazy, _ELF_CHECK_REL)
# else
@@ -223,8 +238,6 @@ elf_get_dynamic_info (struct link_map *l)
# endif
# if ! ELF_MACHINE_NO_RELA
-# define DO_RELA
-# include "do-rel.h"
# define ELF_DYNAMIC_DO_RELA(map, lazy) \
_ELF_DYNAMIC_DO_RELOC (RELA, rela, map, lazy, _ELF_CHECK_REL)
# else