Adding SH support to glibc-2.2
kaz Kojima
kkojima@rr.iij4u.or.jp
Mon Jun 12 00:05:00 GMT 2000
SH specific initfini.c works well. Thank you H.J.
So here's our revised patch.
kaz
--
2000-06-12 Kazumoto Kojima <kkojima@rr.iij4u.or.jp>
Yutaka Niibe <gniibe@chroot.org>
* configure.in: Add machine sh3, sh4.
* elf/elf.h: Add SH specific declarations of relocations.
* shlib-versions: Add sh*-*-linux* case.
diff -urN glibc-original/configure.in glibc/configure.in
--- glibc-original/configure.in Thu May 25 00:51:39 2000
+++ glibc/configure.in Sun Jun 11 20:30:31 2000
@@ -277,6 +277,8 @@
IP22) machine=mips/mips3 ;;
*) machine=mips/$machine ;;
esac ;;
+sh3*) base_machine=sh machine=sh/sh3 ;;
+sh4*) base_machine=sh machine=sh/sh4 ;;
sparc | sparcv[67])
base_machine=sparc machine=sparc/sparc32 ;;
sparcv8 | supersparc | hypersparc)
diff -urN glibc-original/elf/elf.h glibc/elf/elf.h
--- glibc-original/elf/elf.h Mon Jun 5 00:51:54 2000
+++ glibc/elf/elf.h Sun Jun 11 20:30:32 2000
@@ -1874,6 +1874,41 @@
#define R_IA64_LTOFF22X 0x86 /* LTOFF22, relaxable. */
#define R_IA64_LDXMOV 0x87 /* Use of LTOFF22X. */
+/* SH specific declarations */
+
+/* SH relocs. */
+#define R_SH_NONE 0
+#define R_SH_DIR32 1
+#define R_SH_REL32 2
+#define R_SH_DIR8WPN 3
+#define R_SH_IND12W 4
+#define R_SH_DIR8WPL 5
+#define R_SH_DIR8WPZ 6
+#define R_SH_DIR8BP 7
+#define R_SH_DIR8W 8
+#define R_SH_DIR8L 9
+#define R_SH_SWITCH16 25
+#define R_SH_SWITCH32 26
+#define R_SH_USES 27
+#define R_SH_COUNT 28
+#define R_SH_ALIGN 29
+#define R_SH_CODE 30
+#define R_SH_DATA 31
+#define R_SH_LABEL 32
+#define R_SH_SWITCH8 33
+#define R_SH_GNU_VTINHERIT 34
+#define R_SH_GNU_VTENTRY 35
+#define R_SH_GOT32 160
+#define R_SH_PLT32 161
+#define R_SH_COPY 162
+#define R_SH_GLOB_DAT 163
+#define R_SH_JMP_SLOT 164
+#define R_SH_RELATIVE 165
+#define R_SH_GOTOFF 166
+#define R_SH_GOTPC 167
+/* Keep this the last entry. */
+#define R_SH_NUM 256
+
__END_DECLS
#endif /* elf.h */
diff -urN glibc-original/shlib-versions glibc/shlib-versions
--- glibc-original/shlib-versions Sat Apr 29 00:51:06 2000
+++ glibc/shlib-versions Sun Jun 11 20:30:32 2000
@@ -27,6 +27,7 @@
mips.*-.*-.* libm=6
arm.*-.*-.* libm=6
ia64-.*-.* libm=6 GLIBC_2.2
+sh.*-.*-.* libm=6
# We provide libc.so.6 for Linux kernel versions 2.0 and later.
alpha.*-.*-linux.* libc=6.1
@@ -54,6 +55,7 @@
sparc.*-.*-linux.* ld=ld-linux.so.2
alpha.*-.*-linux.* ld=ld-linux.so.2
arm.*-.*-linux.* ld=ld-linux.so.2
+sh.*-.*-linux.* ld=ld-linux.so.2
ia64-.*-linux.* ld=ld-linux-ia64.so.1 GLIBC_2.2
mips.*-.*-linux.* ld=ld.so.1 GLIBC_2.0 GLIBC_2.2
# We use the ELF ABI standard name for the default.
More information about the Libc-hacker
mailing list