aboutsummaryrefslogtreecommitdiff
path: root/sysdeps/nios2
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps/nios2')
-rw-r--r--sysdeps/nios2/Implies3
-rw-r--r--sysdeps/nios2/Makefile35
-rw-r--r--sysdeps/nios2/Subdirs1
-rw-r--r--sysdeps/nios2/Versions12
-rw-r--r--sysdeps/nios2/__longjmp.S80
-rw-r--r--sysdeps/nios2/abort-instr.h2
-rw-r--r--sysdeps/nios2/backtrace.c1
-rw-r--r--sysdeps/nios2/bits/endian.h12
-rw-r--r--sysdeps/nios2/bits/fenv.h52
-rw-r--r--sysdeps/nios2/bits/link.h54
-rw-r--r--sysdeps/nios2/bits/setjmp.h30
-rw-r--r--sysdeps/nios2/bsd-_setjmp.S1
-rw-r--r--sysdeps/nios2/bsd-setjmp.S1
-rw-r--r--sysdeps/nios2/configure162
-rw-r--r--sysdeps/nios2/configure.ac13
-rw-r--r--sysdeps/nios2/crti.S96
-rw-r--r--sysdeps/nios2/crtn.S49
-rw-r--r--sysdeps/nios2/dl-init.c30
-rw-r--r--sysdeps/nios2/dl-machine.h336
-rw-r--r--sysdeps/nios2/dl-sysdep.h25
-rw-r--r--sysdeps/nios2/dl-tls.h45
-rw-r--r--sysdeps/nios2/dl-trampoline.S79
-rw-r--r--sysdeps/nios2/gccframe.h21
-rw-r--r--sysdeps/nios2/gmp-mparam.h23
-rw-r--r--sysdeps/nios2/jmpbuf-offsets.h48
-rw-r--r--sysdeps/nios2/jmpbuf-unwind.h37
-rw-r--r--sysdeps/nios2/ldsodefs.h43
-rw-r--r--sysdeps/nios2/libc-tls.c32
-rw-r--r--sysdeps/nios2/libm-test-ulps394
-rw-r--r--sysdeps/nios2/libm-test-ulps-name1
-rw-r--r--sysdeps/nios2/machine-gmon.h64
-rw-r--r--sysdeps/nios2/math-tests.h28
-rw-r--r--sysdeps/nios2/math_private.h38
-rw-r--r--sysdeps/nios2/memusage.h23
-rw-r--r--sysdeps/nios2/nptl/Makefile22
-rw-r--r--sysdeps/nios2/nptl/bits/pthreadtypes-arch.h70
-rw-r--r--sysdeps/nios2/nptl/bits/semaphore.h32
-rw-r--r--sysdeps/nios2/nptl/pthreaddef.h32
-rw-r--r--sysdeps/nios2/nptl/tcb-offsets.sym13
-rw-r--r--sysdeps/nios2/nptl/tls.h164
-rw-r--r--sysdeps/nios2/preconfigure6
-rw-r--r--sysdeps/nios2/s_fma.c1
-rw-r--r--sysdeps/nios2/s_fmaf.c1
-rw-r--r--sysdeps/nios2/setjmp.S73
-rw-r--r--sysdeps/nios2/sfp-machine.h51
-rw-r--r--sysdeps/nios2/sotruss-lib.c51
-rw-r--r--sysdeps/nios2/stackguard-macros.h6
-rw-r--r--sysdeps/nios2/stackinfo.h33
-rw-r--r--sysdeps/nios2/start.S146
-rw-r--r--sysdeps/nios2/sysdep.h65
-rw-r--r--sysdeps/nios2/tls-macros.h46
-rw-r--r--sysdeps/nios2/tst-audit.h23
52 files changed, 0 insertions, 2706 deletions
diff --git a/sysdeps/nios2/Implies b/sysdeps/nios2/Implies
deleted file mode 100644
index 387a0ca052..0000000000
--- a/sysdeps/nios2/Implies
+++ /dev/null
@@ -1,3 +0,0 @@
-wordsize-32
-ieee754/dbl-64
-ieee754/flt-32
diff --git a/sysdeps/nios2/Makefile b/sysdeps/nios2/Makefile
deleted file mode 100644
index 75cab5e5b8..0000000000
--- a/sysdeps/nios2/Makefile
+++ /dev/null
@@ -1,35 +0,0 @@
-# Copyright (C) 1993-2017 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.
-
-# 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/>.
-
-pic-ccflag = -fpic
-
-# We don't support long doubles as a distinct type. We don't need to set
-# this variable; it's here mostly for documentational purposes.
-long-double-fcts = no
-
-ifeq ($(subdir),soft-fp)
-sysdep_routines += $(filter-out sqrtsf2,$(gcc-single-routines)) \
- $(filter-out sqrtdf2,$(gcc-double-routines))
-endif
-
-ifeq ($(subdir),csu)
-gen-as-const-headers += tcb-offsets.sym
-endif
-
-ifeq ($(subdir),debug)
-CFLAGS-backtrace.c += -funwind-tables
-endif
diff --git a/sysdeps/nios2/Subdirs b/sysdeps/nios2/Subdirs
deleted file mode 100644
index 87eadf3024..0000000000
--- a/sysdeps/nios2/Subdirs
+++ /dev/null
@@ -1 +0,0 @@
-soft-fp
diff --git a/sysdeps/nios2/Versions b/sysdeps/nios2/Versions
deleted file mode 100644
index 48a23519d9..0000000000
--- a/sysdeps/nios2/Versions
+++ /dev/null
@@ -1,12 +0,0 @@
-libc {
- GLIBC_2.21 {
- __adddf3; __addsf3; __divdf3; __divsf3; __eqdf2; __eqsf2; __extendsfdf2;
- __fixdfdi; __fixdfsi; __fixsfdi; __fixsfsi;
- __fixunsdfdi; __fixunsdfsi; __fixunssfdi; __fixunssfsi;
- __floatdidf; __floatdisf; __floatsidf; __floatsisf;
- __floatundidf; __floatundisf; __floatunsidf; __floatunsisf;
- __gedf2; __gesf2; __gtdf2; __gtsf2; __ledf2; __lesf2; __ltdf2; __ltsf2;
- __muldf3; __mulsf3; __nedf2; __nesf2; __negdf2; __negsf2;
- __subdf3; __subsf3; __truncdfsf2; __unorddf2; __unordsf2;
- }
-}
diff --git a/sysdeps/nios2/__longjmp.S b/sysdeps/nios2/__longjmp.S
deleted file mode 100644
index 0b84ac63d7..0000000000
--- a/sysdeps/nios2/__longjmp.S
+++ /dev/null
@@ -1,80 +0,0 @@
-/* longjmp for Nios II.
- Copyright (C) 2015-2017 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.
-
- 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/>. */
-
-#include <sysdep.h>
-#include <jmpbuf-offsets.h>
-
-/* __longjmp(jmpbuf, val) */
-
-ENTRY (__longjmp)
- mov r2, r5
- bne r5, zero, 1f
- movi r2, 1
-1:
-#ifdef PTR_DEMANGLE
- PTR_MANGLE_GUARD (r3)
- ldw r5, (JB_RA*4)(r4)
- ldw r6, (JB_SP*4)(r4)
- PTR_DEMANGLE (r5, r5, r3)
- PTR_DEMANGLE (r6, r6, r3)
-#endif
-
- cfi_def_cfa (r4, 0)
- cfi_offset (r16, JB_R16*4)
- cfi_offset (r17, JB_R17*4)
- cfi_offset (r18, JB_R18*4)
- cfi_offset (r19, JB_R19*4)
- cfi_offset (r20, JB_R20*4)
- cfi_offset (r21, JB_R21*4)
- cfi_offset (r22, JB_R22*4)
- cfi_offset (fp, JB_FP*4)
-#ifdef PTR_DEMANGLE
- cfi_register (ra, r5)
- cfi_register (sp, r7)
-#else
- cfi_offset (ra, JB_RA*4)
- cfi_offset (sp, JB_SP*4)
-#endif
- ldw r16, (JB_R16*4)(r4)
- ldw r17, (JB_R17*4)(r4)
- ldw r18, (JB_R18*4)(r4)
- ldw r19, (JB_R19*4)(r4)
- ldw r20, (JB_R20*4)(r4)
- ldw r21, (JB_R21*4)(r4)
- ldw r22, (JB_R22*4)(r4)
- ldw fp, (JB_FP*4)(r4)
-#ifdef PTR_DEMANGLE
- mov ra, r5
- mov sp, r6
-#else
- ldw ra, (JB_RA*4)(r4)
- ldw sp, (JB_SP*4)(r4)
-#endif
- cfi_same_value (r16)
- cfi_same_value (r17)
- cfi_same_value (r18)
- cfi_same_value (r19)
- cfi_same_value (r20)
- cfi_same_value (r21)
- cfi_same_value (r22)
- cfi_same_value (fp)
- cfi_same_value (ra)
- cfi_same_value (sp)
-
- ret
-END (__longjmp)
diff --git a/sysdeps/nios2/abort-instr.h b/sysdeps/nios2/abort-instr.h
deleted file mode 100644
index 17502e4a70..0000000000
--- a/sysdeps/nios2/abort-instr.h
+++ /dev/null
@@ -1,2 +0,0 @@
-/* An instruction which should crash any program is an unused trap. */
-#define ABORT_INSTRUCTION asm ("trap 31")
diff --git a/sysdeps/nios2/backtrace.c b/sysdeps/nios2/backtrace.c
deleted file mode 100644
index 27ce597b39..0000000000
--- a/sysdeps/nios2/backtrace.c
+++ /dev/null
@@ -1 +0,0 @@
-#include <sysdeps/x86_64/backtrace.c>
diff --git a/sysdeps/nios2/bits/endian.h b/sysdeps/nios2/bits/endian.h
deleted file mode 100644
index 164f9e4d78..0000000000
--- a/sysdeps/nios2/bits/endian.h
+++ /dev/null
@@ -1,12 +0,0 @@
-/* The Nios II architecture has selectable endianness. */
-
-#ifndef _ENDIAN_H
-# error "Never use <bits/endian.h> directly; include <endian.h> instead."
-#endif
-
-#ifdef __nios2_big_endian__
-# define __BYTE_ORDER __BIG_ENDIAN
-#endif
-#ifdef __nios2_little_endian__
-# define __BYTE_ORDER __LITTLE_ENDIAN
-#endif
diff --git a/sysdeps/nios2/bits/fenv.h b/sysdeps/nios2/bits/fenv.h
deleted file mode 100644
index 7e74275208..0000000000
--- a/sysdeps/nios2/bits/fenv.h
+++ /dev/null
@@ -1,52 +0,0 @@
-/* Copyright (C) 2012-2017 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.
-
- 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/>. */
-
-#ifndef _FENV_H
-# error "Never use <bits/fenv.h> directly; include <fenv.h> instead."
-#endif
-
-/* The Altera specified Nios II hardware FPU does not support exceptions,
- nor does the software floating-point support. */
-#define FE_ALL_EXCEPT 0
-
-/* Nios II supports only round-to-nearest. The software
- floating-point support also acts this way. */
-enum
- {
- __FE_UNDEFINED = 0,
-
- FE_TONEAREST =
-#define FE_TONEAREST 1
- FE_TONEAREST,
- };
-
-/* Type representing exception flags. */
-typedef unsigned int fexcept_t;
-
-/* Type representing floating-point environment. */
-typedef unsigned int fenv_t;
-
-/* If the default argument is used we use this value. */
-#define FE_DFL_ENV ((const fenv_t *) -1)
-
-#if __GLIBC_USE (IEC_60559_BFP_EXT)
-/* Type representing floating-point control modes. */
-typedef unsigned int femode_t;
-
-/* Default floating-point control modes. */
-# define FE_DFL_MODE ((const femode_t *) -1L)
-#endif
diff --git a/sysdeps/nios2/bits/link.h b/sysdeps/nios2/bits/link.h
deleted file mode 100644
index 161efcbfe2..0000000000
--- a/sysdeps/nios2/bits/link.h
+++ /dev/null
@@ -1,54 +0,0 @@
-/* Machine-specific declarations for dynamic linker interface, Nios II version.
- Copyright (C) 2009-2017 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.
-
- 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/>. */
-
-#ifndef _LINK_H
-# error "Never include <bits/link.h> directly; use <link.h> instead."
-#endif
-
-/* Registers for entry into PLT on Nios II. */
-typedef struct La_nios2_regs
-{
- uint32_t lr_reg[4]; /* r4 through r7 */
- uint32_t lr_ra;
- uint32_t lr_sp;
-} La_nios2_regs;
-
-/* Return values for calls from PLT on Nios II. */
-typedef struct La_nios2_retval
-{
- uint32_t lrv_r2;
- uint32_t lrv_r3;
-} La_nios2_retval;
-
-__BEGIN_DECLS
-
-extern Elf32_Addr la_nios2_gnu_pltenter (Elf32_Sym *__sym, unsigned int __ndx,
- uintptr_t *__refcook,
- uintptr_t *__defcook,
- La_nios2_regs *__regs,
- unsigned int *__flags,
- const char *__symname,
- long int *__framesizep);
-extern unsigned int la_nios2_gnu_pltexit (Elf32_Sym *__sym, unsigned int __ndx,
- uintptr_t *__refcook,
- uintptr_t *__defcook,
- const La_nios2_regs *__inregs,
- La_nios2_retval *__outregs,
- const char *symname);
-
-__END_DECLS
diff --git a/sysdeps/nios2/bits/setjmp.h b/sysdeps/nios2/bits/setjmp.h
deleted file mode 100644
index a66e11533c..0000000000
--- a/sysdeps/nios2/bits/setjmp.h
+++ /dev/null
@@ -1,30 +0,0 @@
-/* Define the machine-dependent type `jmp_buf'. Nios II version.
- Copyright (C) 1992-2017 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.
-
- 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/>. */
-
-#ifndef _NIOS2_BITS_SETJMP_H
-#define _NIOS2_BITS_SETJMP_H 1
-
-#if !defined(_SETJMP_H) && !defined(_PTHREAD_H)
-# error "Never include <bits/setjmp.h> directly; use <setjmp.h> instead."
-#endif
-
-/* Saves r16-r22 (callee-saved, including GOT pointer), fp (frame pointer),
- ra (return address), and sp (stack pointer). */
-typedef int __jmp_buf[10];
-
-#endif /* _NIOS2_BITS_SETJMP_H */
diff --git a/sysdeps/nios2/bsd-_setjmp.S b/sysdeps/nios2/bsd-_setjmp.S
deleted file mode 100644
index 4e6a2da560..0000000000
--- a/sysdeps/nios2/bsd-_setjmp.S
+++ /dev/null
@@ -1 +0,0 @@
-/* _setjmp is in setjmp.S */
diff --git a/sysdeps/nios2/bsd-setjmp.S b/sysdeps/nios2/bsd-setjmp.S
deleted file mode 100644
index 1da848d2f1..0000000000
--- a/sysdeps/nios2/bsd-setjmp.S
+++ /dev/null
@@ -1 +0,0 @@
-/* setjmp is in setjmp.S */
diff --git a/sysdeps/nios2/configure b/sysdeps/nios2/configure
deleted file mode 100644
index 14c8a3a014..0000000000
--- a/sysdeps/nios2/configure
+++ /dev/null
@@ -1,162 +0,0 @@
-# This file is generated from configure.ac by Autoconf. DO NOT EDIT!
- # Local configure fragment for sysdeps/nios2.
-
-# Nios II big endian is not yet supported.
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5
-$as_echo_n "checking for grep that handles long lines and -e... " >&6; }
-if ${ac_cv_path_GREP+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -z "$GREP"; then
- ac_path_GREP_found=false
- # Loop through the user's path and test for each of PROGNAME-LIST
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_prog in grep ggrep; do
- for ac_exec_ext in '' $ac_executable_extensions; do
- ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
- as_fn_executable_p "$ac_path_GREP" || continue
-# Check for GNU ac_path_GREP and select it if it is found.
- # Check for GNU $ac_path_GREP
-case `"$ac_path_GREP" --version 2>&1` in
-*GNU*)
- ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;;
-*)
- ac_count=0
- $as_echo_n 0123456789 >"conftest.in"
- while :
- do
- cat "conftest.in" "conftest.in" >"conftest.tmp"
- mv "conftest.tmp" "conftest.in"
- cp "conftest.in" "conftest.nl"
- $as_echo 'GREP' >> "conftest.nl"
- "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break
- diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
- as_fn_arith $ac_count + 1 && ac_count=$as_val
- if test $ac_count -gt ${ac_path_GREP_max-0}; then
- # Best one so far, save it but keep looking for a better one
- ac_cv_path_GREP="$ac_path_GREP"
- ac_path_GREP_max=$ac_count
- fi
- # 10*(2^10) chars as input seems more than enough
- test $ac_count -gt 10 && break
- done
- rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
-
- $ac_path_GREP_found && break 3
- done
- done
- done
-IFS=$as_save_IFS
- if test -z "$ac_cv_path_GREP"; then
- as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
- fi
-else
- ac_cv_path_GREP=$GREP
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5
-$as_echo "$ac_cv_path_GREP" >&6; }
- GREP="$ac_cv_path_GREP"
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5
-$as_echo_n "checking for egrep... " >&6; }
-if ${ac_cv_path_EGREP+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
- then ac_cv_path_EGREP="$GREP -E"
- else
- if test -z "$EGREP"; then
- ac_path_EGREP_found=false
- # Loop through the user's path and test for each of PROGNAME-LIST
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_prog in egrep; do
- for ac_exec_ext in '' $ac_executable_extensions; do
- ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
- as_fn_executable_p "$ac_path_EGREP" || continue
-# Check for GNU ac_path_EGREP and select it if it is found.
- # Check for GNU $ac_path_EGREP
-case `"$ac_path_EGREP" --version 2>&1` in
-*GNU*)
- ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;;
-*)
- ac_count=0
- $as_echo_n 0123456789 >"conftest.in"
- while :
- do
- cat "conftest.in" "conftest.in" >"conftest.tmp"
- mv "conftest.tmp" "conftest.in"
- cp "conftest.in" "conftest.nl"
- $as_echo 'EGREP' >> "conftest.nl"
- "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break
- diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
- as_fn_arith $ac_count + 1 && ac_count=$as_val
- if test $ac_count -gt ${ac_path_EGREP_max-0}; then
- # Best one so far, save it but keep looking for a better one
- ac_cv_path_EGREP="$ac_path_EGREP"
- ac_path_EGREP_max=$ac_count
- fi
- # 10*(2^10) chars as input seems more than enough
- test $ac_count -gt 10 && break
- done
- rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
-
- $ac_path_EGREP_found && break 3
- done
- done
- done
-IFS=$as_save_IFS
- if test -z "$ac_cv_path_EGREP"; then
- as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
- fi
-else
- ac_cv_path_EGREP=$EGREP
-fi
-
- fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5
-$as_echo "$ac_cv_path_EGREP" >&6; }
- EGREP="$ac_cv_path_EGREP"
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for big endian" >&5
-$as_echo_n "checking for big endian... " >&6; }
-if ${libc_cv_nios2_be+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#ifdef __nios2_big_endian__
- yes
- #endif
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "yes" >/dev/null 2>&1; then :
- libc_cv_nios2_be=yes
-else
- libc_cv_nios2_be=no
-fi
-rm -f conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_nios2_be" >&5
-$as_echo "$libc_cv_nios2_be" >&6; }
-if test $libc_cv_nios2_be = yes; then
- as_fn_error $? "Big endian not supported for Nios II" "$LINENO" 5
-fi
diff --git a/sysdeps/nios2/configure.ac b/sysdeps/nios2/configure.ac
deleted file mode 100644
index f05f43802b..0000000000
--- a/sysdeps/nios2/configure.ac
+++ /dev/null
@@ -1,13 +0,0 @@
-GLIBC_PROVIDES dnl See aclocal.m4 in the top level source directory.
-# Local configure fragment for sysdeps/nios2.
-
-# Nios II big endian is not yet supported.
-AC_CACHE_CHECK([for big endian],
- [libc_cv_nios2_be],
- [AC_EGREP_CPP(yes,[#ifdef __nios2_big_endian__
- yes
- #endif
- ], libc_cv_nios2_be=yes, libc_cv_nios2_be=no)])
-if test $libc_cv_nios2_be = yes; then
- AC_MSG_ERROR([Big endian not supported for Nios II])
-fi
diff --git a/sysdeps/nios2/crti.S b/sysdeps/nios2/crti.S
deleted file mode 100644
index d37c72187a..0000000000
--- a/sysdeps/nios2/crti.S
+++ /dev/null
@@ -1,96 +0,0 @@
-/* Special .init and .fini section support for Nios II.
- Copyright (C) 2012-2017 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/>. */
-
-/* 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. The symbols _init and _fini are
- magic and cause the linker to emit DT_INIT and DT_FINI. */
-
-#include <libc-symbols.h>
-
-#ifndef PREINIT_FUNCTION
-# define PREINIT_FUNCTION __gmon_start__
-#endif
-
-#ifndef PREINIT_FUNCTION_WEAK
-# define PREINIT_FUNCTION_WEAK 1
-#endif
-
-#if PREINIT_FUNCTION_WEAK
- weak_extern (PREINIT_FUNCTION)
-#else
- .hidden PREINIT_FUNCTION
-#endif
-
- .section .init,"ax",@progbits
- .align 2
- .global _init
- .type _init, @function
-_init:
- addi sp, sp, -8
- stw r22, 0(sp)
- nextpc r22
- 1:
- movhi r8, %hiadj(_gp_got - 1b)
- addi r8, r8, %lo(_gp_got - 1b)
- add r22, r22, r8
- stw ra, 4(sp)
-#if PREINIT_FUNCTION_WEAK
- movhi r2, %got_hiadj(PREINIT_FUNCTION)
- addi r2, r2, %got_lo(PREINIT_FUNCTION)
- add r2, r2, r22
- ldw r2, 0(r2)
- beq r2, zero, .L5
-#endif
- movhi r2, %call_hiadj(PREINIT_FUNCTION)
- addi r2, r2, %call_lo(PREINIT_FUNCTION)
- add r2, r2, r22
- ldw r2, 0(r2)
- callr r2
-.L5:
-
- .section .fini,"ax",@progbits
- .align 2
- .global _fini
- .type _fini, @function
-_fini:
- addi sp, sp, -8
- stw r22, 0(sp)
- nextpc r22
- 1:
- movhi r8, %hiadj(_gp_got - 1b)
- addi r8, r8, %lo(_gp_got - 1b)
- stw ra, 4(sp)
- add r22, r22, r8
diff --git a/sysdeps/nios2/crtn.S b/sysdeps/nios2/crtn.S
deleted file mode 100644
index 3e7d2cceea..0000000000
--- a/sysdeps/nios2/crtn.S
+++ /dev/null
@@ -1,49 +0,0 @@
-/* Special .init and .fini section support for Nios II.
- Copyright (C) 2012-2017 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/>. */
-
-/* crtn.S puts function epilogues in the .init and .fini sections
- corresponding to the prologues in crti.S. */
-
- .section .init,"ax",@progbits
- ldw ra, 4(sp)
- ldw r22, 0(sp)
- addi sp, sp, 8
- ret
-
- .section .fini,"ax",@progbits
- ldw ra, 4(sp)
- ldw r22, 0(sp)
- addi sp, sp, 8
- ret
diff --git a/sysdeps/nios2/dl-init.c b/sysdeps/nios2/dl-init.c
deleted file mode 100644
index 5d3d0edc68..0000000000
--- a/sysdeps/nios2/dl-init.c
+++ /dev/null
@@ -1,30 +0,0 @@
-/* Nios II specific procedures for initializing code.
- Copyright (C) 2008-2017 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.
-
- 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/>. */
-
-#include <elf/dl-init.c>
-
-unsigned int
-internal_function
-_dl_nios2_get_gp_value (struct link_map *main_map)
-{
- ElfW(Dyn) *dyn = main_map->l_ld;
- for (dyn = main_map->l_ld; dyn->d_tag != DT_NULL; ++dyn)
- if (dyn->d_tag == DT_NIOS2_GP)
- return (unsigned int)(dyn->d_un.d_ptr);
- return 0;
-}
diff --git a/sysdeps/nios2/dl-machine.h b/sysdeps/nios2/dl-machine.h
deleted file mode 100644
index 8d2b18de23..0000000000
--- a/sysdeps/nios2/dl-machine.h
+++ /dev/null
@@ -1,336 +0,0 @@
-/* Machine-dependent ELF dynamic relocation inline functions. Nios II version.
- Copyright (C) 1995-2017 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.
-
- 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/>. */
-
-#ifndef dl_machine_h
-#define dl_machine_h
-
-#define ELF_MACHINE_NAME "nios2"
-
-#include <string.h>
-#include <link.h>
-#include <dl-tls.h>
-
-/* Return nonzero iff ELF header is compatible with the running host. */
-static inline int
-elf_machine_matches_host (const Elf32_Ehdr *ehdr)
-{
- return ehdr->e_machine == EM_ALTERA_NIOS2;
-}
-
-
-/* Return the link-time address of _DYNAMIC. Conveniently, this is the
- first element of the GOT. */
-static inline Elf32_Addr
-elf_machine_dynamic (void)
-{
- Elf32_Addr *dynamic;
- int tmp;
- asm ("nextpc\t%0\n\t"
- "1: movhi\t%1, %%hiadj(_GLOBAL_OFFSET_TABLE_ - 1b)\n\t"
- "addi\t%1, %1, %%lo(_GLOBAL_OFFSET_TABLE_ - 1b)\n\t"
- "add\t%0, %0, %1\n"
- : "=r" (dynamic), "=r" (tmp));
- return *dynamic;
-}
-
-
-/* Return the run-time load address of the shared object. */
-static inline Elf32_Addr
-elf_machine_load_address (void)
-{
- Elf32_Addr result;
- int tmp;
- asm ("nextpc\t%0\n\t"
- "1: movhi\t%1, %%hiadj(1b)\n\t"
- "addi\t%1, %1, %%lo(1b)\n\t"
- "sub\t%0, %0, %1\n"
- : "=r" (result), "=r" (tmp));
- return result;
-}
-
-/* Set up the loaded object described by L so its unrelocated PLT
- entries will jump to the on-demand fixup code in dl-runtime.c. */
-
-static inline int __attribute__ ((always_inline))
-elf_machine_runtime_setup (struct link_map *l, int lazy, int profile)
-{
- extern void _dl_runtime_resolve (Elf32_Word);
-
- if (l->l_info[DT_JMPREL] && lazy)
- {
- /* The GOT entries for functions in the PLT have not yet been filled
- in. Their initial contents will arrange when called to load r15 with
- an offset into the .got section, load r14 with
- _GLOBAL_OFFSET_TABLE_[1], and then jump to _GLOBAL_OFFSET_TABLE[2].
- */
- Elf32_Addr *got = (Elf32_Addr *) D_PTR (l, l_info[DT_PLTGOT]);
- got[1] = (Elf32_Addr) l; /* Identify this shared object. */
-
- /* This function will get called to fix up the GOT entry indicated by
- the offset on the stack, and then jump to the resolved address. */
- got[2] = (Elf32_Addr) &_dl_runtime_resolve;
- }
-
- return lazy;
-}
-
-/* Initial entry point code for the dynamic linker.
- The C function `_dl_start' is the real entry point;
- its return value is the user program's entry point. */
-
-#define RTLD_START asm ("\
-.text\n\
-.globl _start\n\
-.type _start, %function\n\
-_start:\n\
- /* At start time, all the args are on the stack. */\n\
- mov r4, sp\n\
-\n\
- /* Start the calculation of the GOT pointer. */\n\
- nextpc r22\n\
-1: movhi r8, %hiadj(_gp_got - 1b)\n\
- addi r8, r8, %lo(_gp_got - 1b)\n\
-\n\
- /* Figure out where _dl_start will need to return to. */\n\
- movhi ra, %hiadj(2f - 1b)\n\
- addi ra, ra, %lo(2f - 1b)\n\
- add ra, ra, r22\n\
-\n\
- /* Finish the calculation of the GOT pointer. */\n\
- add r22, r22, r8\n\
-\n\
- br _dl_start\n\
-\n\
- /* Save the returned user entry point. */\n\
-2: mov r16, r2\n\
-\n\
- /* Initialize gp. */\n\
- ldw r4, %got(_rtld_local)(r22)\n\
- ldw r4, 0(r4)\n\
- ldw r8, %call(_dl_nios2_get_gp_value)(r22)\n\
- callr r8\n\
- mov gp, r2\n\
-\n\
- /* Find the number of arguments to skip. */\n\
- ldw r8, %got(_dl_skip_args)(r22)\n\
- ldw r8, 0(r8)\n\
-\n\
- /* Find the main_map from the GOT. */\n\
- ldw r4, %got(_rtld_local)(r22)\n\
- ldw r4, 0(r4)\n\
-\n\
- /* Find argc. */\n\
- ldw r5, 0(sp)\n\
- sub r5, r5, r8\n\
- stw r5, 0(sp)\n\
-\n\
- /* Find the first unskipped argument. */\n\
- slli r8, r8, 2\n\
- addi r6, sp, 4\n\
- add r9, r6, r8\n\
- mov r10, r6\n\
-\n\
- /* Shuffle argv down. */\n\
-3: ldw r11, 0(r9)\n\
- stw r11, 0(r10)\n\
- addi r9, r9, 4\n\
- addi r10, r10, 4\n\
- bne r11, zero, 3b\n\
-\n\
- /* Shuffle envp down. */\n\
- mov r7, r10\n\
-4: ldw r11, 0(r9)\n\
- stw r11, 0(r10)\n\
- addi r9, r9, 4\n\
- addi r10, r10, 4\n\
- bne r11, zero, 4b\n\
-\n\
- /* Shuffle auxv down. */\n\
-5: ldw r11, 4(r9)\n\
- stw r11, 4(r10)\n\
- ldw r11, 0(r9)\n\
- stw r11, 0(r10)\n\
- addi r9, r9, 8\n\
- addi r10, r10, 8\n\
- bne r11, zero, 5b\n\
-\n\
- /* Update _dl_argv. */\n\
- ldw r2, %got(_dl_argv)(r22)\n\
- stw r6, 0(r2)\n\
-\n\
- /* Call _dl_init through the PLT. */\n\
- ldw r8, %call(_dl_init)(r22)\n\
- callr r8\n\
-\n\
- /* Find the finalization function. */\n\
- ldw r4, %got(_dl_fini)(r22)\n\
-\n\
- /* Jump to the user's entry point. */\n\
- jmp r16\n\
-");
-
-/* ELF_RTYPE_CLASS_PLT iff TYPE describes relocation of a PLT entry, so
- PLT entries should not be allowed to define the value.
- ELF_RTYPE_CLASS_COPY iff TYPE should not be allowed to resolve to one
- of the main executable's symbols, as for a COPY reloc. */
-#define elf_machine_type_class(type) \
- ((((type) == R_NIOS2_JUMP_SLOT \
- || (type) == R_NIOS2_TLS_DTPMOD \
- || (type) == R_NIOS2_TLS_DTPREL \
- || (type) == R_NIOS2_TLS_TPREL) * ELF_RTYPE_CLASS_PLT) \
- | (((type) == R_NIOS2_COPY) * ELF_RTYPE_CLASS_COPY) \
- | (((type) == R_NIOS2_GLOB_DAT) * ELF_RTYPE_CLASS_EXTERN_PROTECTED_DATA))
-
-/* A reloc type used for ld.so cmdline arg lookups to reject PLT entries. */
-#define ELF_MACHINE_JMP_SLOT R_NIOS2_JUMP_SLOT
-
-/* The Nios II never uses Elf32_Rel relocations. */
-#define ELF_MACHINE_NO_REL 1
-#define ELF_MACHINE_NO_RELA 0
-
-/* Fixup a PLT entry to bounce directly to the function at VALUE. */
-
-static inline Elf32_Addr
-elf_machine_fixup_plt (struct link_map *map, lookup_t t,
- const Elf32_Rela *reloc,
- Elf32_Addr *reloc_addr, Elf32_Addr value)
-{
- return *reloc_addr = value;
-}
-
-/* Return the final value of a plt relocation. */
-static inline Elf32_Addr
-elf_machine_plt_value (struct link_map *map, const Elf32_Rela *reloc,
- Elf32_Addr value)
-{
- return value;
-}
-
-/* Names of the architecture-specific auditing callback functions. */
-#define ARCH_LA_PLTENTER nios2_gnu_pltenter
-#define ARCH_LA_PLTEXIT nios2_gnu_pltexit
-
-#endif /* dl_machine_h */
-
-#ifdef RESOLVE_MAP
-
-/* Perform the relocation specified by RELOC and SYM (which is fully resolved).
- LOADADDR is the load address of the object; INFO is an array indexed
- by DT_* of the .dynamic section info. */
-
-auto inline void __attribute__ ((always_inline))
-elf_machine_rela (struct link_map *map, const ElfW(Rela) *reloc,
- const ElfW(Sym) *sym, const struct r_found_version *version,
- void *const reloc_addr_arg, int skip_ifunc)
-{
- Elf32_Addr *const reloc_addr = reloc_addr_arg;
- const unsigned int r_type = ELF32_R_TYPE (reloc->r_info);
-
- if (__glibc_unlikely (r_type == R_NIOS2_RELATIVE))
- *reloc_addr = map->l_addr + reloc->r_addend;
- else if (__glibc_unlikely (r_type == R_NIOS2_NONE))
- return;
- else
- {
- const Elf32_Sym *const refsym = sym;
- struct link_map *sym_map = RESOLVE_MAP (&sym, version, r_type);
- Elf32_Addr value = sym == NULL ? 0 : sym_map->l_addr + sym->st_value;
-
- switch (r_type)
- {
- case R_NIOS2_COPY:
- if (sym == NULL)
- /* This can happen in trace mode if an object could not be
- found. */
- break;
- if (sym->st_size > refsym->st_size
- || (sym->st_size < refsym->st_size && GLRO(dl_verbose)))
- {
- const char *strtab;
-
- strtab = (const void *) D_PTR (map, l_info[DT_STRTAB]);
- _dl_error_printf ("\
-%s: Symbol `%s' has different size in shared object, consider re-linking\n",
- rtld_progname ?: "<program name unknown>",
- strtab + refsym->st_name);
- }
- memcpy (reloc_addr_arg, (void *) value,
- MIN (sym->st_size, refsym->st_size));
- break;
- case R_NIOS2_GLOB_DAT:
- case R_NIOS2_JUMP_SLOT:
-# ifdef RTLD_BOOTSTRAP
- /* Fix weak undefined references. */
- if (sym != NULL && sym->st_value == 0)
- *reloc_addr = 0;
- else
-# endif
- *reloc_addr = value;
- break;
-#ifndef RTLD_BOOTSTRAP
- case R_NIOS2_TLS_DTPMOD:
- /* Get the information from the link map returned by the
- resolv function. */
- if (sym_map != NULL)
- *reloc_addr = sym_map->l_tls_modid;
- break;
-
- case R_NIOS2_TLS_DTPREL:
- *reloc_addr = reloc->r_addend + TLS_DTPREL_VALUE(sym);
- break;
-
- case R_NIOS2_TLS_TPREL:
- if (sym != NULL)
- {
- CHECK_STATIC_TLS (map, sym_map);
- *reloc_addr = reloc->r_addend + TLS_TPREL_VALUE(sym_map, sym);
- }
- break;
-#endif
- case R_NIOS2_BFD_RELOC_32:
- *reloc_addr = value + reloc->r_addend;
- break;
-
- default:
- _dl_reloc_bad_type (map, r_type, 0);
- break;
- }
- }
-}
-
-auto inline void __attribute__((always_inline))
-elf_machine_rela_relative (ElfW(Addr) l_addr, const ElfW(Rela) *reloc,
- void *const reloc_addr_arg)
-{
- Elf32_Addr *const reloc_addr = reloc_addr_arg;
- *reloc_addr = l_addr + reloc->r_addend;
-}
-
-auto inline void __attribute__((always_inline))
-elf_machine_lazy_rel (struct link_map *map,
- ElfW(Addr) l_addr, const ElfW(Rela) *reloc,
- int skip_ifunc)
-{
- Elf32_Addr *const reloc_addr = (void *) (l_addr + reloc->r_offset);
- if (ELF32_R_TYPE (reloc->r_info) == R_NIOS2_JUMP_SLOT)
- *reloc_addr += l_addr;
- else
- _dl_reloc_bad_type (map, ELF32_R_TYPE (reloc->r_info), 1);
-}
-
-#endif /* RESOLVE_MAP */
diff --git a/sysdeps/nios2/dl-sysdep.h b/sysdeps/nios2/dl-sysdep.h
deleted file mode 100644
index 497bae30e8..0000000000
--- a/sysdeps/nios2/dl-sysdep.h
+++ /dev/null
@@ -1,25 +0,0 @@
-/* System-specific settings for dynamic linker code. Nios II version.
- Copyright (C) 2009-2017 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.
-
- 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/>. */
-
-#include_next <dl-sysdep.h>
-
-/* _dl_argv cannot be attribute_relro, because _dl_start_user
- might write into it after _dl_start returns. */
-#define DL_ARGV_NOT_RELRO 1
-
-#define DL_EXTERN_PROTECTED_DATA
diff --git a/sysdeps/nios2/dl-tls.h b/sysdeps/nios2/dl-tls.h
deleted file mode 100644
index 87f6ba5f4f..0000000000
--- a/sysdeps/nios2/dl-tls.h
+++ /dev/null
@@ -1,45 +0,0 @@
-/* Thread-local storage handling in the ELF dynamic linker. Nios II version.
- Copyright (C) 2012-2017 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.
-
- 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/>. */
-
-
-/* Type used for the representation of TLS information in the GOT. */
-typedef struct
-{
- unsigned long int ti_module;
- unsigned long int ti_offset;
-} tls_index;
-
-/* The thread pointer points 0x7000 past the first static TLS block. */
-#define TLS_TP_OFFSET 0x7000
-
-/* Dynamic thread vector pointers point 0x8000 past the start of each
- TLS block. */
-#define TLS_DTV_OFFSET 0x8000
-
-/* Compute the value for a GOTTPREL reloc. */
-#define TLS_TPREL_VALUE(sym_map, sym) \
- ((sym_map)->l_tls_offset + (sym)->st_value - TLS_TP_OFFSET)
-
-/* Compute the value for a DTPREL reloc. */
-#define TLS_DTPREL_VALUE(sym) \
- ((sym)->st_value - TLS_DTV_OFFSET)
-
-extern void *__tls_get_addr (tls_index *ti);
-
-# define GET_ADDR_OFFSET (ti->ti_offset + TLS_DTV_OFFSET)
-# define __TLS_GET_ADDR(__ti) (__tls_get_addr (__ti) - TLS_DTV_OFFSET)
diff --git a/sysdeps/nios2/dl-trampoline.S b/sysdeps/nios2/dl-trampoline.S
deleted file mode 100644
index 1dbf5c14eb..0000000000
--- a/sysdeps/nios2/dl-trampoline.S
+++ /dev/null
@@ -1,79 +0,0 @@
-/* PLT trampolines. Nios II version.
- Copyright (C) 2005-2017 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.
-
- 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/>. */
-
-#include <sysdep.h>
-#include <libc-symbols.h>
-
- .text
- .globl _dl_runtime_resolve
- cfi_startproc
-_dl_runtime_resolve:
-/* The runtime resolver receives the original function arguments in r4
- through r7, the shared library identifier from GOT[1]? in r14, and the
- relocation index times four in r15. It updates the corresponding PLT GOT
- entry so that the PLT entry will transfer control directly to the target
- in the future, and then transfers control to the target. */
- /* Save arguments and return address. */
- subi sp, sp, 28
- cfi_adjust_cfa_offset (28)
- stw r22, 24(sp)
- cfi_rel_offset (r22, 24)
- stw r8, 20(sp) /* save r8, because this might be a call to mcount */
- cfi_rel_offset (r8, 20)
- stw r7, 16(sp)
- cfi_rel_offset (r7, 16)
- stw r6, 12(sp)
- cfi_rel_offset (r6, 12)
- stw r5, 8(sp)
- cfi_rel_offset (r5, 8)
- stw r4, 4(sp)
- cfi_rel_offset (r4, 4)
- stw ra, 0(sp)
- cfi_rel_offset (ra, 0)
-
- /* Get pointer to linker struct. */
- mov r4, r14
-
- /* Get the relocation offset. We're given a multiple of 4 and
- need a multiple of 12, so multiply by 3. */
- slli r5, r15, 1
- add r5, r5, r15
-
- /* Call the fixup routine. */
- nextpc r22
-1: movhi r2, %hiadj(_gp_got - 1b)
- addi r2, r2, %lo(_gp_got - 1b)
- add r22, r22, r2
- ldw r2, %call(_dl_fixup)(r22)
- callr r2
-
- /* Restore the arguments and return address. */
- ldw ra, 0(sp)
- ldw r4, 4(sp)
- ldw r5, 8(sp)
- ldw r6, 12(sp)
- ldw r7, 16(sp)
- ldw r8, 20(sp)
- ldw r22, 24(sp)
- addi sp, sp, 28
- cfi_adjust_cfa_offset (-28)
-
- /* Jump to the newly found address. */
- jmp r2
-
- cfi_endproc
diff --git a/sysdeps/nios2/gccframe.h b/sysdeps/nios2/gccframe.h
deleted file mode 100644
index c2440eefe6..0000000000
--- a/sysdeps/nios2/gccframe.h
+++ /dev/null
@@ -1,21 +0,0 @@
-/* Definition of object in frame unwind info. Nios II version.
- Copyright (C) 2015-2017 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.
-
- 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 FIRST_PSEUDO_REGISTER 40
-
-#include <sysdeps/generic/gccframe.h>
diff --git a/sysdeps/nios2/gmp-mparam.h b/sysdeps/nios2/gmp-mparam.h
deleted file mode 100644
index e77343e9b0..0000000000
--- a/sysdeps/nios2/gmp-mparam.h
+++ /dev/null
@@ -1,23 +0,0 @@
-/* gmp-mparam.h -- Compiler/machine parameter header file.
-
-Copyright (C) 2015-2017 Free Software Foundation, Inc.
-
-This file is part of the GNU MP Library.
-
-The GNU MP 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.
-
-The GNU MP 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 MP Library; see the file COPYING.LIB. If not, see
-<http://www.gnu.org/licenses/>. */
-
-#include <sysdeps/generic/gmp-mparam.h>
-
-#define IEEE_DOUBLE_BIG_ENDIAN 0
diff --git a/sysdeps/nios2/jmpbuf-offsets.h b/sysdeps/nios2/jmpbuf-offsets.h
deleted file mode 100644
index 64b228f119..0000000000
--- a/sysdeps/nios2/jmpbuf-offsets.h
+++ /dev/null
@@ -1,48 +0,0 @@
-/* Private macros for accessing __jmp_buf contents. Nios II version.
- Copyright (C) 2006-2017 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.
-
- 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/>. */
-
-/* Save offsets within __jmp_buf. */
-#define JB_R16 0
-#define JB_R17 1
-#define JB_R18 2
-#define JB_R19 3
-#define JB_R20 4
-#define JB_R21 5
-#define JB_R22 6
-#define JB_FP 7
-#define JB_RA 8
-#define JB_SP 9
-
-#ifndef __ASSEMBLER__
-#include <setjmp.h>
-#include <stdint.h>
-#include <sysdep.h>
-
-static inline uintptr_t __attribute__ ((unused))
-_jmpbuf_sp (__jmp_buf jmpbuf)
-{
- uintptr_t sp = jmpbuf[JB_SP];
-#ifdef PTR_DEMANGLE
- PTR_DEMANGLE (sp);
-#endif
- return sp;
-}
-#endif
-
-/* Helper for generic ____longjmp_chk(). */
-#define JB_FRAME_ADDRESS(buf) ((void *) _jmpbuf_sp (buf))
diff --git a/sysdeps/nios2/jmpbuf-unwind.h b/sysdeps/nios2/jmpbuf-unwind.h
deleted file mode 100644
index aff44eccbf..0000000000
--- a/sysdeps/nios2/jmpbuf-unwind.h
+++ /dev/null
@@ -1,37 +0,0 @@
-/* Examine __jmp_buf for unwinding frames. Nios II version.
- Copyright (C) 2005-2017 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.
-
- 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/>. */
-
-#include <setjmp.h>
-#include <jmpbuf-offsets.h>
-#include <stdint.h>
-#include <unwind.h>
-
-/* Test if longjmp to JMPBUF would unwind the frame
- containing a local variable at ADDRESS. */
-
-#define _JMPBUF_UNWINDS(jmpbuf, address, demangle) \
- ((void *) (address) < (void *) demangle (jmpbuf[JB_SP]))
-
-#define _JMPBUF_CFA_UNWINDS_ADJ(_jmpbuf, _context, _adj) \
- _JMPBUF_UNWINDS_ADJ (_jmpbuf, (void *) _Unwind_GetCFA (_context), _adj)
-
-#define _JMPBUF_UNWINDS_ADJ(_jmpbuf, _address, _adj) \
- ((uintptr_t) (_address) - (_adj) < (uintptr_t) (_jmpbuf_sp (_jmpbuf) - (_adj)))
-
-/* We use the normal longjmp for unwinding. */
-#define __libc_unwind_longjmp(buf, val) __libc_longjmp (buf, val)
diff --git a/sysdeps/nios2/ldsodefs.h b/sysdeps/nios2/ldsodefs.h
deleted file mode 100644
index 69201b9d11..0000000000
--- a/sysdeps/nios2/ldsodefs.h
+++ /dev/null
@@ -1,43 +0,0 @@
-/* Run-time dynamic linker data structures for loaded ELF shared objects.
- Copyright (C) 2000-2017 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.
-
- 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/>. */
-
-#ifndef _NIOS2_LDSODEFS_H
-#define _NIOS2_LDSODEFS_H 1
-
-#include <elf.h>
-
-struct La_nios2_regs;
-struct La_nios2_retval;
-
-#define ARCH_PLTENTER_MEMBERS \
- ElfW(Addr) (*nios2_gnu_pltenter) (ElfW(Sym) *, unsigned int, \
- uintptr_t *, uintptr_t *, \
- const struct La_nios2_regs *, \
- unsigned int *, const char *, \
- long int *);
-
-#define ARCH_PLTEXIT_MEMBERS \
- unsigned int (*nios2_gnu_pltexit) (ElfW(Sym) *, unsigned int, \
- uintptr_t *, uintptr_t *, \
- const struct La_nios2_regs *, \
- struct La_nios2_retval *, \
- const char *);
-
-#include_next <ldsodefs.h>
-
-#endif
diff --git a/sysdeps/nios2/libc-tls.c b/sysdeps/nios2/libc-tls.c
deleted file mode 100644
index b7d3936681..0000000000
--- a/sysdeps/nios2/libc-tls.c
+++ /dev/null
@@ -1,32 +0,0 @@
-/* Thread-local storage handling in the ELF dynamic linker. Nios II version.
- Copyright (C) 2005-2017 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.
-
- 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/>. */
-
-#include <csu/libc-tls.c>
-#include <dl-tls.h>
-
-/* On Nios II, linker optimizations are not required, so __tls_get_addr
- can be called even in statically linked binaries. In this case module
- must be always 1 and PT_TLS segment exist in the binary, otherwise it
- would not link. */
-
-void *
-__tls_get_addr (tls_index *ti)
-{
- dtv_t *dtv = THREAD_DTV ();
- return (char *) dtv[1].pointer.val + GET_ADDR_OFFSET;
-}
diff --git a/sysdeps/nios2/libm-test-ulps b/sysdeps/nios2/libm-test-ulps
deleted file mode 100644
index f1a01fdb30..0000000000
--- a/sysdeps/nios2/libm-test-ulps
+++ /dev/null
@@ -1,394 +0,0 @@
-# Begin of automatic generation
-
-# Maximal error of functions:
-Function: "acos":
-float: 1
-ifloat: 1
-
-Function: "acosh":
-double: 2
-float: 2
-idouble: 2
-ifloat: 2
-
-Function: "asin":
-float: 1
-ifloat: 1
-
-Function: "asinh":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-
-Function: "atan":
-float: 1
-ifloat: 1
-
-Function: "atan2":
-float: 1
-ifloat: 1
-
-Function: "atanh":
-double: 2
-float: 2
-idouble: 2
-ifloat: 2
-
-Function: "cabs":
-double: 1
-idouble: 1
-
-Function: Real part of "cacos":
-double: 1
-float: 2
-idouble: 1
-ifloat: 2
-
-Function: Imaginary part of "cacos":
-double: 1
-float: 2
-idouble: 1
-ifloat: 2
-
-Function: Real part of "cacosh":
-double: 1
-float: 2
-idouble: 1
-ifloat: 2
-
-Function: Imaginary part of "cacosh":
-double: 1
-float: 2
-idouble: 1
-ifloat: 2
-
-Function: "carg":
-float: 1
-ifloat: 1
-
-Function: Real part of "casin":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-
-Function: Imaginary part of "casin":
-double: 1
-float: 2
-idouble: 1
-ifloat: 2
-
-Function: Real part of "casinh":
-double: 1
-float: 2
-idouble: 1
-ifloat: 2
-
-Function: Imaginary part of "casinh":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-
-Function: Real part of "catan":
-float: 1
-ifloat: 1
-
-Function: Imaginary part of "catan":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-
-Function: Real part of "catanh":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-
-Function: Imaginary part of "catanh":
-float: 1
-ifloat: 1
-
-Function: "cbrt":
-double: 3
-float: 1
-idouble: 3
-ifloat: 1
-
-Function: Real part of "ccos":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-
-Function: Imaginary part of "ccos":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-
-Function: Real part of "ccosh":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-
-Function: Imaginary part of "ccosh":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-
-Function: Real part of "cexp":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-
-Function: Imaginary part of "cexp":
-double: 1
-float: 2
-idouble: 1
-ifloat: 2
-
-Function: Real part of "clog":
-double: 3
-float: 3
-idouble: 3
-ifloat: 3
-
-Function: Imaginary part of "clog":
-float: 1
-ifloat: 1
-
-Function: Real part of "clog10":
-double: 3
-float: 4
-idouble: 3
-ifloat: 4
-
-Function: Imaginary part of "clog10":
-double: 2
-float: 2
-idouble: 2
-ifloat: 2
-
-Function: "cos":
-float: 1
-ifloat: 1
-
-Function: "cosh":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-
-Function: Real part of "cpow":
-double: 2
-float: 4
-idouble: 2
-ifloat: 4
-
-Function: Imaginary part of "cpow":
-float: 2
-ifloat: 2
-
-Function: Real part of "csin":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-
-Function: Real part of "csinh":
-float: 1
-ifloat: 1
-
-Function: Imaginary part of "csinh":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-
-Function: Real part of "csqrt":
-double: 2
-float: 2
-idouble: 2
-ifloat: 2
-
-Function: Imaginary part of "csqrt":
-double: 2
-float: 2
-idouble: 2
-ifloat: 2
-
-Function: Real part of "ctan":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-
-Function: Imaginary part of "ctan":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-
-Function: Real part of "ctanh":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-
-Function: Imaginary part of "ctanh":
-double: 2
-float: 2
-idouble: 2
-ifloat: 2
-
-Function: "erf":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-
-Function: "erfc":
-double: 3
-float: 2
-idouble: 3
-ifloat: 2
-
-Function: "exp":
-float: 1
-ifloat: 1
-
-Function: "exp10":
-double: 2
-idouble: 2
-
-Function: "exp2":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-
-Function: "expm1":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-
-Function: "gamma":
-double: 4
-float: 4
-idouble: 4
-ifloat: 4
-
-Function: "hypot":
-double: 1
-idouble: 1
-
-Function: "j0":
-double: 2
-float: 2
-idouble: 2
-ifloat: 2
-
-Function: "j1":
-double: 1
-float: 2
-idouble: 1
-ifloat: 2
-
-Function: "jn":
-double: 4
-float: 4
-idouble: 4
-ifloat: 4
-
-Function: "lgamma":
-double: 4
-float: 4
-idouble: 4
-ifloat: 4
-
-Function: "log":
-float: 1
-ifloat: 1
-
-Function: "log10":
-double: 2
-float: 2
-idouble: 2
-ifloat: 2
-
-Function: "log1p":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-
-Function: "log2":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-
-Function: "pow":
-float: 3
-ifloat: 3
-
-Function: "pow10":
-double: 2
-idouble: 2
-
-Function: "sin":
-float: 1
-ifloat: 1
-
-Function: "sincos":
-float: 1
-ifloat: 1
-
-Function: "sinh":
-double: 2
-float: 2
-idouble: 2
-ifloat: 2
-
-Function: "tan":
-float: 1
-ifloat: 1
-
-Function: "tanh":
-double: 2
-float: 2
-idouble: 2
-ifloat: 2
-
-Function: "tgamma":
-double: 5
-float: 5
-idouble: 5
-ifloat: 5
-
-Function: "y0":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-
-Function: "y1":
-double: 3
-float: 2
-idouble: 3
-ifloat: 2
-
-Function: "yn":
-double: 3
-float: 2
-idouble: 3
-ifloat: 2
-
-# end of automatic generation
diff --git a/sysdeps/nios2/libm-test-ulps-name b/sysdeps/nios2/libm-test-ulps-name
deleted file mode 100644
index 4ee7692b1b..0000000000
--- a/sysdeps/nios2/libm-test-ulps-name
+++ /dev/null
@@ -1 +0,0 @@
-Nios II
diff --git a/sysdeps/nios2/machine-gmon.h b/sysdeps/nios2/machine-gmon.h
deleted file mode 100644
index 9ad018ba8d..0000000000
--- a/sysdeps/nios2/machine-gmon.h
+++ /dev/null
@@ -1,64 +0,0 @@
-/* Machine-dependent definitions for profiling support. Nios II version.
- Copyright (C) 1996-2017 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.
-
- 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/>. */
-
-#include <sysdep.h>
-
-#define _MCOUNT_DECL(frompc, selfpc) \
-static void __attribute_used__ __mcount_internal (u_long frompc, u_long selfpc)
-
-/* This macro/func MUST save r4, r5, r6, r7 and r8 because the compiler inserts
- blind calls to mcount(), ignoring the fact that mcount may clobber
- registers; therefore, mcount may NOT clobber registers. */
-
-#if defined(__PIC__) || defined(PIC)
-#define NIOS2_MCOUNT_CALL \
- "nextpc r3\n\t" \
- "1: movhi r2, %hiadj(_gp_got - 1b)\n\t" \
- "addi r2, r2, %lo(_gp_got - 1b)\n\t" \
- "add r2, r2, r3\n\t" \
- "ldw r2, %call(__mcount_internal)(r2)\n\t" \
- "callr r2\n\t"
-#else
-#define NIOS2_MCOUNT_CALL \
- "call\t__mcount_internal\n\t"
-#endif
-
-#define MCOUNT \
- asm (".globl _mcount\n\t" \
- ".type _mcount,@function\n\t" \
- "_mcount:\n\t" \
- "subi sp, sp, 24\n\t" \
- "stw ra, 20(sp)\n\t" \
- "stw r8, 16(sp)\n\t" \
- "stw r7, 12(sp)\n\t" \
- "stw r6, 8(sp)\n\t" \
- "stw r5, 4(sp)\n\t" \
- "stw r4, 0(sp)\n\t" \
- "mov r4, r8\n\t" \
- "mov r5, ra\n\t" \
- NIOS2_MCOUNT_CALL \
- "ldw ra, 20(sp)\n\t" \
- "ldw r8, 16(sp)\n\t" \
- "ldw r7, 12(sp)\n\t" \
- "ldw r6, 8(sp)\n\t" \
- "ldw r5, 4(sp)\n\t" \
- "ldw r4, 0(sp)\n\t" \
- "addi sp, sp, 24\n\t" \
- "ret\n\t" \
- ".size _mcount, . - _mcount\n\t" \
- );
diff --git a/sysdeps/nios2/math-tests.h b/sysdeps/nios2/math-tests.h
deleted file mode 100644
index 62c19ba9b3..0000000000
--- a/sysdeps/nios2/math-tests.h
+++ /dev/null
@@ -1,28 +0,0 @@
-/* Configuration for math tests. Nios II version.
- Copyright (C) 2015-2017 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.
-
- 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/>. */
-
-/* Current Nios II soft-float does not support exceptions or rounding
- modes. */
-#define ROUNDING_TESTS_float(MODE) ((MODE) == FE_TONEAREST)
-#define ROUNDING_TESTS_double(MODE) ((MODE) == FE_TONEAREST)
-#define ROUNDING_TESTS_long_double(MODE) ((MODE) == FE_TONEAREST)
-#define EXCEPTION_TESTS_float 0
-#define EXCEPTION_TESTS_double 0
-#define EXCEPTION_TESTS_long_double 0
-
-#include_next <math-tests.h>
diff --git a/sysdeps/nios2/math_private.h b/sysdeps/nios2/math_private.h
deleted file mode 100644
index 373da2a621..0000000000
--- a/sysdeps/nios2/math_private.h
+++ /dev/null
@@ -1,38 +0,0 @@
-#ifndef NIO2_MATH_PRIVATE_H
-#define NIO2_MATH_PRIVATE_H 1
-
-/* Suppress use of exceptions here to avoid build errors if the FE_*
- macros aren't defined. Only allow rounding modes implemented for Nios II.
-
- This does mean that some code will silently fail to report exceptions,
- set rounding mode as expected, etc., but it allows math code to compile
- that otherwise wouldn't (such as math/s_fma.c) and so is valuable.
-
- We intentionally ignore the "exception" arguments of functions that
- take an exception, since we can't even evaluate the argument
- without causing a build failure. The extra level of statement
- expression wrapping avoids "statement with no effect" warnings.
- Since the callers don't check for errors anyway, we just claim
- success in every case.
-
- The overrides for libc_ functions must happen before we include
- the generic math_private.h, and the overrides for regular
- <fenv.h> functions must happen afterwards, to avoid clashing with
- the declarations of those functions. */
-
-#define libc_fesetround(rnd) ({ 0; })
-#define libc_fetestexcept(exc) ({ 0; })
-#define libc_feholdexcept_setround(env, exc) ({ (void) (env); 0; })
-#define libc_feupdateenv_test(env, exc) ({ (void) (env); 0; })
-
-/* Enable __finitel, __isinfl, and __isnanl for binary compatibility
- when built without long double support. */
-#define LDBL_CLASSIFY_COMPAT 1
-
-#include_next <math_private.h>
-
-#define feraiseexcept(excepts) ({ 0; })
-#define __feraiseexcept(excepts) ({ 0; })
-#define feclearexcept(exc) ({ 0; })
-
-#endif
diff --git a/sysdeps/nios2/memusage.h b/sysdeps/nios2/memusage.h
deleted file mode 100644
index ed66f12fed..0000000000
--- a/sysdeps/nios2/memusage.h
+++ /dev/null
@@ -1,23 +0,0 @@
-/* Machine-specific definitions for memory usage profiling, Nios II version.
- Copyright (C) 2000-2017 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.
-
- 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 GETSP() ({ register uintptr_t stack_ptr asm ("%sp"); stack_ptr; })
-
-#define uatomic32_t unsigned int
-
-#include <sysdeps/generic/memusage.h>
diff --git a/sysdeps/nios2/nptl/Makefile b/sysdeps/nios2/nptl/Makefile
deleted file mode 100644
index 1ae6ca40c1..0000000000
--- a/sysdeps/nios2/nptl/Makefile
+++ /dev/null
@@ -1,22 +0,0 @@
-# NPTL makefile fragment for Nios II.
-# Copyright (C) 2005-2017 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.
-#
-# 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/>.
-
-ifeq ($(subdir),csu)
-gen-as-const-headers += tcb-offsets.sym
-endif
diff --git a/sysdeps/nios2/nptl/bits/pthreadtypes-arch.h b/sysdeps/nios2/nptl/bits/pthreadtypes-arch.h
deleted file mode 100644
index e2732f9771..0000000000
--- a/sysdeps/nios2/nptl/bits/pthreadtypes-arch.h
+++ /dev/null
@@ -1,70 +0,0 @@
-/* Machine-specific pthread type layouts. Nios II version.
- Copyright (C) 2012-2017 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.
-
- 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/>. */
-
-#ifndef _BITS_PTHREADTYPES_ARCH_H
-#define _BITS_PTHREADTYPES_ARCH_H 1
-
-#include <endian.h>
-
-#define __SIZEOF_PTHREAD_ATTR_T 36
-#define __SIZEOF_PTHREAD_MUTEX_T 24
-#define __SIZEOF_PTHREAD_MUTEXATTR_T 4
-#define __SIZEOF_PTHREAD_COND_T 48
-#define __SIZEOF_PTHREAD_CONDATTR_T 4
-#define __SIZEOF_PTHREAD_RWLOCK_T 32
-#define __SIZEOF_PTHREAD_RWLOCKATTR_T 8
-#define __SIZEOF_PTHREAD_BARRIER_T 20
-#define __SIZEOF_PTHREAD_BARRIERATTR_T 4
-
-/* Data structure for mutex handling. */
-#define __PTHREAD_COMPAT_PADDING_MID
-#define __PTHREAD_COMPAT_PADDING_END
-#define __PTHREAD_MUTEX_LOCK_ELISION 0
-
-#define __LOCK_ALIGNMENT
-#define __ONCE_ALIGNMENT
-
-struct __pthread_rwlock_arch_t
-{
- unsigned int __readers;
- unsigned int __writers;
- unsigned int __wrphase_futex;
- unsigned int __writers_futex;
- unsigned int __pad3;
- unsigned int __pad4;
-#if __BYTE_ORDER == __BIG_ENDIAN
- unsigned char __pad1;
- unsigned char __pad2;
- unsigned char __shared;
- /* FLAGS must stay at this position in the structure to maintain
- binary compatibility. */
- unsigned char __flags;
-#else
- /* FLAGS must stay at this position in the structure to maintain
- binary compatibility. */
- unsigned char __flags;
- unsigned char __shared;
- unsigned char __pad1;
- unsigned char __pad2;
-#endif
- int __cur_writer;
-};
-
-#define __PTHREAD_RWLOCK_ELISION_EXTRA 0
-
-#endif /* bits/pthreadtypes.h */
diff --git a/sysdeps/nios2/nptl/bits/semaphore.h b/sysdeps/nios2/nptl/bits/semaphore.h
deleted file mode 100644
index d4277b907b..0000000000
--- a/sysdeps/nios2/nptl/bits/semaphore.h
+++ /dev/null
@@ -1,32 +0,0 @@
-/* Machine-specific POSIX semaphore type layouts. Nios II version.
- Copyright (C) 2002-2017 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.
-
- 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/>. */
-
-#ifndef _SEMAPHORE_H
-# error "Never use <bits/semaphore.h> directly; include <semaphore.h> instead."
-#endif
-
-#define __SIZEOF_SEM_T 16
-
-/* Value returned if `sem_open' failed. */
-#define SEM_FAILED ((sem_t *) 0)
-
-typedef union
-{
- char __size[__SIZEOF_SEM_T];
- long int __align;
-} sem_t;
diff --git a/sysdeps/nios2/nptl/pthreaddef.h b/sysdeps/nios2/nptl/pthreaddef.h
deleted file mode 100644
index cf37fcc950..0000000000
--- a/sysdeps/nios2/nptl/pthreaddef.h
+++ /dev/null
@@ -1,32 +0,0 @@
-/* pthread machine parameter definitions, Nios II version.
- Copyright (C) 2002-2017 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.
-
- 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/>. */
-
-/* Default stack size. */
-#define ARCH_STACK_DEFAULT_SIZE (2 * 1024 * 1024)
-
-/* Required stack pointer alignment at beginning. */
-#define STACK_ALIGN 4
-
-/* Minimal stack size after allocating thread descriptor and guard size. */
-#define MINIMAL_REST_STACK 2048
-
-/* Alignment requirement for TCB. */
-#define TCB_ALIGNMENT 4
-
-/* Location of current stack frame. */
-#define CURRENT_STACK_FRAME __builtin_frame_address (0)
diff --git a/sysdeps/nios2/nptl/tcb-offsets.sym b/sysdeps/nios2/nptl/tcb-offsets.sym
deleted file mode 100644
index 3cd8d984ac..0000000000
--- a/sysdeps/nios2/nptl/tcb-offsets.sym
+++ /dev/null
@@ -1,13 +0,0 @@
-#include <sysdep.h>
-#include <tls.h>
-
---
-
--- Abuse tls.h macros to derive offsets relative to the thread register.
-# undef __thread_self
-# define __thread_self ((void *) 0)
-# define thread_offsetof(mem) ((ptrdiff_t) THREAD_SELF + offsetof (struct pthread, mem))
-
-MULTIPLE_THREADS_OFFSET thread_offsetof (header.multiple_threads)
-TID_OFFSET thread_offsetof (tid)
-POINTER_GUARD (offsetof (tcbhead_t, pointer_guard) - TLS_TCB_OFFSET - sizeof (tcbhead_t))
diff --git a/sysdeps/nios2/nptl/tls.h b/sysdeps/nios2/nptl/tls.h
deleted file mode 100644
index 104e82ae43..0000000000
--- a/sysdeps/nios2/nptl/tls.h
+++ /dev/null
@@ -1,164 +0,0 @@
-/* Definition for thread-local data handling. NPTL/Nios II version.
- Copyright (C) 2012-2017 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.
-
- 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/>. */
-
-#ifndef _TLS_H
-#define _TLS_H 1
-
-#include <dl-sysdep.h>
-
-#ifndef __ASSEMBLER__
-# include <stdbool.h>
-# include <stddef.h>
-# include <stdint.h>
-# include <dl-dtv.h>
-
-#else /* __ASSEMBLER__ */
-# include <tcb-offsets.h>
-#endif /* __ASSEMBLER__ */
-
-
-#ifndef __ASSEMBLER__
-
-/* Get system call information. */
-# include <sysdep.h>
-
-/* The TP points to the start of the thread blocks. */
-# define TLS_DTV_AT_TP 1
-# define TLS_TCB_AT_TP 0
-
-/* Get the thread descriptor definition. */
-# include <nptl/descr.h>
-
-typedef struct
-{
- dtv_t *dtv;
- uintptr_t pointer_guard;
- unsigned spare[6];
-} tcbhead_t;
-
-register struct pthread *__thread_self __asm__("r23");
-
-#define READ_THREAD_POINTER() ((void *) __thread_self)
-
-/* This is the size of the initial TCB. Because our TCB is before the thread
- pointer, we don't need this. */
-# define TLS_INIT_TCB_SIZE 0
-
-/* Alignment requirements for the initial TCB. */
-# define TLS_INIT_TCB_ALIGN __alignof__ (struct pthread)
-
-/* This is the size of the TCB. Because our TCB is before the thread
- pointer, we don't need this. */
-# define TLS_TCB_SIZE 0
-
-/* Alignment requirements for the TCB. */
-# define TLS_TCB_ALIGN __alignof__ (struct pthread)
-
-/* This is the size we need before TCB - actually, it includes the TCB. */
-# define TLS_PRE_TCB_SIZE \
- (sizeof (struct pthread) \
- + ((sizeof (tcbhead_t) + TLS_TCB_ALIGN - 1) & ~(TLS_TCB_ALIGN - 1)))
-
-/* The thread pointer (in hardware register r23) points to the end of
- the TCB + 0x7000, as for PowerPC and MIPS. */
-# define TLS_TCB_OFFSET 0x7000
-
-/* Install the dtv pointer. The pointer passed is to the element with
- index -1 which contain the length. */
-# define INSTALL_DTV(tcbp, dtvp) \
- (((tcbhead_t *) (tcbp))[-1].dtv = (dtvp) + 1)
-
-/* Install new dtv for current thread. */
-# define INSTALL_NEW_DTV(dtv) \
- (THREAD_DTV() = (dtv))
-
-/* Return dtv of given thread descriptor. */
-# define GET_DTV(tcbp) \
- (((tcbhead_t *) (tcbp))[-1].dtv)
-
-/* Code to initially initialize the thread pointer. */
-# define TLS_INIT_TP(tcbp) \
- (__thread_self = (struct pthread *) ((char *) tcbp + TLS_TCB_OFFSET), NULL)
-
-/* Value passed to 'clone' for initialization of the thread register. */
-# define TLS_DEFINE_INIT_TP(tp, pd) \
- void *tp = (void *) (pd) + TLS_TCB_OFFSET + TLS_PRE_TCB_SIZE
-
-/* Return the address of the dtv for the current thread. */
-# define THREAD_DTV() \
- (((tcbhead_t *) (READ_THREAD_POINTER () - TLS_TCB_OFFSET))[-1].dtv)
-
-/* Return the thread descriptor for the current thread. */
-# define THREAD_SELF \
- ((struct pthread *) (READ_THREAD_POINTER () \
- - TLS_TCB_OFFSET - TLS_PRE_TCB_SIZE))
-
-/* Magic for libthread_db to know how to do THREAD_SELF. */
-# define DB_THREAD_SELF \
- REGISTER (32, 32, 23 * 4, -TLS_PRE_TCB_SIZE - TLS_TCB_OFFSET)
-
-/* Access to data in the thread descriptor is easy. */
-# define THREAD_GETMEM(descr, member) \
- descr->member
-# define THREAD_GETMEM_NC(descr, member, idx) \
- descr->member[idx]
-# define THREAD_SETMEM(descr, member, value) \
- descr->member = (value)
-# define THREAD_SETMEM_NC(descr, member, idx, value) \
- descr->member[idx] = (value)
-
-# define THREAD_GET_POINTER_GUARD() \
- (((tcbhead_t *) (READ_THREAD_POINTER () \
- - TLS_TCB_OFFSET))[-1].pointer_guard)
-# define THREAD_SET_POINTER_GUARD(value) \
- (THREAD_GET_POINTER_GUARD () = (value))
-# define THREAD_COPY_POINTER_GUARD(descr) \
- (((tcbhead_t *) ((void *) (descr) \
- + TLS_PRE_TCB_SIZE))[-1].pointer_guard \
- = THREAD_GET_POINTER_GUARD())
-
-/* l_tls_offset == 0 is perfectly valid on Nios II, so we have to use some
- different value to mean unset l_tls_offset. */
-# define NO_TLS_OFFSET -1
-
-/* Get and set the global scope generation counter in struct pthread. */
-#define THREAD_GSCOPE_FLAG_UNUSED 0
-#define THREAD_GSCOPE_FLAG_USED 1
-#define THREAD_GSCOPE_FLAG_WAIT 2
-#define THREAD_GSCOPE_RESET_FLAG() \
- do \
- { int __res \
- = atomic_exchange_rel (&THREAD_SELF->header.gscope_flag, \
- THREAD_GSCOPE_FLAG_UNUSED); \
- if (__res == THREAD_GSCOPE_FLAG_WAIT) \
- lll_futex_wake (&THREAD_SELF->header.gscope_flag, 1, LLL_PRIVATE); \
- } \
- while (0)
-#define THREAD_GSCOPE_SET_FLAG() \
- do \
- { \
- THREAD_SELF->header.gscope_flag = THREAD_GSCOPE_FLAG_USED; \
- atomic_write_barrier (); \
- } \
- while (0)
-#define THREAD_GSCOPE_WAIT() \
- GL(dl_wait_lookup_done) ()
-
-#endif /* __ASSEMBLER__ */
-
-#endif /* tls.h */
diff --git a/sysdeps/nios2/preconfigure b/sysdeps/nios2/preconfigure
deleted file mode 100644
index 4b5bd49084..0000000000
--- a/sysdeps/nios2/preconfigure
+++ /dev/null
@@ -1,6 +0,0 @@
-case "$machine" in
-nios2*)
- base_machine=nios2
- machine=nios2
- ;;
-esac
diff --git a/sysdeps/nios2/s_fma.c b/sysdeps/nios2/s_fma.c
deleted file mode 100644
index d9613fa67c..0000000000
--- a/sysdeps/nios2/s_fma.c
+++ /dev/null
@@ -1 +0,0 @@
-#include <soft-fp/fmadf4.c>
diff --git a/sysdeps/nios2/s_fmaf.c b/sysdeps/nios2/s_fmaf.c
deleted file mode 100644
index aa5c9b2d91..0000000000
--- a/sysdeps/nios2/s_fmaf.c
+++ /dev/null
@@ -1 +0,0 @@
-#include <soft-fp/fmasf4.c>
diff --git a/sysdeps/nios2/setjmp.S b/sysdeps/nios2/setjmp.S
deleted file mode 100644
index 77f7456ef4..0000000000
--- a/sysdeps/nios2/setjmp.S
+++ /dev/null
@@ -1,73 +0,0 @@
-/* setjmp for Nios II.
- Copyright (C) 1991-2017 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.
-
- 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/>. */
-
-#include <sysdep.h>
-#include <jmpbuf-offsets.h>
-
- .text
-ENTRY(setjmp)
- movi r5, 1
- br __sigsetjmp
-END(setjmp)
-
-ENTRY(_setjmp)
- mov r5, zero
- br __sigsetjmp
-END(_setjmp)
-libc_hidden_def (_setjmp)
-
-/* Save the current program position in ENV and return 0. */
-ENTRY(__sigsetjmp)
-#ifdef PTR_MANGLE
- PTR_MANGLE_GUARD (r9)
-#endif
- stw r16, (JB_R16*4)(r4)
- stw r17, (JB_R17*4)(r4)
- stw r18, (JB_R18*4)(r4)
- stw r19, (JB_R19*4)(r4)
- stw r20, (JB_R20*4)(r4)
- stw r21, (JB_R21*4)(r4)
- stw r22, (JB_R22*4)(r4)
- stw fp, (JB_FP*4)(r4)
-#ifdef PTR_MANGLE
- PTR_MANGLE (r6, ra, r9)
- PTR_MANGLE (r7, sp, r9)
- stw r6, (JB_RA*4)(r4)
- stw r7, (JB_SP*4)(r4)
-#else
- stw ra, (JB_RA*4)(r4)
- stw sp, (JB_SP*4)(r4)
-#endif
-#if IS_IN (rtld)
- /* In ld.so we never save the signal mask. */
- mov r2, zero
- ret
-#else
- /* Save the signal mask if requested. */
-#if defined(__PIC__) || defined(PIC)
- nextpc r2
-1: movhi r3, %hiadj(__sigjmp_save - 1b)
- addi r3, r3, %lo(__sigjmp_save - 1b)
- add r2, r2, r3
- jmp r2
-#else
- jmpi __sigjmp_save
-#endif
-#endif
-END (__sigsetjmp)
-libc_hidden_def (__sigsetjmp)
diff --git a/sysdeps/nios2/sfp-machine.h b/sysdeps/nios2/sfp-machine.h
deleted file mode 100644
index 95eefc1874..0000000000
--- a/sysdeps/nios2/sfp-machine.h
+++ /dev/null
@@ -1,51 +0,0 @@
-#define _FP_W_TYPE_SIZE 32
-#define _FP_W_TYPE unsigned long
-#define _FP_WS_TYPE signed long
-#define _FP_I_TYPE long
-
-#define _FP_MUL_MEAT_S(R,X,Y) \
- _FP_MUL_MEAT_1_wide(_FP_WFRACBITS_S,R,X,Y,umul_ppmm)
-#define _FP_MUL_MEAT_D(R,X,Y) \
- _FP_MUL_MEAT_2_wide(_FP_WFRACBITS_D,R,X,Y,umul_ppmm)
-#define _FP_MUL_MEAT_Q(R,X,Y) \
- _FP_MUL_MEAT_4_wide(_FP_WFRACBITS_Q,R,X,Y,umul_ppmm)
-
-#define _FP_MUL_MEAT_DW_S(R,X,Y) \
- _FP_MUL_MEAT_DW_1_wide(_FP_WFRACBITS_S,R,X,Y,umul_ppmm)
-#define _FP_MUL_MEAT_DW_D(R,X,Y) \
- _FP_MUL_MEAT_DW_2_wide(_FP_WFRACBITS_D,R,X,Y,umul_ppmm)
-#define _FP_MUL_MEAT_DW_Q(R,X,Y) \
- _FP_MUL_MEAT_DW_4_wide(_FP_WFRACBITS_Q,R,X,Y,umul_ppmm)
-
-#define _FP_DIV_MEAT_S(R,X,Y) _FP_DIV_MEAT_1_loop(S,R,X,Y)
-#define _FP_DIV_MEAT_D(R,X,Y) _FP_DIV_MEAT_2_udiv(D,R,X,Y)
-#define _FP_DIV_MEAT_Q(R,X,Y) _FP_DIV_MEAT_4_udiv(Q,R,X,Y)
-
-#define _FP_NANFRAC_S ((_FP_QNANBIT_S << 1) - 1)
-#define _FP_NANFRAC_D ((_FP_QNANBIT_D << 1) - 1), -1
-#define _FP_NANFRAC_Q ((_FP_QNANBIT_Q << 1) - 1), -1, -1, -1
-#define _FP_NANSIGN_S 0
-#define _FP_NANSIGN_D 0
-#define _FP_NANSIGN_Q 0
-
-#define _FP_KEEPNANFRACP 1
-#define _FP_QNANNEGATEDP 0
-
-/* This is arbitrarily taken from the PowerPC version. */
-#define _FP_CHOOSENAN(fs, wc, R, X, Y, OP) \
- do { \
- if ((_FP_FRAC_HIGH_RAW_##fs(X) & _FP_QNANBIT_##fs) \
- && !(_FP_FRAC_HIGH_RAW_##fs(Y) & _FP_QNANBIT_##fs)) \
- { \
- R##_s = Y##_s; \
- _FP_FRAC_COPY_##wc(R,Y); \
- } \
- else \
- { \
- R##_s = X##_s; \
- _FP_FRAC_COPY_##wc(R,X); \
- } \
- R##_c = FP_CLS_NAN; \
- } while (0)
-
-#define _FP_TININESS_AFTER_ROUNDING 0
diff --git a/sysdeps/nios2/sotruss-lib.c b/sysdeps/nios2/sotruss-lib.c
deleted file mode 100644
index 844e76f1ba..0000000000
--- a/sysdeps/nios2/sotruss-lib.c
+++ /dev/null
@@ -1,51 +0,0 @@
-/* Override generic sotruss-lib.c to define actual functions for Nios II.
- Copyright (C) 2015-2017 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.
-
- 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 HAVE_ARCH_PLTENTER
-#define HAVE_ARCH_PLTEXIT
-
-#include <elf/sotruss-lib.c>
-
-ElfW(Addr)
-la_nios2_gnu_pltenter (ElfW(Sym) *sym __attribute__ ((unused)),
- unsigned int ndx __attribute__ ((unused)),
- uintptr_t *refcook, uintptr_t *defcook,
- La_nios2_regs *regs, unsigned int *flags,
- const char *symname, long int *framesizep)
-{
- print_enter (refcook, defcook, symname,
- regs->lr_reg[0], regs->lr_reg[1], regs->lr_reg[2],
- *flags);
-
- /* No need to copy anything, we will not need the parameters in any case. */
- *framesizep = 0;
-
- return sym->st_value;
-}
-
-unsigned int
-la_nios2_gnu_pltexit (ElfW(Sym) *sym, unsigned int ndx, uintptr_t *refcook,
- uintptr_t *defcook,
- const struct La_nios2_regs *inregs,
- struct La_nios2_retval *outregs, const char *symname)
-{
- print_exit (refcook, defcook, symname, outregs->lrv_r2);
-
- return 0;
-}
diff --git a/sysdeps/nios2/stackguard-macros.h b/sysdeps/nios2/stackguard-macros.h
deleted file mode 100644
index 55a5771b62..0000000000
--- a/sysdeps/nios2/stackguard-macros.h
+++ /dev/null
@@ -1,6 +0,0 @@
-#include <stdint.h>
-
-extern uintptr_t __stack_chk_guard;
-#define STACK_CHK_GUARD __stack_chk_guard
-
-#define POINTER_CHK_GUARD THREAD_GET_POINTER_GUARD()
diff --git a/sysdeps/nios2/stackinfo.h b/sysdeps/nios2/stackinfo.h
deleted file mode 100644
index b4ca93f7f0..0000000000
--- a/sysdeps/nios2/stackinfo.h
+++ /dev/null
@@ -1,33 +0,0 @@
-/* Stack environment definitions for Nios II.
- Copyright (C) 2012-2017 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.
-
- 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/>. */
-
-/* This file contains a bit of information about the stack allocation
- of the processor. */
-
-#ifndef _STACKINFO_H
-#define _STACKINFO_H 1
-
-#include <elf.h>
-
-/* On Nios II the stack grows down. */
-#define _STACK_GROWS_DOWN 1
-
-/* Default to a non-executable stack. */
-#define DEFAULT_STACK_PERMS (PF_R|PF_W)
-
-#endif /* stackinfo.h */
diff --git a/sysdeps/nios2/start.S b/sysdeps/nios2/start.S
deleted file mode 100644
index d2eeead20f..0000000000
--- a/sysdeps/nios2/start.S
+++ /dev/null
@@ -1,146 +0,0 @@
-/* Startup code for Nios II
- Copyright (C) 1995-2017 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/>. */
-
-/* This is the canonical entry point, usually the first thing in the text
- segment.
-
- Note that the code in the .init section has already been run.
- This includes _init and _libc_init
-
- The stack pointer, sp, will point to the argument count on the stack.
- The initial state of the stack when a userspace process is started is:
-
- Purpose Start Address Length
- Unspecified High Addresses
- Referenced strings, etc. Varies
- Unspecified
- Null auxilliary vector entry 4bytes
- Auxilliary vector entries 8bytes each
- NULL terminator for envp 4bytes
- Environment pointers sp+8+4*argc 4bytes each
- NULL terminator for argv sp+4+4*argc 4bytes
- Argument pointers sp+4 4bytes each
- Argument count sp 4bytes
- Unspecified Low Addresses
-
- If the application should register a destructor function with atexit,
- the pointer will be placed in r4. Otherwise r4 will be zero.
-
- The contents of all other registers are unspecified. User code should
- set fp to zero to mark the end of the frame chain.
-
- The auxilliary vector is a series of pairs of 32-bit tag and 32-bit
- value, terminated by an AT_NULL tag.
-*/
-
- .text
- .globl _start
- .type _start,%function
-_start:
- /* Set up the global pointer. */
- movhi gp, %hiadj(_gp)
- addi gp, gp, %lo(_gp)
-
- /* Save the stack pointer. */
- mov r2, sp
-
- /* Create room on the stack for the fini, rtld_fini and stack_end args
- to __libc_start_main. */
- subi sp, sp, 12
-
- /* Push stack_end */
- stw r2, 8(sp)
-
- /* Push rtld_fini */
- stw r4, 4(sp)
-
- /* Set up the GOT pointer. */
- nextpc r22
-1: movhi r2, %hiadj(_gp_got - 1b)
- addi r2, r2, %lo(_gp_got - 1b)
- add r22, r22, r2
-
- /* Push fini */
- movhi r8, %call_hiadj(__libc_csu_fini)
- addi r8, r8, %call_lo(__libc_csu_fini)
- add r8, r8, r22
- ldw r8, 0(r8)
- stw r8, 0(sp)
-
- /* r7 == init */
- movhi r7, %call_hiadj(__libc_csu_init)
- addi r7, r7, %call_lo(__libc_csu_init)
- add r7, r7, r22
- ldw r7, 0(r7)
-
- /* r6 == argv */
- addi r6, sp, 16
-
- /* r5 == argc */
- ldw r5, 12(sp)
-
- /* r4 == main */
- movhi r4, %call_hiadj(main)
- addi r4, r4, %call_lo(main)
- add r4, r4, r22
- ldw r4, 0(r4)
-
- /* fp == 0 */
- mov fp, zero
-
- /* __libc_start_main (main, argc, argv, init, fini, rtld_fini,
- stack_end) */
-
- /* Let the libc call main and exit with its return code. */
- movhi r2, %call_hiadj(__libc_start_main)
- addi r2, r2, %call_lo(__libc_start_main)
- add r2, r2, r22
- ldw r2, 0(r2)
- callr r2
-
- /* should never get here....*/
- movhi r2, %call_hiadj(abort)
- addi r2, r2, %call_lo(abort)
- add r2, r2, r22
- ldw r2, 0(r2)
- callr r2
-
-/* 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/nios2/sysdep.h b/sysdeps/nios2/sysdep.h
deleted file mode 100644
index c99fefe029..0000000000
--- a/sysdeps/nios2/sysdep.h
+++ /dev/null
@@ -1,65 +0,0 @@
-/* Assembler macros for Nios II.
- Copyright (C) 2015-2017 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.
-
- 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/>. */
-
-#include <sysdeps/generic/sysdep.h>
-
-#ifdef __ASSEMBLER__
-
-/* Syntactic details of assembler. */
-
-#define ASM_SIZE_DIRECTIVE(name) .size name,.-name
-
-#define ENTRY(name) \
- .globl C_SYMBOL_NAME(name); \
- .type C_SYMBOL_NAME(name),%function; \
- C_LABEL(name) \
- cfi_startproc; \
- CALL_MCOUNT;
-
-#undef END
-#define END(name) \
- cfi_endproc; \
- ASM_SIZE_DIRECTIVE(name)
-
-#ifdef PROF
-
-# ifdef __PIC__
-# define CALL_MCOUNT \
- mov r8, ra; \
- nextpc r2; \
-1: \
- movhi r3, %hiadj(_gp_got - 1b); \
- addi r3, r3, %lo(_gp_got - 1b); \
- add r2, r2, r3; \
- ldw r2, %call(_mcount)(r2); \
- callr r2; \
- mov ra, r8; \
- ret;
-# else
-# define CALL_MCOUNT \
- mov r8, ra; \
- call _mount; \
- mov ra, r8; \
- ret;
-# endif
-
-#else
-# define CALL_MCOUNT /* Do nothing. */
-#endif
-
-#endif /* __ASSEMBLER__ */
diff --git a/sysdeps/nios2/tls-macros.h b/sysdeps/nios2/tls-macros.h
deleted file mode 100644
index 7029530e46..0000000000
--- a/sysdeps/nios2/tls-macros.h
+++ /dev/null
@@ -1,46 +0,0 @@
-#define TLS_LE(x) \
- ({ int *__result; \
- asm ("addi %0, r23, %%tls_le(" #x ")" \
- : "=r" (__result)); \
- __result; })
-
-#define TLS_IE(x) \
- ({ int *__result; \
- int __tmp; \
- asm ("nextpc %0 ; " \
- "1: movhi %1, %%hiadj(_gp_got - 1b) ; " \
- "addi %1, %1, %%lo(_gp_got - 1b) ; " \
- "add %0, %0, %1 ; " \
- "ldw %1, %%tls_ie(" #x ")(%0) ; " \
- "add %1, r23, %1" \
- : "=&r" (__tmp), "=&r" (__result)); \
- __result; })
-
-#define TLS_LD(x) \
- ({ char *__result; \
- char *__result2; \
- int *__result3; \
- int __tmp; \
- extern void *__tls_get_addr (void *); \
- asm ("nextpc %0 ; " \
- "1: movhi %1, %%hiadj(_gp_got - 1b) ; " \
- "addi %1, %1, %%lo(_gp_got - 1b) ; " \
- "add %0, %0, %1 ; " \
- "addi %0, %0, %%tls_ldm(" #x ")" \
- : "=r" (__result), "=r" (__tmp)); \
- __result2 = (char *)__tls_get_addr (__result); \
- asm ("addi %0, %1, %%tls_ldo(" #x ")" \
- : "=r" (__result3) : "r" (__result2)); \
- __result3; })
-
-#define TLS_GD(x) \
- ({ int *__result; \
- int __tmp; \
- extern void *__tls_get_addr (void *); \
- asm ("nextpc %0 ; " \
- "1: movhi %1, %%hiadj(_gp_got - 1b) ; " \
- "addi %1, %1, %%lo(_gp_got - 1b) ; " \
- "add %0, %0, %1 ; " \
- "addi %0, %0, %%tls_gd(" #x ")" \
- : "=r" (__result), "=r" (__tmp)); \
- (int *)__tls_get_addr (__result); })
diff --git a/sysdeps/nios2/tst-audit.h b/sysdeps/nios2/tst-audit.h
deleted file mode 100644
index 25348bb792..0000000000
--- a/sysdeps/nios2/tst-audit.h
+++ /dev/null
@@ -1,23 +0,0 @@
-/* Definitions for testing PLT entry/exit auditing. Nios II version.
- Copyright (C) 2009-2017 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.
-
- 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 pltenter la_nios2_gnu_pltenter
-#define pltexit la_nios2_gnu_pltexit
-#define La_regs La_nios2_regs
-#define La_retval La_nios2_retval
-#define int_retval lrv_r2