This is the mail archive of the libc-ports@sources.redhat.com mailing list for the libc-ports project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

sysdeps/mips/elf removal


I've done the elf/ subdirectory removal for MIPS.

diff --git a/ChangeLog.mips b/ChangeLog.mips
index 44667cd..e838547 100644
--- a/ChangeLog.mips
+++ b/ChangeLog.mips
@@ -1,3 +1,11 @@
+2012-03-27  Joseph Myers  <joseph@codesourcery.com>
+
+	* sysdeps/mips/elf/start.S: Moved to ...
+	* sysdeps/mips/start.S: ...here.
+	* sysdeps/mips/elf/configure.in: Moved to ...
+	* sysdeps/mips/configure.in: ...here.  Update comment.
+	* sysdeps/mips/configure: New generated file.
+
 2012-03-20  Joseph Myers  <joseph@codesourcery.com>
 
 	* sysdeps/unix/sysv/linux/mips/register-dump.h: Include <_itoa.h>
diff --git a/sysdeps/mips/configure.in b/sysdeps/mips/configure.in
new file mode 100644
index 0000000..ed92d29
--- /dev/null
+++ b/sysdeps/mips/configure.in
@@ -0,0 +1,33 @@
+GLIBC_PROVIDES dnl See aclocal.m4 in the top level source directory.
+# Local configure fragment for sysdeps/mips.
+
+# Check for support of thread-local storage handling in assembler and
+# linker.
+AC_CACHE_CHECK(for MIPS TLS support, libc_cv_mips_tls, [dnl
+cat > conftest.s <<\EOF
+	.section ".tdata", "awT", %progbits
+	.globl foo
+foo:	.long	1
+	.section ".tbss", "awT", %nobits
+	.globl bar
+bar:	.skip	4
+	.text
+
+	lw	$25, %call16(__tls_get_addr)($28)
+	jalr	$25
+	addiu	$4, $28, %tlsgd(x) 
+EOF
+dnl
+if AC_TRY_COMMAND(${CC-cc} -c $CFLAGS conftest.s 1>&AS_MESSAGE_LOG_FD); then
+  libc_cv_mips_tls=yes
+else
+  libc_cv_mips_tls=no
+fi
+rm -f conftest*])
+if test $libc_cv_mips_tls = no; then
+  AC_MSG_ERROR([the assembler must support TLS])
+fi
+
+dnl No MIPS GCC supports accessing static and hidden symbols in an
+dnl position independent way.
+dnl AC_DEFINE(PI_STATIC_AND_HIDDEN)
diff --git a/sysdeps/mips/elf/configure.in b/sysdeps/mips/elf/configure.in
deleted file mode 100644
index 5cb5a74..0000000
--- a/sysdeps/mips/elf/configure.in
+++ /dev/null
@@ -1,33 +0,0 @@
-GLIBC_PROVIDES dnl See aclocal.m4 in the top level source directory.
-# Local configure fragment for sysdeps/mips/elf.
-
-# Check for support of thread-local storage handling in assembler and
-# linker.
-AC_CACHE_CHECK(for MIPS TLS support, libc_cv_mips_tls, [dnl
-cat > conftest.s <<\EOF
-	.section ".tdata", "awT", %progbits
-	.globl foo
-foo:	.long	1
-	.section ".tbss", "awT", %nobits
-	.globl bar
-bar:	.skip	4
-	.text
-
-	lw	$25, %call16(__tls_get_addr)($28)
-	jalr	$25
-	addiu	$4, $28, %tlsgd(x) 
-EOF
-dnl
-if AC_TRY_COMMAND(${CC-cc} -c $CFLAGS conftest.s 1>&AS_MESSAGE_LOG_FD); then
-  libc_cv_mips_tls=yes
-else
-  libc_cv_mips_tls=no
-fi
-rm -f conftest*])
-if test $libc_cv_mips_tls = no; then
-  AC_MSG_ERROR([the assembler must support TLS])
-fi
-
-dnl No MIPS GCC supports accessing static and hidden symbols in an
-dnl position independent way.
-dnl AC_DEFINE(PI_STATIC_AND_HIDDEN)
diff --git a/sysdeps/mips/elf/start.S b/sysdeps/mips/elf/start.S
deleted file mode 100644
index fa0cfe1..0000000
--- a/sysdeps/mips/elf/start.S
+++ /dev/null
@@ -1,118 +0,0 @@
-/* Startup code compliant to the ELF Mips ABI.
-   Copyright (C) 1995, 1997, 2000, 2001, 2002, 2003, 2004
-	Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   In addition to the permissions in the GNU Lesser General Public
-   License, the Free Software Foundation gives you unlimited
-   permission to link the compiled version of this file with other
-   programs, and to distribute those programs without any restriction
-   coming from the use of this file. (The GNU Lesser General Public
-   License restrictions do apply in other respects; for example, they
-   cover modification of the file, and distribution when not linked
-   into another program.)
-
-   Note that people who make modified versions of this file are not
-   obligated to grant this special exception for their modified
-   versions; it is their choice whether to do so. The GNU Lesser
-   General Public License gives permission to release a modified
-   version without this exception; this exception also makes it
-   possible to release a modified version which carries forward this
-   exception.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library.  If not, see
-   <http://www.gnu.org/licenses/>.  */
-
-#define __ASSEMBLY__ 1
-#include <entry.h>
-#include <sgidefs.h>
-#include <sys/asm.h>
-
-#ifndef ENTRY_POINT
-#error ENTRY_POINT needs to be defined for start.S on MIPS/ELF.
-#endif
-
-/* This is the canonical entry point, usually the first thing in the text
-   segment.  The SVR4/Mips ABI (pages 3-31, 3-32) says that when the entry
-   point runs, most registers' values are unspecified, except for:
-
-   v0 ($2)	Contains a function pointer to be registered with `atexit'.
-		This is how the dynamic linker arranges to have DT_FINI
-		functions called for shared libraries that have been loaded
-		before this code runs.
-
-   sp ($29)	The stack contains the arguments and environment:
-		0(%esp)			argc
-		4(%esp)			argv[0]
-		...
-		(4*argc)(%esp)		NULL
-		(4*(argc+1))(%esp)	envp[0]
-		...
-					NULL
-   ra ($31)	The return address register is set to zero so that programs
-		that search backword through stack frames recognize the last
-		stack frame.
-*/
-
-
-/* We need to call:
-   __libc_start_main (int (*main) (int, char **, char **), int argc,
-		      char **argv, void (*init) (void), void (*fini) (void),
-		      void (*rtld_fini) (void), void *stack_end)
-*/
-	
-	.text
-	.globl ENTRY_POINT
-	.type ENTRY_POINT,@function
-ENTRY_POINT:
-#ifdef __PIC__
-	SETUP_GPX($0)
-	SETUP_GPX64($25,$0)
-#else
-	PTR_LA $28, _gp		/* Setup GP correctly if we're non-PIC.  */
-	move $31, $0
-#endif
-
-	PTR_LA $4, main		/* main */
-	PTR_L $5, 0($29)		/* argc */
-	PTR_ADDIU $6, $29, PTRSIZE	/* argv  */
-	
-	/* Allocate space on the stack for seven arguments (o32 only)
-	   and make sure the stack is aligned to double words (8 bytes) 
-	   on o32 and quad words (16 bytes) on n32 and n64.  */
-	
-	and $29, -2 * SZREG
-#if _MIPS_SIM == _ABIO32
-	PTR_SUBIU $29, 32
-#endif
-	PTR_LA $7, __libc_csu_init		/* init */
-	PTR_LA $8, __libc_csu_fini
-#if _MIPS_SIM == _ABIO32
-	PTR_S $8, 16($29)		/* fini */
-	PTR_S $2, 20($29)		/* rtld_fini */
-	PTR_S $29, 24($29)		/* stack_end */
-#else
-	move $9, $2		/* rtld_fini */
-	move $10, $29		/* stack_end */
-#endif
-	jal __libc_start_main
-hlt:	b hlt			/* Crash if somehow it does return.  */
-
-/* Define a symbol for the first piece of initialized data.  */
-	.data
-	.globl __data_start
-__data_start:
-	.long 0
-	.weak data_start
-	data_start = __data_start
diff --git a/sysdeps/mips/start.S b/sysdeps/mips/start.S
new file mode 100644
index 0000000..fa0cfe1
--- /dev/null
+++ b/sysdeps/mips/start.S
@@ -0,0 +1,118 @@
+/* Startup code compliant to the ELF Mips ABI.
+   Copyright (C) 1995, 1997, 2000, 2001, 2002, 2003, 2004
+	Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   In addition to the permissions in the GNU Lesser General Public
+   License, the Free Software Foundation gives you unlimited
+   permission to link the compiled version of this file with other
+   programs, and to distribute those programs without any restriction
+   coming from the use of this file. (The GNU Lesser General Public
+   License restrictions do apply in other respects; for example, they
+   cover modification of the file, and distribution when not linked
+   into another program.)
+
+   Note that people who make modified versions of this file are not
+   obligated to grant this special exception for their modified
+   versions; it is their choice whether to do so. The GNU Lesser
+   General Public License gives permission to release a modified
+   version without this exception; this exception also makes it
+   possible to release a modified version which carries forward this
+   exception.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#define __ASSEMBLY__ 1
+#include <entry.h>
+#include <sgidefs.h>
+#include <sys/asm.h>
+
+#ifndef ENTRY_POINT
+#error ENTRY_POINT needs to be defined for start.S on MIPS/ELF.
+#endif
+
+/* This is the canonical entry point, usually the first thing in the text
+   segment.  The SVR4/Mips ABI (pages 3-31, 3-32) says that when the entry
+   point runs, most registers' values are unspecified, except for:
+
+   v0 ($2)	Contains a function pointer to be registered with `atexit'.
+		This is how the dynamic linker arranges to have DT_FINI
+		functions called for shared libraries that have been loaded
+		before this code runs.
+
+   sp ($29)	The stack contains the arguments and environment:
+		0(%esp)			argc
+		4(%esp)			argv[0]
+		...
+		(4*argc)(%esp)		NULL
+		(4*(argc+1))(%esp)	envp[0]
+		...
+					NULL
+   ra ($31)	The return address register is set to zero so that programs
+		that search backword through stack frames recognize the last
+		stack frame.
+*/
+
+
+/* We need to call:
+   __libc_start_main (int (*main) (int, char **, char **), int argc,
+		      char **argv, void (*init) (void), void (*fini) (void),
+		      void (*rtld_fini) (void), void *stack_end)
+*/
+	
+	.text
+	.globl ENTRY_POINT
+	.type ENTRY_POINT,@function
+ENTRY_POINT:
+#ifdef __PIC__
+	SETUP_GPX($0)
+	SETUP_GPX64($25,$0)
+#else
+	PTR_LA $28, _gp		/* Setup GP correctly if we're non-PIC.  */
+	move $31, $0
+#endif
+
+	PTR_LA $4, main		/* main */
+	PTR_L $5, 0($29)		/* argc */
+	PTR_ADDIU $6, $29, PTRSIZE	/* argv  */
+	
+	/* Allocate space on the stack for seven arguments (o32 only)
+	   and make sure the stack is aligned to double words (8 bytes) 
+	   on o32 and quad words (16 bytes) on n32 and n64.  */
+	
+	and $29, -2 * SZREG
+#if _MIPS_SIM == _ABIO32
+	PTR_SUBIU $29, 32
+#endif
+	PTR_LA $7, __libc_csu_init		/* init */
+	PTR_LA $8, __libc_csu_fini
+#if _MIPS_SIM == _ABIO32
+	PTR_S $8, 16($29)		/* fini */
+	PTR_S $2, 20($29)		/* rtld_fini */
+	PTR_S $29, 24($29)		/* stack_end */
+#else
+	move $9, $2		/* rtld_fini */
+	move $10, $29		/* stack_end */
+#endif
+	jal __libc_start_main
+hlt:	b hlt			/* Crash if somehow it does return.  */
+
+/* Define a symbol for the first piece of initialized data.  */
+	.data
+	.globl __data_start
+__data_start:
+	.long 0
+	.weak data_start
+	data_start = __data_start

-- 
Joseph S. Myers
joseph@codesourcery.com


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