about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog7
-rw-r--r--configure.in2
-rw-r--r--elf/elf.h34
-rw-r--r--shlib-versions3
4 files changed, 46 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 0efa1d98fa..01d112c126 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+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* cases.
+
 2000-06-12  Ulrich Drepper  <drepper@redhat.com>
 
 	* sysdeps/sh/sh3/bsd-_setjmp.S: Move to...
diff --git a/configure.in b/configure.in
index 14905e6224..221f76710c 100644
--- a/configure.in
+++ b/configure.in
@@ -277,6 +277,8 @@ mips*)		base_machine=mips
 		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 --git a/elf/elf.h b/elf/elf.h
index 8a1c5c2654..8cf8e913be 100644
--- a/elf/elf.h
+++ b/elf/elf.h
@@ -1874,6 +1874,40 @@ typedef Elf32_Addr Elf32_Conflict;
 #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.  */
+
 __END_DECLS
 
 #endif	/* elf.h */
diff --git a/shlib-versions b/shlib-versions
index cefc3c282d..211baf762e 100644
--- a/shlib-versions
+++ b/shlib-versions
@@ -27,12 +27,14 @@ mips.*-.*-linux.*	libm=6			GLIBC_2.0 GLIBC_2.2
 mips.*-.*-.*		libm=6
 arm.*-.*-.*		libm=6
 ia64-.*-.*		libm=6			GLIBC_2.2
+sh.*-.*-.*		libm=6			GLIBC_2.1
 
 # We provide libc.so.6 for Linux kernel versions 2.0 and later.
 alpha.*-.*-linux.*	libc=6.1
 # Working mips versions were never released between 2.0 and 2.2.
 mips.*-.*-linux.*	libc=6			GLIBC_2.0 GLIBC_2.2
 ia64-.*-.*		libc=6			GLIBC_2.2
+sh.*-.*-.*              libc=6                  GLIBC_2.1
 .*-.*-linux.*		libc=6
 
 # libmachuser.so.1 corresponds to mach/*.defs as of Utah's UK22 release.
@@ -54,6 +56,7 @@ sparc64-.*-linux.*	ld=ld-linux.so.2
 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	GLIBC_2.1
 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.