This is the mail archive of the libc-hacker@sourceware.cygnus.com mailing list for the glibc project.

Note that libc-hacker is a closed list. You may look at the archives of this list, but subscription and posting are not open.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: Adding SH support to glibc-2.2


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.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]