summaryrefslogtreecommitdiffstats
path: root/mdk-stage1/dietlibc/libdl/_dl_rel.h
diff options
context:
space:
mode:
authorMystery Man <unknown@mandriva.org>2003-05-06 13:11:49 +0000
committerMystery Man <unknown@mandriva.org>2003-05-06 13:11:49 +0000
commit3f5d21d90abbd16f16ab69aec1e1a1853a93fd18 (patch)
tree3d9f5a32303a8d97b4b457949e64bb42b4850ea9 /mdk-stage1/dietlibc/libdl/_dl_rel.h
parent327bd24f8e4291bd1882de1990dd7339f781a9cb (diff)
downloaddrakx-backup-do-not-use-3f5d21d90abbd16f16ab69aec1e1a1853a93fd18.tar
drakx-backup-do-not-use-3f5d21d90abbd16f16ab69aec1e1a1853a93fd18.tar.gz
drakx-backup-do-not-use-3f5d21d90abbd16f16ab69aec1e1a1853a93fd18.tar.bz2
drakx-backup-do-not-use-3f5d21d90abbd16f16ab69aec1e1a1853a93fd18.tar.xz
drakx-backup-do-not-use-3f5d21d90abbd16f16ab69aec1e1a1853a93fd18.zip
This commit was manufactured by cvs2svn to create tag 'R9_0-AMD64'.R9_0-AMD64
Diffstat (limited to 'mdk-stage1/dietlibc/libdl/_dl_rel.h')
-rw-r--r--mdk-stage1/dietlibc/libdl/_dl_rel.h25
1 files changed, 25 insertions, 0 deletions
diff --git a/mdk-stage1/dietlibc/libdl/_dl_rel.h b/mdk-stage1/dietlibc/libdl/_dl_rel.h
new file mode 100644
index 000000000..948aa5b79
--- /dev/null
+++ b/mdk-stage1/dietlibc/libdl/_dl_rel.h
@@ -0,0 +1,25 @@
+#ifndef ___DL_REL_H__
+#define ___DL_REL_H__
+
+#if defined(__arm__) || defined(__i386__) || defined(__mips__)
+/* this are REL only archs: arm, i386, mips */
+
+#define _dl_rel_t Elf_Rel
+#define _DL_REL_T DT_REL
+
+#define _DL_REL_PLT(b,r) (*(unsigned long*)((b)+(r)->r_offset)+=(unsigned long)(b))
+
+#elif defined(__alpha__) || defined(__hppa__) || defined(__ppc__) || defined(__sparc__) || defined(__s390__)
+/* this are RELA only archs: alpha, chris, hppa, ia64, m68k, ppc, sparc, sparc64, sh, s390 */
+
+#define _dl_rel_t Elf_Rela
+#define _DL_REL_T DT_RELA
+
+#define _DL_REL_PLT(b,r) (*(unsigned long*)((b)+(r)->r_offset)=(unsigned long)((b)+(r)->r_addend))
+
+#else
+/* there are no known linux supported arch with mixed relocation types ... */
+#error "_dl_rel.h: NOT SUPPORTED"
+#endif
+
+#endif