diff options
Diffstat (limited to 'sysdeps/alpha/elf')
-rwxr-xr-x | sysdeps/alpha/elf/configure | 106 | ||||
-rw-r--r-- | sysdeps/alpha/elf/configure.in | 78 | ||||
-rw-r--r-- | sysdeps/alpha/elf/initfini.c | 110 | ||||
-rw-r--r-- | sysdeps/alpha/elf/start.S | 87 |
4 files changed, 0 insertions, 381 deletions
diff --git a/sysdeps/alpha/elf/configure b/sysdeps/alpha/elf/configure deleted file mode 100755 index ea99e35416..0000000000 --- a/sysdeps/alpha/elf/configure +++ /dev/null @@ -1,106 +0,0 @@ -# This file is generated from configure.in by Autoconf. DO NOT EDIT! - # Local configure fragment for sysdeps/alpha/elf. - -if test "$usetls" != no; then -# Check for support of thread-local storage handling in assembler and -# linker. -echo "$as_me:$LINENO: checking for Alpha TLS support" >&5 -echo $ECHO_N "checking for Alpha TLS support... $ECHO_C" >&6 -if test "${libc_cv_alpha_tls+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat > conftest.s <<\EOF - .section ".tdata", "awT", @progbits - .globl foo -foo: .quad 1 - .section ".tbss", "awT", @nobits - .globl bar -bar: .skip 8 - .text -baz: - .set nomacro - ldq $27, __tls_get_addr($29) !literal!1 - ldq $16, a($29) !tlsgd!1 - jsr $26, ($27), __tls_get_addr !lituse_tlsgd!1 - - jsr $26, ($27), __tls_get_addr !lituse_tlsldm!2 - ldq $27, __tls_get_addr($29) !literal!2 - ldq $16, b($29) !tlsldm!2 - - ldq $16, c($29) !tlsgd - ldq $16, d($29) !tlsldm - - ldq $16, e($29) !tlsgd!3 - ldq $16, f($29) !tlsldm!4 - - ldq $16, g($29) !gotdtprel - ldah $16, h($31) !dtprelhi - lda $16, i($16) !dtprello - lda $16, j($31) !dtprel - - ldq $16, k($29) !gottprel - ldah $16, l($31) !tprelhi - lda $16, m($16) !tprello - lda $16, n($31) !tprel -EOF -if { ac_try='${CC-cc} -c $CFLAGS conftest.s 1>&5' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - libc_cv_alpha_tls=yes -else - libc_cv_alpha_tls=no -fi -rm -f conftest* -fi -echo "$as_me:$LINENO: result: $libc_cv_alpha_tls" >&5 -echo "${ECHO_T}$libc_cv_alpha_tls" >&6 -if test $libc_cv_alpha_tls = yes; then - cat >>confdefs.h <<\_ACEOF -#define HAVE_TLS_SUPPORT 1 -_ACEOF - -fi -fi - -echo "$as_me:$LINENO: checking for GP relative module local relocs" >&5 -echo $ECHO_N "checking for GP relative module local relocs... $ECHO_C" >&6 -if test "${libc_cv_alpha_hidden_gprel+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat > conftest.c <<\EOF -static int bar; -int baz __attribute__((visibility("hidden"))); - -int foo (void) -{ - return bar + baz; -} -EOF - -libc_cv_alpha_hidden_gprel=no -if { ac_try='${CC-cc} -S $CFLAGS -O2 -fpic conftest.c 1>&5' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - if grep -q 'bar.*!gprel' conftest.s \ - && grep -q 'baz.*!gprel' conftest.s \ - && ! grep -q 'bar.*!literal' conftest.s \ - && ! grep -q 'baz.*!literal' conftest.s; then - libc_cv_alpha_hidden_gprel=yes - fi -fi -rm -f conftest* -fi -echo "$as_me:$LINENO: result: $libc_cv_alpha_hidden_gprel" >&5 -echo "${ECHO_T}$libc_cv_alpha_hidden_gprel" >&6 -if test $libc_cv_alpha_hidden_gprel = yes; then - cat >>confdefs.h <<\_ACEOF -#define PI_STATIC_AND_HIDDEN 1 -_ACEOF - -fi diff --git a/sysdeps/alpha/elf/configure.in b/sysdeps/alpha/elf/configure.in deleted file mode 100644 index 7986814548..0000000000 --- a/sysdeps/alpha/elf/configure.in +++ /dev/null @@ -1,78 +0,0 @@ -GLIBC_PROVIDES dnl See aclocal.m4 in the top level source directory. -# Local configure fragment for sysdeps/alpha/elf. - -if test "$usetls" != no; then -# Check for support of thread-local storage handling in assembler and -# linker. -AC_CACHE_CHECK(for Alpha TLS support, libc_cv_alpha_tls, [dnl -cat > conftest.s <<\EOF - .section ".tdata", "awT", @progbits - .globl foo -foo: .quad 1 - .section ".tbss", "awT", @nobits - .globl bar -bar: .skip 8 - .text -baz: - .set nomacro - ldq $27, __tls_get_addr($29) !literal!1 - ldq $16, a($29) !tlsgd!1 - jsr $26, ($27), __tls_get_addr !lituse_tlsgd!1 - - jsr $26, ($27), __tls_get_addr !lituse_tlsldm!2 - ldq $27, __tls_get_addr($29) !literal!2 - ldq $16, b($29) !tlsldm!2 - - ldq $16, c($29) !tlsgd - ldq $16, d($29) !tlsldm - - ldq $16, e($29) !tlsgd!3 - ldq $16, f($29) !tlsldm!4 - - ldq $16, g($29) !gotdtprel - ldah $16, h($31) !dtprelhi - lda $16, i($16) !dtprello - lda $16, j($31) !dtprel - - ldq $16, k($29) !gottprel - ldah $16, l($31) !tprelhi - lda $16, m($16) !tprello - lda $16, n($31) !tprel -EOF -dnl -if AC_TRY_COMMAND(${CC-cc} -c $CFLAGS conftest.s 1>&AS_MESSAGE_LOG_FD); then - libc_cv_alpha_tls=yes -else - libc_cv_alpha_tls=no -fi -rm -f conftest*]) -if test $libc_cv_alpha_tls = yes; then - AC_DEFINE(HAVE_TLS_SUPPORT) -fi -fi - -AC_CACHE_CHECK(for GP relative module local relocs, libc_cv_alpha_hidden_gprel, [dnl -cat > conftest.c <<\EOF -static int bar; -int baz __attribute__((visibility("hidden"))); - -int foo (void) -{ - return bar + baz; -} -EOF -dnl - -libc_cv_alpha_hidden_gprel=no -if AC_TRY_COMMAND(${CC-cc} -S $CFLAGS -O2 -fpic conftest.c 1>&AS_MESSAGE_LOG_FD); then - if grep -q 'bar.*!gprel' conftest.s \ - && grep -q 'baz.*!gprel' conftest.s \ - && ! grep -q 'bar.*!literal' conftest.s \ - && ! grep -q 'baz.*!literal' conftest.s; then - libc_cv_alpha_hidden_gprel=yes - fi -fi -rm -f conftest*]) -if test $libc_cv_alpha_hidden_gprel = yes; then - AC_DEFINE(PI_STATIC_AND_HIDDEN) -fi diff --git a/sysdeps/alpha/elf/initfini.c b/sysdeps/alpha/elf/initfini.c deleted file mode 100644 index 4d3342db9b..0000000000 --- a/sysdeps/alpha/elf/initfini.c +++ /dev/null @@ -1,110 +0,0 @@ -/* Special .init and .fini section support for Alpha. - Copyright (C) 2001, 2002, 2003 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, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -/* This file is compiled into assembly code which is then munged by a sed - script into two files: crti.s and crtn.s. - - * crti.s puts a function prologue at the beginning of the .init and .fini - sections and defines global symbols for those addresses, so they can be - called as functions. - - * crtn.s puts the corresponding function epilogues in the .init and .fini - sections. - - This differs from what would be generated by the generic code in that - we save and restore the GP within the function. In order for linker - relaxation to work, the value in the GP register on exit from a function - must be valid for the function entry point. Normally, a function is - contained within one object file and this is not an issue, provided - that the function reloads the gp after making any function calls. - However, _init and _fini are constructed from pieces of many object - files, all of which may have different GP values. So we must reload - the GP value from crti.o in crtn.o. */ - -__asm__ (" \n\ -#include \"defs.h\" \n\ - \n\ -/*@HEADER_ENDS*/ \n\ - \n\ -/*@_init_PROLOG_BEGINS*/ \n\ - .section .init, \"ax\", @progbits \n\ - .globl _init \n\ - .type _init, @function \n\ - .usepv _init, std \n\ -_init: \n\ - ldgp $29, 0($27) \n\ - subq $30, 16, $30 \n\ - lda $27, __gmon_start__ \n\ - stq $26, 0($30) \n\ - stq $29, 8($30) \n\ - beq $27, 1f \n\ - jsr $26, ($27), __gmon_start__ \n\ - ldq $29, 8($30) \n\ - .align 3 \n\ -1: \n\ -/*@_init_PROLOG_ENDS*/ \n\ - \n\ -/*@_init_EPILOG_BEGINS*/ \n\ - .section .init, \"ax\", @progbits \n\ - ldq $26, 0($30) \n\ - ldq $29, 8($30) \n\ - addq $30, 16, $30 \n\ - ret \n\ -/*@_init_EPILOG_ENDS*/ \n\ - \n\ -/*@_fini_PROLOG_BEGINS*/ \n\ - .section .fini, \"ax\", @progbits \n\ - .globl _fini \n\ - .type _fini,@function \n\ - .usepv _fini,std \n\ -_fini: \n\ - ldgp $29, 0($27) \n\ - subq $30, 16, $30 \n\ - stq $26, 0($30) \n\ - stq $29, 8($30) \n\ - .align 3 \n\ -/*@_fini_PROLOG_ENDS*/ \n\ - \n\ -/*@_fini_EPILOG_BEGINS*/ \n\ - .section .fini, \"ax\", @progbits \n\ - ldq $26, 0($30) \n\ - ldq $29, 8($30) \n\ - addq $30, 16, $30 \n\ - ret \n\ -/*@_fini_EPILOG_ENDS*/ \n\ - \n\ -/*@TRAILER_BEGINS*/ \n\ -"); diff --git a/sysdeps/alpha/elf/start.S b/sysdeps/alpha/elf/start.S deleted file mode 100644 index ebe14b4c8e..0000000000 --- a/sysdeps/alpha/elf/start.S +++ /dev/null @@ -1,87 +0,0 @@ -/* Startup code for Alpha/ELF. - Copyright (C) 1993, 1995, 1996, 1997, 1998, 2000, 2001, 2002, 2003 - Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Richard Henderson <rth@tamu.edu> - - 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, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <sysdep.h> - - .text - .align 3 - .globl _start - .ent _start, 0 - .type _start,@function -_start: - .frame $15, 0, $15 - br gp, 1f -1: ldgp gp, 0(gp) - subq sp, 16, sp - mov 0, $15 - .prologue 0 - - /* Load address of the user's main function. */ - lda a0, main - - ldl a1, 16(sp) /* get argc */ - lda a2, 24(sp) /* get argv */ - - /* Load address of our own entry points to .fini and .init. */ - lda a3, __libc_csu_init - lda a4, __libc_csu_fini - - /* Store address of the shared library termination function. */ - mov v0, a5 - - /* Provide the highest stack address to the user code. */ - stq sp, 0(sp) - - /* Call the user's main function, and exit with its value. - But let the libc call main. */ - jsr ra, __libc_start_main - - /* Die very horribly if exit returns. Call_pal hlt is callable from - kernel mode only; this will result in an illegal instruction trap. */ - call_pal 0 - .end _start - -/* For ECOFF backwards compatibility. */ -weak_alias (_start, __start) - -/* Define a symbol for the first piece of initialized data. */ - .data - .globl __data_start -__data_start: - .weak data_start - data_start = __data_start |