aboutsummaryrefslogtreecommitdiff
path: root/sysdeps/microblaze
diff options
context:
space:
mode:
authorZack Weinberg <zackw@panix.com>2017-06-08 15:39:03 -0400
committerZack Weinberg <zackw@panix.com>2017-06-08 15:39:03 -0400
commit5046dbb4a7eba5eccfd258f92f4735c9ffc8d069 (patch)
tree4470480d904b65cf14ca524f96f79eca818c3eaf /sysdeps/microblaze
parent199fc19d3aaaf57944ef036e15904febe877fc93 (diff)
downloadglibc-zack/build-layout-experiment.tar
glibc-zack/build-layout-experiment.tar.gz
glibc-zack/build-layout-experiment.tar.bz2
glibc-zack/build-layout-experiment.zip
Prepare for radical source tree reorganization.zack/build-layout-experiment
All top-level files and directories are moved into a temporary storage directory, REORG.TODO, except for files that will certainly still exist in their current form at top level when we're done (COPYING, COPYING.LIB, LICENSES, NEWS, README), all old ChangeLog files (which are moved to the new directory OldChangeLogs, instead), and the generated file INSTALL (which is just deleted; in the new order, there will be no generated files checked into version control).
Diffstat (limited to 'sysdeps/microblaze')
-rw-r--r--sysdeps/microblaze/Implies4
-rw-r--r--sysdeps/microblaze/Makefile11
-rw-r--r--sysdeps/microblaze/__longjmp.S55
-rw-r--r--sysdeps/microblaze/_mcount.S91
-rw-r--r--sysdeps/microblaze/abort-instr.h2
-rw-r--r--sysdeps/microblaze/asm-syntax.h24
-rw-r--r--sysdeps/microblaze/atomic-machine.h269
-rw-r--r--sysdeps/microblaze/backtrace.c142
-rw-r--r--sysdeps/microblaze/backtrace_linux.c59
-rw-r--r--sysdeps/microblaze/bits/endian.h30
-rw-r--r--sysdeps/microblaze/bits/fenv.h50
-rw-r--r--sysdeps/microblaze/bits/link.h57
-rw-r--r--sysdeps/microblaze/bits/setjmp.h37
-rw-r--r--sysdeps/microblaze/bsd-_setjmp.S22
-rw-r--r--sysdeps/microblaze/bsd-setjmp.S22
-rw-r--r--sysdeps/microblaze/crti.S88
-rw-r--r--sysdeps/microblaze/crtn.S51
-rw-r--r--sysdeps/microblaze/dl-machine.h299
-rw-r--r--sysdeps/microblaze/dl-tls.h26
-rw-r--r--sysdeps/microblaze/dl-trampoline.S109
-rw-r--r--sysdeps/microblaze/gccframe.h21
-rw-r--r--sysdeps/microblaze/jmpbuf-unwind.h46
-rw-r--r--sysdeps/microblaze/ldsodefs.h45
-rw-r--r--sysdeps/microblaze/libc-tls.c32
-rw-r--r--sysdeps/microblaze/libm-test-ulps333
-rw-r--r--sysdeps/microblaze/libm-test-ulps-name1
-rw-r--r--sysdeps/microblaze/machine-gmon.h30
-rw-r--r--sysdeps/microblaze/math_private.h39
-rw-r--r--sysdeps/microblaze/memusage.h21
-rw-r--r--sysdeps/microblaze/nptl/Makefile21
-rw-r--r--sysdeps/microblaze/nptl/bits/pthreadtypes-arch.h70
-rw-r--r--sysdeps/microblaze/nptl/bits/semaphore.h32
-rw-r--r--sysdeps/microblaze/nptl/pthreaddef.h35
-rw-r--r--sysdeps/microblaze/nptl/tcb-offsets.sym10
-rw-r--r--sysdeps/microblaze/nptl/tls.h143
-rw-r--r--sysdeps/microblaze/preconfigure3
-rw-r--r--sysdeps/microblaze/s_fma.c1
-rw-r--r--sysdeps/microblaze/s_fmaf.c1
-rw-r--r--sysdeps/microblaze/setjmp.S75
-rw-r--r--sysdeps/microblaze/sfp-machine.h1
-rw-r--r--sysdeps/microblaze/sotruss-lib.c52
-rw-r--r--sysdeps/microblaze/stackinfo.h34
-rw-r--r--sysdeps/microblaze/start.S84
-rw-r--r--sysdeps/microblaze/sysdep.h85
-rw-r--r--sysdeps/microblaze/tls-macros.h46
-rw-r--r--sysdeps/microblaze/tst-audit.h25
46 files changed, 0 insertions, 2734 deletions
diff --git a/sysdeps/microblaze/Implies b/sysdeps/microblaze/Implies
deleted file mode 100644
index 73c766c52e..0000000000
--- a/sysdeps/microblaze/Implies
+++ /dev/null
@@ -1,4 +0,0 @@
-wordsize-32
-# MicroBlaze uses IEEE 754 floating point.
-ieee754/flt-32
-ieee754/dbl-64
diff --git a/sysdeps/microblaze/Makefile b/sysdeps/microblaze/Makefile
deleted file mode 100644
index f7c95ae115..0000000000
--- a/sysdeps/microblaze/Makefile
+++ /dev/null
@@ -1,11 +0,0 @@
-ifeq ($(subdir),elf)
-CFLAGS-rtld.c += -Wno-uninitialized -Wno-unused
-endif
-
-ifeq ($(subdir),gmon)
-sysdep_routines += _mcount
-endif
-
-ifeq ($(subdir),resource)
-sysdep_routines += backtrace_linux
-endif
diff --git a/sysdeps/microblaze/__longjmp.S b/sysdeps/microblaze/__longjmp.S
deleted file mode 100644
index cefe6d35b0..0000000000
--- a/sysdeps/microblaze/__longjmp.S
+++ /dev/null
@@ -1,55 +0,0 @@
-/* Copyright (C) 1997-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>
-
-/* Jump to the position specified by ENV, causing the
- setjmp call there to return VAL, or 1 if VAL is 0. */
-
-/* void __longjmp (__jmp_buf env, int val) */
-
-ENTRY(__longjmp)
- lwi r1,r5,0
- lwi r2,r5,4
- lwi r13,r5,8
- lwi r14,r5,12
- lwi r15,r5,16
- lwi r16,r5,20
- lwi r17,r5,24
- lwi r18,r5,28
- lwi r19,r5,32
- lwi r20,r5,36
- lwi r21,r5,40
- lwi r22,r5,44
- lwi r23,r5,48
- lwi r24,r5,52
- lwi r25,r5,56
- lwi r26,r5,60
- lwi r27,r5,64
- lwi r28,r5,68
- lwi r29,r5,72
- lwi r30,r5,76
- lwi r31,r5,80
- addk r3,r6,r0
- beqi r3,L(return_1)
- rtsd r15,8
- nop
-L(return_1):
- rtsd r15,8
- addik r3,r0,1 /* delay slot. */
-END(__longjmp)
diff --git a/sysdeps/microblaze/_mcount.S b/sysdeps/microblaze/_mcount.S
deleted file mode 100644
index 502d966640..0000000000
--- a/sysdeps/microblaze/_mcount.S
+++ /dev/null
@@ -1,91 +0,0 @@
-/* Copyright (C) 1997-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/>. */
-
- .global _mcount
- .type _mcount, @function
-_mcount:
- # Save regs.
- addik r1, r1,-4 * 24
- swi r31, r1, 4 * 23
- swi r30, r1, 4 * 22
- swi r29, r1, 4 * 21
- swi r28, r1, 4 * 20
- swi r27, r1, 4 * 19
- swi r26, r1, 4 * 18
- swi r25, r1, 4 * 17
- swi r24, r1, 4 * 16
- swi r23, r1, 4 * 15
- swi r22, r1, 4 * 14
- swi r21, r1, 4 * 13
- swi r20, r1, 4 * 12
- swi r19, r1, 4 * 11
- swi r15, r1, 4 * 10
- swi r12, r1, 4 * 9
- swi r11, r1, 4 * 8
- swi r10, r1, 4 * 7
- swi r8, r1, 4 * 6
- swi r7, r1, 4 * 5
- swi r6, r1, 4 * 4
- swi r5, r1, 4 * 3
- swi r4, r1, 4 * 2
- swi r3, r1, 4 * 1
- swi r2, r1, 4 * 0
-
-#ifdef SHARED
- mfs r20,rpc
- addik r20,r20,_GLOBAL_OFFSET_TABLE_+8
- addk r6, r0, r15 # callee is in r15.
- brlid r15, __mcount_internal@PLT
- lwi r5, r1, 4 * 24 # caller is on the stack.
-#else
- # Pass from/to in r5 and r6.
- addk r6, r0, r15 # callee is in r15.
- bralid r15, __mcount_internal
- lwi r5, r1, 4 * 24 # caller is on the stack.
-#endif
-
- # Reload regs
- lwi r31, r1, 4 * 23
- lwi r30, r1, 4 * 22
- lwi r29, r1, 4 * 21
- lwi r28, r1, 4 * 20
- lwi r27, r1, 4 * 19
- lwi r26, r1, 4 * 18
- lwi r25, r1, 4 * 17
- lwi r24, r1, 4 * 16
- lwi r23, r1, 4 * 15
- lwi r22, r1, 4 * 14
- lwi r21, r1, 4 * 13
- lwi r20, r1, 4 * 12
- lwi r19, r1, 4 * 11
- lwi r15, r1, 4 * 10
- lwi r12, r1, 4 * 9
- lwi r11, r1, 4 * 8
- lwi r10, r1, 4 * 7
- lwi r8, r1, 4 * 6
- lwi r7, r1, 4 * 5
- lwi r6, r1, 4 * 4
- lwi r5, r1, 4 * 3
- lwi r4, r1, 4 * 2
- lwi r3, r1, 4 * 1
- lwi r2, r1, 4 * 0
-
- rtsd r15, 8
- addik r1, r1, 4 * 24
-
- .size _mcount, . - _mcount
diff --git a/sysdeps/microblaze/abort-instr.h b/sysdeps/microblaze/abort-instr.h
deleted file mode 100644
index 38469d490a..0000000000
--- a/sysdeps/microblaze/abort-instr.h
+++ /dev/null
@@ -1,2 +0,0 @@
-/* An instruction which should crash any program is `illegal'. */
-#define ABORT_INSTRUCTION asm ("brki r0, -1")
diff --git a/sysdeps/microblaze/asm-syntax.h b/sysdeps/microblaze/asm-syntax.h
deleted file mode 100644
index be54a0962f..0000000000
--- a/sysdeps/microblaze/asm-syntax.h
+++ /dev/null
@@ -1,24 +0,0 @@
-/* Copyright (C) 1997-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/>. */
-
-#undef ALIGN
-#define ALIGN(log) .align 1<<log
-
-#define R_(r) %##r
-#define R(r) R_(r)
-#define L(label) .##label
diff --git a/sysdeps/microblaze/atomic-machine.h b/sysdeps/microblaze/atomic-machine.h
deleted file mode 100644
index d73c69d46b..0000000000
--- a/sysdeps/microblaze/atomic-machine.h
+++ /dev/null
@@ -1,269 +0,0 @@
-/* Copyright (C) 2003-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 <stdint.h>
-#include <sysdep.h>
-
-
-typedef int8_t atomic8_t;
-typedef uint8_t uatomic8_t;
-typedef int_fast8_t atomic_fast8_t;
-typedef uint_fast8_t uatomic_fast8_t;
-
-typedef int32_t atomic32_t;
-typedef uint32_t uatomic32_t;
-typedef int_fast32_t atomic_fast32_t;
-typedef uint_fast32_t uatomic_fast32_t;
-
-typedef intptr_t atomicptr_t;
-typedef uintptr_t uatomicptr_t;
-typedef intmax_t atomic_max_t;
-typedef uintmax_t uatomic_max_t;
-
-#define __HAVE_64B_ATOMICS 0
-#define USE_ATOMIC_COMPILER_BUILTINS 0
-
-/* XXX Is this actually correct? */
-#define ATOMIC_EXCHANGE_USES_CAS 1
-
-
-/* Microblaze does not have byte and halfword forms of load and reserve and
- store conditional. So for microblaze we stub out the 8- and 16-bit forms. */
-#define __arch_compare_and_exchange_bool_8_acq(mem, newval, oldval) \
- (abort (), 0)
-
-#define __arch_compare_and_exchange_bool_16_acq(mem, newval, oldval) \
- (abort (), 0)
-
-#define __arch_compare_and_exchange_val_32_acq(mem, newval, oldval) \
- ({ \
- __typeof (*(mem)) __tmp; \
- __typeof (mem) __memp = (mem); \
- int test; \
- __asm __volatile ( \
- " addc r0, r0, r0;" \
- "1: lwx %0, %3, r0;" \
- " addic %1, r0, 0;" \
- " bnei %1, 1b;" \
- " cmp %1, %0, %4;" \
- " bnei %1, 2f;" \
- " swx %5, %3, r0;" \
- " addic %1, r0, 0;" \
- " bnei %1, 1b;" \
- "2:" \
- : "=&r" (__tmp), \
- "=&r" (test), \
- "=m" (*__memp) \
- : "r" (__memp), \
- "r" (oldval), \
- "r" (newval) \
- : "cc", "memory"); \
- __tmp; \
- })
-
-#define __arch_compare_and_exchange_val_64_acq(mem, newval, oldval) \
- (abort (), (__typeof (*mem)) 0)
-
-#define atomic_compare_and_exchange_val_acq(mem, newval, oldval) \
- ({ \
- __typeof (*(mem)) __result; \
- if (sizeof (*mem) == 4) \
- __result = __arch_compare_and_exchange_val_32_acq (mem, newval, oldval); \
- else if (sizeof (*mem) == 8) \
- __result = __arch_compare_and_exchange_val_64_acq (mem, newval, oldval); \
- else \
- abort (); \
- __result; \
- })
-
-#define atomic_compare_and_exchange_val_rel(mem, newval, oldval) \
- ({ \
- __typeof (*(mem)) __result; \
- if (sizeof (*mem) == 4) \
- __result = __arch_compare_and_exchange_val_32_acq (mem, newval, oldval); \
- else if (sizeof (*mem) == 8) \
- __result = __arch_compare_and_exchange_val_64_acq (mem, newval, oldval); \
- else \
- abort (); \
- __result; \
- })
-
-#define __arch_atomic_exchange_32_acq(mem, value) \
- ({ \
- __typeof (*(mem)) __tmp; \
- __typeof (mem) __memp = (mem); \
- int test; \
- __asm __volatile ( \
- " addc r0, r0, r0;" \
- "1: lwx %0, %4, r0;" \
- " addic %1, r0, 0;" \
- " bnei %1, 1b;" \
- " swx %3, %4, r0;" \
- " addic %1, r0, 0;" \
- " bnei %1, 1b;" \
- : "=&r" (__tmp), \
- "=&r" (test), \
- "=m" (*__memp) \
- : "r" (value), \
- "r" (__memp) \
- : "cc", "memory"); \
- __tmp; \
- })
-
-#define __arch_atomic_exchange_64_acq(mem, newval) \
- (abort (), (__typeof (*mem)) 0)
-
-#define atomic_exchange_acq(mem, value) \
- ({ \
- __typeof (*(mem)) __result; \
- if (sizeof (*mem) == 4) \
- __result = __arch_atomic_exchange_32_acq (mem, value); \
- else if (sizeof (*mem) == 8) \
- __result = __arch_atomic_exchange_64_acq (mem, value); \
- else \
- abort (); \
- __result; \
- })
-
-#define atomic_exchange_rel(mem, value) \
- ({ \
- __typeof (*(mem)) __result; \
- if (sizeof (*mem) == 4) \
- __result = __arch_atomic_exchange_32_acq (mem, value); \
- else if (sizeof (*mem) == 8) \
- __result = __arch_atomic_exchange_64_acq (mem, value); \
- else \
- abort (); \
- __result; \
- })
-
-#define __arch_atomic_exchange_and_add_32(mem, value) \
- ({ \
- __typeof (*(mem)) __tmp; \
- __typeof (mem) __memp = (mem); \
- int test; \
- __asm __volatile ( \
- " addc r0, r0, r0;" \
- "1: lwx %0, %4, r0;" \
- " addic %1, r0, 0;" \
- " bnei %1, 1b;" \
- " add %1, %3, %0;" \
- " swx %1, %4, r0;" \
- " addic %1, r0, 0;" \
- " bnei %1, 1b;" \
- : "=&r" (__tmp), \
- "=&r" (test), \
- "=m" (*__memp) \
- : "r" (value), \
- "r" (__memp) \
- : "cc", "memory"); \
- __tmp; \
- })
-
-#define __arch_atomic_exchange_and_add_64(mem, value) \
- (abort (), (__typeof (*mem)) 0)
-
-#define atomic_exchange_and_add(mem, value) \
- ({ \
- __typeof (*(mem)) __result; \
- if (sizeof (*mem) == 4) \
- __result = __arch_atomic_exchange_and_add_32 (mem, value); \
- else if (sizeof (*mem) == 8) \
- __result = __arch_atomic_exchange_and_add_64 (mem, value); \
- else \
- abort (); \
- __result; \
- })
-
-#define __arch_atomic_increment_val_32(mem) \
- ({ \
- __typeof (*(mem)) __val; \
- int test; \
- __asm __volatile ( \
- " addc r0, r0, r0;" \
- "1: lwx %0, %3, r0;" \
- " addic %1, r0, 0;" \
- " bnei %1, 1b;" \
- " addi %0, %0, 1;" \
- " swx %0, %3, r0;" \
- " addic %1, r0, 0;" \
- " bnei %1, 1b;" \
- : "=&r" (__val), \
- "=&r" (test), \
- "=m" (*mem) \
- : "r" (mem), \
- "m" (*mem) \
- : "cc", "memory"); \
- __val; \
- })
-
-#define __arch_atomic_increment_val_64(mem) \
- (abort (), (__typeof (*mem)) 0)
-
-#define atomic_increment_val(mem) \
- ({ \
- __typeof (*(mem)) __result; \
- if (sizeof (*(mem)) == 4) \
- __result = __arch_atomic_increment_val_32 (mem); \
- else if (sizeof (*(mem)) == 8) \
- __result = __arch_atomic_increment_val_64 (mem); \
- else \
- abort (); \
- __result; \
- })
-
-#define atomic_increment(mem) ({ atomic_increment_val (mem); (void) 0; })
-
-#define __arch_atomic_decrement_val_32(mem) \
- ({ \
- __typeof (*(mem)) __val; \
- int test; \
- __asm __volatile ( \
- " addc r0, r0, r0;" \
- "1: lwx %0, %3, r0;" \
- " addic %1, r0, 0;" \
- " bnei %1, 1b;" \
- " rsubi %0, %0, 1;" \
- " swx %0, %3, r0;" \
- " addic %1, r0, 0;" \
- " bnei %1, 1b;" \
- : "=&r" (__val), \
- "=&r" (test), \
- "=m" (*mem) \
- : "r" (mem), \
- "m" (*mem) \
- : "cc", "memory"); \
- __val; \
- })
-
-#define __arch_atomic_decrement_val_64(mem) \
- (abort (), (__typeof (*mem)) 0)
-
-#define atomic_decrement_val(mem) \
- ({ \
- __typeof (*(mem)) __result; \
- if (sizeof (*(mem)) == 4) \
- __result = __arch_atomic_decrement_val_32 (mem); \
- else if (sizeof (*(mem)) == 8) \
- __result = __arch_atomic_decrement_val_64 (mem); \
- else \
- abort (); \
- __result; \
- })
-
-#define atomic_decrement(mem) ({ atomic_decrement_val (mem); (void) 0; })
diff --git a/sysdeps/microblaze/backtrace.c b/sysdeps/microblaze/backtrace.c
deleted file mode 100644
index 7cc28ff146..0000000000
--- a/sysdeps/microblaze/backtrace.c
+++ /dev/null
@@ -1,142 +0,0 @@
-/* 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 <stdio.h>
-#include <string.h>
-#include <sysdep.h>
-#include <signal.h>
-#include <execinfo.h>
-
-extern int
-_identify_sighandler (unsigned long fp, unsigned long pc,
- unsigned long *pprev_fp, unsigned long *pprev_pc,
- unsigned long *retaddr);
-
-static inline long
-get_frame_size (unsigned long instr)
-{
- return abs ((short signed) (instr & 0xFFFF));
-}
-
-static unsigned long *
-find_frame_creation (unsigned long *pc)
-{
- int i;
-
- /* NOTE: Distance to search is arbitrary.
- 250 works well for most things,
- 750 picks up things like tcp_recvmsg,
- 1000 needed for fat_fill_super. */
- for (i = 0; i < 1000; i++, pc--)
- {
- unsigned long instr;
- unsigned long frame_size;
-
- instr = *pc;
-
- /* Is the instruction of the form
- addik r1, r1, foo ? */
- if ((instr & 0xFFFF0000) != 0x30210000)
- continue;
-
- frame_size = get_frame_size (instr);
-
- if ((frame_size < 8) || (frame_size & 3))
- return NULL;
-
- return pc;
- }
- return NULL;
-}
-
-static int
-lookup_prev_stack_frame (unsigned long fp, unsigned long pc,
- unsigned long *pprev_fp, unsigned long *pprev_pc,
- unsigned long *retaddr)
-{
- unsigned long *prologue = NULL;
-
- int is_signalhandler = _identify_sighandler (fp, pc, pprev_fp,
- pprev_pc, retaddr);
-
- if (!is_signalhandler)
- {
- prologue = find_frame_creation ((unsigned long *) pc);
-
- if (prologue)
- {
- long frame_size = get_frame_size (*prologue);
- *pprev_fp = fp + frame_size;
- if (*retaddr != 0)
- *pprev_pc = *retaddr;
- else
- *pprev_pc = *(unsigned long *) fp;
-
- *retaddr = 0;
- if (!*pprev_pc || (*pprev_pc & 3))
- prologue=0;
- }
- else
- {
- *pprev_pc = 0;
- *pprev_fp = fp;
- *retaddr = 0;
- }
- }
- return (!*pprev_pc || (*pprev_pc & 3)) ? -1 : 0;
-}
-
-int
-__backtrace (void **array, int size)
-{
- unsigned long pc, fp;
- unsigned long ppc, pfp;
- /* Return address(r15) is required in the signal handler case, since the
- return address of the function which causes the signal may not be
- recorded in the stack. */
- unsigned long retaddr;
-
- int count;
- int rc = 0;
-
- if (size <= 0)
- return 0;
-
- __asm__ __volatile__ ("mfs %0, rpc"
- : "=r"(pc));
-
- __asm__ __volatile__ ("add %0, r1, r0"
- : "=r"(fp));
-
- array[0] = (void *) pc;
- retaddr = 0;
- for (count = 1; count < size; count++)
- {
- rc = lookup_prev_stack_frame (fp, pc, &pfp, &ppc, &retaddr);
-
- fp = pfp;
- pc = ppc;
- array[count] = (void *) pc;
- if (rc)
- return count;
- }
- return count;
-}
-
-weak_alias (__backtrace, backtrace)
-libc_hidden_def (__backtrace)
diff --git a/sysdeps/microblaze/backtrace_linux.c b/sysdeps/microblaze/backtrace_linux.c
deleted file mode 100644
index 2fe3c5cb30..0000000000
--- a/sysdeps/microblaze/backtrace_linux.c
+++ /dev/null
@@ -1,59 +0,0 @@
-/* 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 <stddef.h>
-#include <asm/sigcontext.h>
-#include <linux/signal.h>
-#include <asm-generic/ucontext.h>
-#include <asm/unistd.h>
-
-int
-_identify_sighandler (unsigned long fp, unsigned long pc,
- unsigned long *pprev_fp, unsigned long *pprev_pc,
- unsigned long *retaddr)
-{
- unsigned long *tramp = 0;
- struct ucontext *uc;
-
- if (*retaddr == 0)
- {
- /* Kernel inserts the tramp between the signal handler frame and the
- caller frame in signal handling. */
- tramp = (unsigned long *) pc;
- tramp += 2;
- if ((*tramp == (0x31800000 | __NR_rt_sigreturn))
- && (*(tramp+1) == 0xb9cc0008))
- {
- /* Signal handler function argument are:
- int sig_num, siginfo_t * info, void * ucontext
- therefore ucontext is the 3rd argument. */
- unsigned long ucptr = ((unsigned long) tramp
- - sizeof (struct ucontext));
- uc = (struct ucontext *) ucptr;
- *pprev_pc = uc->uc_mcontext.regs.pc;
- /* Need to record the return address since the return address of the
- function which causes this signal may not be recorded in the
- stack. */
- *pprev_fp = uc->uc_mcontext.regs.r1;
- *retaddr = uc->uc_mcontext.regs.r15;
- /* It is a signal handler. */
- return 1;
- }
- }
- return 0;
-}
diff --git a/sysdeps/microblaze/bits/endian.h b/sysdeps/microblaze/bits/endian.h
deleted file mode 100644
index fff19505b6..0000000000
--- a/sysdeps/microblaze/bits/endian.h
+++ /dev/null
@@ -1,30 +0,0 @@
-/* Copyright (C) 1997-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 _ENDIAN_H
-# error "Never use <bits/endian.h> directly; include <endian.h> instead."
-#endif
-
-/* MicroBlaze can be either big or little endian. */
-#ifdef _BIG_ENDIAN
-# define __BYTE_ORDER __BIG_ENDIAN
-# define __FLOAT_WORD_ORDER __BIG_ENDIAN
-#else
-# define __BYTE_ORDER __LITTLE_ENDIAN
-# define __FLOAT_WORD_ORDER __LITTLE_ENDIAN
-#endif
diff --git a/sysdeps/microblaze/bits/fenv.h b/sysdeps/microblaze/bits/fenv.h
deleted file mode 100644
index 7ee3251c1b..0000000000
--- a/sysdeps/microblaze/bits/fenv.h
+++ /dev/null
@@ -1,50 +0,0 @@
-/* Copyright (C) 2011-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
-
-/* MicroBlaze supports only round-to-nearest. The software
- floating-point support also acts this way. */
-enum
- {
- __FE_UNDEFINED = 0,
-
- FE_TONEAREST =
-#define FE_TONEAREST 0x1
- FE_TONEAREST,
- };
-
-#define FE_ALL_EXCEPT 0
-
-/* Type representing exception flags (if there were any). */
-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 *) -1l)
-
-#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/microblaze/bits/link.h b/sysdeps/microblaze/bits/link.h
deleted file mode 100644
index 2e1f06b6b3..0000000000
--- a/sysdeps/microblaze/bits/link.h
+++ /dev/null
@@ -1,57 +0,0 @@
-/* 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/>. */
-
-#ifndef _LINK_H
-# error "Never include <bits/link.h> directly; use <link.h> instead."
-#endif
-
-/* Registers for entry into PLT on Microblaze. */
-typedef struct La_microblaze_regs
-{
- uint32_t lr_r0;
- uint32_t lr_r1;
- uint32_t lr_sp;
-} La_microblaze_regs;
-
-/* Return values for calls from PLT on Microblaze. */
-typedef struct La_microblaze_retval
-{
- uint32_t lrv_r3;
-} La_microblaze_retval;
-
-
-__BEGIN_DECLS
-
-extern Elf32_Addr la_microblaze_gnu_pltenter (Elf32_Sym *__sym,
- unsigned int __ndx,
- uintptr_t *__refcook,
- uintptr_t *__defcook,
- La_microblaze_regs *__regs,
- unsigned int *__flags,
- const char *__symname,
- long int *__framesizep);
-
-extern unsigned int la_microblaze_gnu_pltexit (Elf32_Sym *__sym,
- unsigned int __ndx,
- uintptr_t *__refcook,
- uintptr_t *__defcook,
- const La_microblaze_regs *__inregs,
- La_microblaze_retval *__outregs,
- const char *__symname);
-
-__END_DECLS
diff --git a/sysdeps/microblaze/bits/setjmp.h b/sysdeps/microblaze/bits/setjmp.h
deleted file mode 100644
index fd175dac2b..0000000000
--- a/sysdeps/microblaze/bits/setjmp.h
+++ /dev/null
@@ -1,37 +0,0 @@
-/* Copyright (C) 1997-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 the machine-dependent type `jmp_buf'. */
-
-#ifndef _BITS_SETJMP_H
-# define _BITS_SETJMP_H 1
-
-#if !defined _SETJMP_H && !defined _PTHREAD_H
-# error "Never include <bits/setjmp.h> directly; use <setjmp.h> instead."
-#endif
-
-typedef struct __jmp_buf_internal_tag
- {
- /* There are 21 4-byte registers that should be saved:
- r1, r2, r13-r31. Actually, there seems no need to save
- r14, r16, r17, r18 (return addresses for interrupt/exception/trap). */
- int *__sp; /* dedicated name for r1. */
- long int __gregs[20];
- } __jmp_buf[1];
-
-#endif
diff --git a/sysdeps/microblaze/bsd-_setjmp.S b/sysdeps/microblaze/bsd-_setjmp.S
deleted file mode 100644
index 75dff29bfe..0000000000
--- a/sysdeps/microblaze/bsd-_setjmp.S
+++ /dev/null
@@ -1,22 +0,0 @@
-/* BSD `_setjmp' entry point to `sigsetjmp (..., 0)'.
- Copyright (C) 1997-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 setjmp_name _setjmp
-#define SAVEMASK 0
-
-#include <setjmp.S>
diff --git a/sysdeps/microblaze/bsd-setjmp.S b/sysdeps/microblaze/bsd-setjmp.S
deleted file mode 100644
index 66456749cd..0000000000
--- a/sysdeps/microblaze/bsd-setjmp.S
+++ /dev/null
@@ -1,22 +0,0 @@
-/* BSD `setjmp' entry point to `sigsetjmp (..., 1)'.
- 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/>. */
-
-#define setjmp_name setjmp
-#define SAVEMASK 1
-
-#include <setjmp.S>
diff --git a/sysdeps/microblaze/crti.S b/sysdeps/microblaze/crti.S
deleted file mode 100644
index 2affed2aed..0000000000
--- a/sysdeps/microblaze/crti.S
+++ /dev/null
@@ -1,88 +0,0 @@
-/* Special .init and .fini section support for MicroBlaze.
- 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>
-#include <sysdep.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
- .globl _init
- .type _init, @function
-_init:
- addik r1,r1,-32
- swi r20,r1,28
- mfs r20,rpc
- addik r20,r20,_GLOBAL_OFFSET_TABLE_+8
- lwi r3,r20,PREINIT_FUNCTION@GOT
-#if PREINIT_FUNCTION_WEAK
- beqid r3,$Lno_weak_fn:
- swi r15,r1,0
- brlid r15,PREINIT_FUNCTION@PLT
-$Lno_weak_fn:
-#else
- swi r15,r1,0
- brald r15,r3
-#endif
- nop # Unfilled delay slot
-
- .section .fini,"ax",@progbits
- .align 2
- .globl _fini
- .type _fini, @function
-_fini:
- addik r1,r1,-32
- swi r20,r1,28
- swi r15,r1,0
- mfs r20,rpc
- addik r20,r20,_GLOBAL_OFFSET_TABLE_+8
diff --git a/sysdeps/microblaze/crtn.S b/sysdeps/microblaze/crtn.S
deleted file mode 100644
index 4f2766a32f..0000000000
--- a/sysdeps/microblaze/crtn.S
+++ /dev/null
@@ -1,51 +0,0 @@
-/* Special .init and .fini section support for MicroBlaze.
- 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/>. */
-
-/* crtn.S puts function epilogues in the .init and .fini sections
- corresponding to the prologues in crti.S. */
-
-#include <sysdep.h>
-
- .section .init,"ax",@progbits
- lwi r15,r1,0
- lwi r20,r1,28
- rtsd r15,8
- addik r1,r1,32
-
- .section .fini,"ax",@progbits
- lwi r15,r1,0
- lwi r20,r1,28
- rtsd r15,8
- addik r1,r1,32
diff --git a/sysdeps/microblaze/dl-machine.h b/sysdeps/microblaze/dl-machine.h
deleted file mode 100644
index cc80b30868..0000000000
--- a/sysdeps/microblaze/dl-machine.h
+++ /dev/null
@@ -1,299 +0,0 @@
-/* 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 "microblaze"
-
-#include <sys/param.h>
-#include <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_MICROBLAZE);
-}
-
-/* Return the link-time address of _DYNAMIC. Conveniently, this is the
- first element of the GOT. This must be inlined in a function which
- uses global data. */
-static inline Elf32_Addr
-elf_machine_dynamic (void)
-{
- /* This produces a GOTOFF reloc that resolves to zero at link time, so in
- fact just loads from the GOT register directly. By doing it without
- an asm we can let the compiler choose any register. */
-
- Elf32_Addr got_entry_0;
- __asm__ __volatile__(
- "lwi %0,r20,0"
- :"=r"(got_entry_0)
- );
- return got_entry_0;
-}
-
-/* Return the run-time load address of the shared object. */
-static inline Elf32_Addr
-elf_machine_load_address (void)
-{
- /* Compute the difference between the runtime address of _DYNAMIC as seen
- by a GOTOFF reference, and the link-time address found in the special
- unrelocated first GOT entry. */
-
- Elf32_Addr dyn;
- __asm__ __volatile__ (
- "addik %0,r20,_DYNAMIC@GOTOFF"
- : "=r"(dyn)
- );
- return dyn - elf_machine_dynamic ();
-}
-
-/* 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);
- extern void _dl_runtime_profile (Elf32_Word);
-
- return lazy;
-}
-
-/* The PLT uses Elf32_Rela relocs. */
-#define elf_machine_relplt elf_machine_rela
-
-/* Mask identifying addresses reserved for the user program,
- where the dynamic linker should not map anything. */
-#define ELF_MACHINE_USER_ADDRESS_MASK 0x80000000UL
-
-/* 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\
- addk r5,r0,r1\n\
- addk r3,r0,r0\n\
-1:\n\
- addik r5,r5,4\n\
- lw r4,r5,r0\n\
- bneid r4,1b\n\
- addik r3,r3,1\n\
- addik r3,r3,-1\n\
- addk r5,r0,r1\n\
- sw r3,r5,r0\n\
- addik r1,r1,-24\n\
- sw r15,r1,r0\n\
- brlid r15,_dl_start\n\
- nop\n\
- /* FALLTHRU. */\n\
-\n\
- .globl _dl_start_user\n\
- .type _dl_start_user,@function\n\
-_dl_start_user:\n\
- mfs r20,rpc\n\
- addik r20,r20,_GLOBAL_OFFSET_TABLE_+8\n\
- lwi r4,r20,_dl_skip_args@GOTOFF\n\
- lwi r5,r1,24\n\
- rsubk r5,r4,r5\n\
- addk r4,r4,r4\n\
- addk r4,r4,r4\n\
- addk r1,r1,r4\n\
- swi r5,r1,24\n\
- swi r3,r1,20\n\
- addk r6,r5,r0\n\
- addk r5,r5,r5\n\
- addk r5,r5,r5\n\
- addik r7,r1,28\n\
- addk r8,r7,r5\n\
- addik r8,r8,4\n\
- lwi r5,r20,_rtld_local@GOTOFF\n\
- brlid r15,_dl_init\n\
- nop\n\
- lwi r5,r1,24\n\
- lwi r3,r1,20\n\
- addk r4,r5,r5\n\
- addk r4,r4,r4\n\
- addik r6,r1,28\n\
- addk r7,r6,r4\n\
- addik r7,r7,4\n\
- addik r15,r20,_dl_fini@GOTOFF\n\
- addik r15,r15,-8\n\
- brad r3\n\
- addik r1,r1,24\n\
- nop\n\
- .size _dl_start_user, . - _dl_start_user\n\
- .previous");
-
-/* ELF_RTYPE_CLASS_PLT iff TYPE describes relocation of a PLT entry or
- TLS variable, so undefined references 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. */
-#ifndef RTLD_BOOTSTRAP
-# define elf_machine_type_class(type) \
- (((type) == R_MICROBLAZE_JUMP_SLOT || \
- (type) == R_MICROBLAZE_TLSDTPREL32 || \
- (type) == R_MICROBLAZE_TLSDTPMOD32 || \
- (type) == R_MICROBLAZE_TLSTPREL32) \
- * ELF_RTYPE_CLASS_PLT \
- | ((type) == R_MICROBLAZE_COPY) * ELF_RTYPE_CLASS_COPY)
-#else
-# define elf_machine_type_class(type) \
- (((type) == R_MICROBLAZE_JUMP_SLOT) * ELF_RTYPE_CLASS_PLT \
- | ((type) == R_MICROBLAZE_COPY) * ELF_RTYPE_CLASS_COPY)
-#endif
-
-/* A reloc type used for ld.so cmdline arg lookups to reject PLT entries. */
-#define ELF_MACHINE_JMP_SLOT R_MICROBLAZE_JUMP_SLOT
-
-/* The microblaze never uses Elf32_Rel relocations. */
-#define ELF_MACHINE_NO_REL 1
-#define ELF_MACHINE_NO_RELA 0
-
-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. Ignore the addend. */
-static inline Elf32_Addr
-elf_machine_plt_value (struct link_map *map, const Elf32_Rela *reloc,
- Elf32_Addr value)
-{
- return value;
-}
-
-#endif /* !dl_machine_h. */
-
-/* Names of the architecture-specific auditing callback functions. */
-#define ARCH_LA_PLTENTER microblaze_gnu_pltenter
-#define ARCH_LA_PLTEXIT microblaze_gnu_pltexit
-
-#ifdef RESOLVE_MAP
-
-/* Perform the relocation specified by RELOC and SYM (which is fully resolved).
- MAP is the object containing the reloc. */
-
-/* Macro to put 32-bit relocation value into 2 words. */
-#define PUT_REL_64(rel_addr,val) \
- do { \
- ((unsigned short *)(rel_addr))[1] = (val) >> 16; \
- ((unsigned short *)(rel_addr))[3] = (val) & 0xffff; \
- } while (0)
-
-auto inline void __attribute__ ((always_inline))
-elf_machine_rela (struct link_map *map, const Elf32_Rela *reloc,
- const Elf32_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 int r_type = ELF32_R_TYPE (reloc->r_info);
-
- if (__builtin_expect (r_type == R_MICROBLAZE_64_PCREL, 0))
- PUT_REL_64 (reloc_addr, map->l_addr + reloc->r_addend);
- else if (r_type == R_MICROBLAZE_REL)
- *reloc_addr = map->l_addr + reloc->r_addend;
- 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;
-
- value += reloc->r_addend;
- if (r_type == R_MICROBLAZE_GLOB_DAT ||
- r_type == R_MICROBLAZE_JUMP_SLOT ||
- r_type == R_MICROBLAZE_32)
- {
- *reloc_addr = value;
- }
- else if (r_type == R_MICROBLAZE_COPY)
- {
- if (sym != NULL && (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, strtab + refsym->st_name);
- }
- memcpy (reloc_addr_arg, (void *) value,
- MIN (sym->st_size, refsym->st_size));
- }
- else if (r_type == R_MICROBLAZE_NONE)
- {
- }
-#if !defined RTLD_BOOTSTRAP
- else if (r_type == R_MICROBLAZE_TLSDTPMOD32)
- {
- if (sym_map != NULL)
- *reloc_addr = sym_map->l_tls_modid;
- }
- else if (r_type == R_MICROBLAZE_TLSDTPREL32)
- {
- if (sym != NULL)
- *reloc_addr = sym->st_value + reloc->r_addend;
- }
- else if (r_type == R_MICROBLAZE_TLSTPREL32)
- {
- if (sym != NULL)
- {
- CHECK_STATIC_TLS (map, sym_map);
- *reloc_addr = sym->st_value + sym_map->l_tls_offset + reloc->r_addend;
- }
- }
-#endif
- else
- {
- _dl_reloc_bad_type (map, r_type, 0);
- }
- }
-}
-
-auto inline void
-elf_machine_rela_relative (Elf32_Addr l_addr, const Elf32_Rela *reloc,
- void *const reloc_addr_arg)
-{
- Elf32_Addr *const reloc_addr = reloc_addr_arg;
- PUT_REL_64 (reloc_addr, l_addr + reloc->r_addend);
-}
-
-auto inline void
-elf_machine_lazy_rel (struct link_map *map,
- Elf32_Addr l_addr, const Elf32_Rela *reloc,
- int skip_ifunc)
-{
- Elf32_Addr *const reloc_addr = (void *) (l_addr + reloc->r_offset);
- if (ELF32_R_TYPE (reloc->r_info) == R_MICROBLAZE_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/microblaze/dl-tls.h b/sysdeps/microblaze/dl-tls.h
deleted file mode 100644
index 1ffe0abac2..0000000000
--- a/sysdeps/microblaze/dl-tls.h
+++ /dev/null
@@ -1,26 +0,0 @@
-/* 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/>. */
-
-/* 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;
-
-extern void *__tls_get_addr (tls_index *ti);
diff --git a/sysdeps/microblaze/dl-trampoline.S b/sysdeps/microblaze/dl-trampoline.S
deleted file mode 100644
index de3b4b79d3..0000000000
--- a/sysdeps/microblaze/dl-trampoline.S
+++ /dev/null
@@ -1,109 +0,0 @@
-/* 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>
-
-#ifndef PROF
-
- .text
- .globl _dl_runtime_resolve
- .type _dl_runtime_resolve, @function
- .align 4
-_dl_runtime_resolve:
- addik r1,r1,-40
- swi r5,r1,12
- swi r6,r1,16
- swi r7,r1,20
- swi r8,r1,24
- swi r9,r1,28
- swi r10,r1,32
- swi r15,r1,0
- addk r5,r0,r4
- brlid r15, _dl_fixup
- addk r6,r0,r3; /* delay slot. */
- lwi r10,r1,32
- lwi r9,r1,28
- lwi r8,r1,24
- lwi r7,r1,20
- lwi r6,r1,16
- lwi r5,r1,12
- lwi r15,r1,0
- brad r3
- addik r1,r1,40; /* delay slot. */
- .size _dl_runtime_resolve, . - _dl_runtime_resolve
-
- .text
- .globl _dl_runtime_profile
- .type _dl_runtime_profile, @function
- .align 4
-_dl_runtime_profile:
- addik r1,r1,-40
- swi r5,r1,12
- swi r6,r1,16
- swi r7,r1,20
- swi r8,r1,24
- swi r9,r1,28
- swi r10,r1,32
- swi r15,r1,0
- addk r5,r0,r4
- brlid r15, _dl_profile_fixup
- addk r6,r0,r3; /* delay slot. */
- lwi r10,r1,32
- lwi r9,r1,28
- lwi r8,r1,24
- lwi r7,r1,20
- lwi r6,r1,16
- lwi r5,r1,12
- lwi r15,r1,0
- brad r3
- addik r1,r1,40; /* delay slot. */
- .size _dl_runtime_profile, . - _dl_runtime_profile
-
-#else
-
- .text
- .globl _dl_runtime_resolve
- .type _dl_runtime_resolve, @function
- .align 4
-_dl_runtime_resolve:
- addik r1,r1,-40
- swi r5,r1,12
- swi r6,r1,16
- swi r7,r1,20
- swi r8,r1,24
- swi r9,r1,28
- swi r10,r1,32
- swi r15,r1,0
- addk r5,r0,r4
- brlid r15, fixup
- addk r6,r0,r3; /* delay slot. */
- lwi r10,r1,32
- lwi r9,r1,28
- lwi r8,r1,24
- lwi r7,r1,20
- lwi r6,r1,16
- lwi r5,r1,12
- lwi r15,r1,0
- brad r3
- addik r1,r1,40; /* delay slot. */
- .size _dl_runtime_resolve, . - _dl_runtime_resolve
- .globl _dl_runtime_profile
- .set _dl_runtime_profile, _dl_runtime_resolve
-
-#endif
diff --git a/sysdeps/microblaze/gccframe.h b/sysdeps/microblaze/gccframe.h
deleted file mode 100644
index 35fd1cda56..0000000000
--- a/sysdeps/microblaze/gccframe.h
+++ /dev/null
@@ -1,21 +0,0 @@
-/* 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/>. */
-
-#define FIRST_PSEUDO_REGISTER 78
-
-#include <sysdeps/generic/gccframe.h>
diff --git a/sysdeps/microblaze/jmpbuf-unwind.h b/sysdeps/microblaze/jmpbuf-unwind.h
deleted file mode 100644
index 06dd83adce..0000000000
--- a/sysdeps/microblaze/jmpbuf-unwind.h
+++ /dev/null
@@ -1,46 +0,0 @@
-/* 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 <stdint.h>
-#include <unwind.h>
-#include <sysdep.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)[0].__sp))
-
-#define _JMPBUF_CFA_UNWINDS_ADJ(_jmpbuf, _context, _adj) \
- _JMPBUF_UNWINDS_ADJ (_jmpbuf, (void *) _Unwind_GetCFA (_context), _adj)
-
-static inline uintptr_t __attribute__ ((unused))
-_jmpbuf_sp (__jmp_buf regs)
-{
- void *sp = (void *) regs[0].__sp;
-#ifdef PTR_DEMANGLE
- PTR_DEMANGLE (sp);
-#endif
- return (uintptr_t) sp;
-}
-
-#define _JMPBUF_UNWINDS_ADJ(_jmpbuf, _address, _adj) \
- ((uintptr_t) (_address) - (_adj) < _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/microblaze/ldsodefs.h b/sysdeps/microblaze/ldsodefs.h
deleted file mode 100644
index 6e01c197d0..0000000000
--- a/sysdeps/microblaze/ldsodefs.h
+++ /dev/null
@@ -1,45 +0,0 @@
-/* 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/>. */
-
-#ifndef _MICROBLAZE_LDSODEFS_H
-#define _MICROBLAZE_LDSODEFS_H 1
-
-#include <elf.h>
-
-struct La_microblaze_regs;
-struct La_microblaze_retval;
-
-#define ARCH_PLTENTER_MEMBERS \
- Elf32_Addr (*microblaze_gnu_pltenter) (Elf32_Sym *, unsigned int, \
- uintptr_t *, \
- uintptr_t *, \
- struct La_microblaze_regs *, \
- unsigned int *, const char *name, \
- long int *framesizep);
-
-#define ARCH_PLTEXIT_MEMBERS \
- unsigned int (*microblaze_gnu_pltexit) (Elf32_Sym *, unsigned int, \
- uintptr_t *, \
- uintptr_t *, \
- const struct La_microblaze_regs *, \
- struct La_microblaze_retval *, \
- const char *);
-
-#include_next <ldsodefs.h>
-
-#endif
diff --git a/sysdeps/microblaze/libc-tls.c b/sysdeps/microblaze/libc-tls.c
deleted file mode 100644
index a43d6692e2..0000000000
--- a/sysdeps/microblaze/libc-tls.c
+++ /dev/null
@@ -1,32 +0,0 @@
-/* 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 Microblaze, 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 + ti->ti_offset;
-}
diff --git a/sysdeps/microblaze/libm-test-ulps b/sysdeps/microblaze/libm-test-ulps
deleted file mode 100644
index 0806905370..0000000000
--- a/sysdeps/microblaze/libm-test-ulps
+++ /dev/null
@@ -1,333 +0,0 @@
-# Begin of automatic generation
-
-# Maximal error of functions:
-Function: "acosh":
-double: 1
-idouble: 1
-
-Function: "asinh":
-double: 1
-float: 1
-ifloat: 1
-
-Function: "atan2":
-float: 1
-ifloat: 1
-
-Function: "atanh":
-float: 1
-ifloat: 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: 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: 1
-float: 1
-idouble: 1
-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: 1
-float: 1
-idouble: 1
-ifloat: 1
-
-Function: Imaginary part of "clog":
-float: 1
-ifloat: 1
-
-Function: Real part of "clog10":
-double: 2
-float: 2
-idouble: 2
-ifloat: 2
-
-Function: Imaginary part of "clog10":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-
-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: 1
-float: 1
-idouble: 1
-ifloat: 1
-
-Function: Imaginary part of "csqrt":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-
-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
-idouble: 1
-
-Function: "erfc":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-
-Function: "exp10":
-double: 1
-idouble: 1
-
-Function: "expm1":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-
-Function: "gamma":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-
-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: 1
-float: 1
-idouble: 1
-ifloat: 1
-
-Function: "log":
-float: 1
-ifloat: 1
-
-Function: "log10":
-double: 1
-float: 2
-idouble: 1
-ifloat: 2
-
-Function: "log1p":
-float: 1
-ifloat: 1
-
-Function: "pow":
-float: 1
-ifloat: 1
-
-Function: "pow10":
-double: 1
-idouble: 1
-
-Function: "sin":
-float: 1
-ifloat: 1
-
-Function: "sincos":
-float: 1
-ifloat: 1
-
-Function: "tgamma":
-double: 4
-float: 3
-idouble: 4
-ifloat: 3
-
-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/microblaze/libm-test-ulps-name b/sysdeps/microblaze/libm-test-ulps-name
deleted file mode 100644
index 1edbaa8d98..0000000000
--- a/sysdeps/microblaze/libm-test-ulps-name
+++ /dev/null
@@ -1 +0,0 @@
-MicroBlaze
diff --git a/sysdeps/microblaze/machine-gmon.h b/sysdeps/microblaze/machine-gmon.h
deleted file mode 100644
index a73d495e23..0000000000
--- a/sysdeps/microblaze/machine-gmon.h
+++ /dev/null
@@ -1,30 +0,0 @@
-/* Copyright (C) 2011-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/>. */
-
-/* We need a special version of the `mcount' function because it has
- to preserve more registers than your usual function. */
-
-void __mcount_internal (unsigned long frompc, unsigned long selfpc);
-
-#define _MCOUNT_DECL(frompc, selfpc) \
-void __mcount_internal (unsigned long frompc, unsigned long selfpc)
-
-
-/* Define MCOUNT as empty since we have the implementation in another
- file. */
-#define MCOUNT
diff --git a/sysdeps/microblaze/math_private.h b/sysdeps/microblaze/math_private.h
deleted file mode 100644
index d82e8bf820..0000000000
--- a/sysdeps/microblaze/math_private.h
+++ /dev/null
@@ -1,39 +0,0 @@
-#ifndef MICROBLAZE_MATH_PRIVATE_H
-#define MICROBLAZE_MATH_PRIVATE_H 1
-
-/* Suppress use of exceptions here to avoid build errors if the FE_*
- macros aren't definied. Only allow rounding modes implemented for
- MicroBlaze.
-
- 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/microblaze/memusage.h b/sysdeps/microblaze/memusage.h
deleted file mode 100644
index 644de0765e..0000000000
--- a/sysdeps/microblaze/memusage.h
+++ /dev/null
@@ -1,21 +0,0 @@
-/* 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 ("r1"); stack_ptr; })
-
-#include <sysdeps/generic/memusage.h>
diff --git a/sysdeps/microblaze/nptl/Makefile b/sysdeps/microblaze/nptl/Makefile
deleted file mode 100644
index 3627748ad8..0000000000
--- a/sysdeps/microblaze/nptl/Makefile
+++ /dev/null
@@ -1,21 +0,0 @@
-# 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/microblaze/nptl/bits/pthreadtypes-arch.h b/sysdeps/microblaze/nptl/bits/pthreadtypes-arch.h
deleted file mode 100644
index d687e2c076..0000000000
--- a/sysdeps/microblaze/nptl/bits/pthreadtypes-arch.h
+++ /dev/null
@@ -1,70 +0,0 @@
-/* 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 _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
-
-/* Definitions for internal mutex struct. */
-#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/microblaze/nptl/bits/semaphore.h b/sysdeps/microblaze/nptl/bits/semaphore.h
deleted file mode 100644
index f1d25cdfef..0000000000
--- a/sysdeps/microblaze/nptl/bits/semaphore.h
+++ /dev/null
@@ -1,32 +0,0 @@
-/* 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/microblaze/nptl/pthreaddef.h b/sysdeps/microblaze/nptl/pthreaddef.h
deleted file mode 100644
index 7141fb414f..0000000000
--- a/sysdeps/microblaze/nptl/pthreaddef.h
+++ /dev/null
@@ -1,35 +0,0 @@
-/* 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/>. */
-
-#include <stdlib.h>
-#include <string.h>
-
-/* Default stack size. */
-#define ARCH_STACK_DEFAULT_SIZE (2 * 1024 * 1024)
-
-/* Required stack pointer alignment at beginning. */
-#define STACK_ALIGN 16
-
-/* Minimal stack size after allocating thread descriptor and guard size. */
-#define MINIMAL_REST_STACK 2048
-
-/* Alignment requirement for TCB. */
-#define TCB_ALIGNMENT 16
-
-/* Location of current stack frame. */
-#define CURRENT_STACK_FRAME __builtin_frame_address (0)
diff --git a/sysdeps/microblaze/nptl/tcb-offsets.sym b/sysdeps/microblaze/nptl/tcb-offsets.sym
deleted file mode 100644
index 614f0dfed6..0000000000
--- a/sysdeps/microblaze/nptl/tcb-offsets.sym
+++ /dev/null
@@ -1,10 +0,0 @@
-#include <sysdep.h>
-#include <tls.h>
-
---
-
--- Abuse tls.h macros to derive offsets relative to the thread register.
-#define thread_offsetof(mem) (long)(offsetof (struct pthread, mem) - sizeof (struct pthread))
-
-MULTIPLE_THREADS_OFFSET thread_offsetof (header.multiple_threads)
-TID_OFFSET thread_offsetof (tid)
diff --git a/sysdeps/microblaze/nptl/tls.h b/sysdeps/microblaze/nptl/tls.h
deleted file mode 100644
index 9703484c0e..0000000000
--- a/sysdeps/microblaze/nptl/tls.h
+++ /dev/null
@@ -1,143 +0,0 @@
-/* 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/>. */
-
-#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;
- void *private;
-} tcbhead_t;
-
-#define READ_THREAD_POINTER() \
- ({ register void *__microblaze_thread_area asm ("r21"); \
- __microblaze_thread_area; })
-
-/* This is the size of the initial TCB. */
-# define TLS_INIT_TCB_SIZE sizeof (tcbhead_t)
-
-/* Alignment requirements for the initial TCB. */
-# define TLS_INIT_TCB_ALIGN __alignof__ (tcbhead_t)
-
-/* This is the size of the TCB. */
-# define TLS_TCB_SIZE sizeof (tcbhead_t)
-
-/* This is the size we need before TCB. */
-# define TLS_PRE_TCB_SIZE sizeof (struct pthread)
-
-/* Alignment requirements for the TCB. */
-# define TLS_TCB_ALIGN __alignof__ (struct pthread)
-
-/* 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))->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))->dtv)
-
-/* Code to initially initialize the thread pointer.
- r21 is reserved for thread pointer. */
-# define TLS_INIT_TP(tcbp) \
- ({ __asm __volatile ("or r21,r0,%0" : : "r" ((void *)tcbp)); NULL; })
-
-# define TLS_DEFINE_INIT_TP(tp, pd) void *tp = (pd) + 1
-
-/* Return the address of the dtv for the current thread. */
-# define THREAD_DTV() \
- (((tcbhead_t *) READ_THREAD_POINTER())->dtv)
-
-/* Return the thread descriptor for the current thread. */
-# define THREAD_SELF \
- (((struct pthread *) READ_THREAD_POINTER()) - 1)
-
-/* Magic for libthread_db to know how to do THREAD_SELF. */
-# define DB_THREAD_SELF \
- CONST_THREAD_AREA (32, sizeof (struct pthread))
-
-/* Read member of the thread descriptor directly. */
-# define THREAD_GETMEM(descr, member) (descr->member)
-
-/* Same as THREAD_GETMEM, but the member offset can be non-constant. */
-# define THREAD_GETMEM_NC(descr, member, idx) \
- (descr->member[idx])
-
-/* Set member of the thread descriptor directly. */
-# define THREAD_SETMEM(descr, member, value) \
- (descr->member = (value))
-
-/* Same as THREAD_SETMEM, but the member offset can be non-constant. */
-# define THREAD_SETMEM_NC(descr, member, idx, value) \
- (descr->member[idx] = (value))
-
-/* 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/microblaze/preconfigure b/sysdeps/microblaze/preconfigure
deleted file mode 100644
index 90e2e631d9..0000000000
--- a/sysdeps/microblaze/preconfigure
+++ /dev/null
@@ -1,3 +0,0 @@
-case "$machine" in
-microblaze*) base_machine=microblaze machine=microblaze ;;
-esac
diff --git a/sysdeps/microblaze/s_fma.c b/sysdeps/microblaze/s_fma.c
deleted file mode 100644
index d9613fa67c..0000000000
--- a/sysdeps/microblaze/s_fma.c
+++ /dev/null
@@ -1 +0,0 @@
-#include <soft-fp/fmadf4.c>
diff --git a/sysdeps/microblaze/s_fmaf.c b/sysdeps/microblaze/s_fmaf.c
deleted file mode 100644
index aa5c9b2d91..0000000000
--- a/sysdeps/microblaze/s_fmaf.c
+++ /dev/null
@@ -1 +0,0 @@
-#include <soft-fp/fmasf4.c>
diff --git a/sysdeps/microblaze/setjmp.S b/sysdeps/microblaze/setjmp.S
deleted file mode 100644
index 79b8aec490..0000000000
--- a/sysdeps/microblaze/setjmp.S
+++ /dev/null
@@ -1,75 +0,0 @@
-/* Copyright (C) 1997-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>
-
-/* This source produces 3 functions:
- __sigsetjmp (jmpbuf,savemask)
- setjmp (jmpbuf) - equivalent to __sigsetjump (jmpbuf, 1)
- _setjmp (jmpbuf) - equivalent to __sigsetjump (jmpbuf, 0)
-*/
-
-#ifndef setjmp_name
-# define setjmp_name __sigsetjmp
-# define SET_MASK_ARG
-#else
-# define SET_MASK_ARG addik r6,r0,SAVEMASK
-#endif
-
-ENTRY (setjmp_name)
- swi r1,r5,0
- swi r2,r5,4
- swi r13,r5,8
- swi r14,r5,12
- swi r15,r5,16
- swi r16,r5,20
- swi r17,r5,24
- swi r18,r5,28
- swi r19,r5,32
- swi r20,r5,36
- swi r21,r5,40
- swi r22,r5,44
- swi r23,r5,48
- swi r24,r5,52
- swi r25,r5,56
- swi r26,r5,60
- swi r27,r5,64
- swi r28,r5,68
- swi r29,r5,72
- swi r30,r5,76
- swi r31,r5,80
-
- SET_MASK_ARG
-
- /* Make a tail call to __sigjmp_save; it takes the same args. */
-#ifdef PIC
- /* We cannot use the PLT, because it requires that r20 be set, but
- we can't save and restore our caller's value. Instead, we do an
- indirect jump through the GOT, using the temporary register
- %ecx, which is call-clobbered. */
- mfs r12,rpc
- addik r12,r12,_GLOBAL_OFFSET_TABLE_+8
- lwi r12,r12,__sigjmp_save@GOT
- brad r12
-#else
- brid __sigjmp_save
-#endif
- nop
-END (setjmp_name)
-
-libc_hidden_def (setjmp_name)
diff --git a/sysdeps/microblaze/sfp-machine.h b/sysdeps/microblaze/sfp-machine.h
deleted file mode 100644
index e4ad79e6bd..0000000000
--- a/sysdeps/microblaze/sfp-machine.h
+++ /dev/null
@@ -1 +0,0 @@
-#include <sysdeps/nios2/sfp-machine.h>
diff --git a/sysdeps/microblaze/sotruss-lib.c b/sysdeps/microblaze/sotruss-lib.c
deleted file mode 100644
index cbb7cd21bc..0000000000
--- a/sysdeps/microblaze/sotruss-lib.c
+++ /dev/null
@@ -1,52 +0,0 @@
-/* Override generic sotruss-lib.c to define actual functions for MicroBlaze.
- 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/>. */
-
-#define HAVE_ARCH_PLTENTER
-#define HAVE_ARCH_PLTEXIT
-
-#include <elf/sotruss-lib.c>
-
-ElfW(Addr)
-la_microblaze_gnu_pltenter (ElfW(Sym) *sym __attribute__ ((unused)),
- unsigned int ndx __attribute__ ((unused)),
- uintptr_t *refcook, uintptr_t *defcook,
- La_microblaze_regs *regs, unsigned int *flags,
- const char *symname, long int *framesizep)
-{
- print_enter (refcook, defcook, symname,
- regs->lr_r0, regs->lr_r1, regs->lr_sp,
- *flags);
-
- /* No need to copy anything, we will not need the parameters in any case. */
- *framesizep = 0;
-
- return sym->st_value;
-}
-
-unsigned int
-la_microblaze_gnu_pltexit (ElfW(Sym) *sym, unsigned int ndx,
- uintptr_t *refcook,
- uintptr_t *defcook,
- const struct La_microblaze_regs *inregs,
- struct La_microblaze_retval *outregs,
- const char *symname)
-{
- print_exit (refcook, defcook, symname, outregs->lrv_r3);
-
- return 0;
-}
diff --git a/sysdeps/microblaze/stackinfo.h b/sysdeps/microblaze/stackinfo.h
deleted file mode 100644
index 3062b1e69d..0000000000
--- a/sysdeps/microblaze/stackinfo.h
+++ /dev/null
@@ -1,34 +0,0 @@
-/* Copyright (C) 2001-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 MicroBlaze the stack grows down. */
-# define _STACK_GROWS_DOWN 1
-
-/* Default to an executable stack. PF_X can be overridden if PT_GNU_STACK is
- * present, but it is presumed absent. */
-# define DEFAULT_STACK_PERMS (PF_R|PF_W|PF_X)
-
-#endif /* stackinfo.h. */
diff --git a/sysdeps/microblaze/start.S b/sysdeps/microblaze/start.S
deleted file mode 100644
index f94e816ee0..0000000000
--- a/sysdeps/microblaze/start.S
+++ /dev/null
@@ -1,84 +0,0 @@
-/* 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/>. */
-
- .text
- .globl _start
- .type _start,@function
-_start:
- /* On entry the stack contains the following args:
- r1+0 - argc
- r1+4 - argv[0]
- ...
- r1+4*(argc-1) - argv[argc-1]
- r1+4*argc - NULL
- r1+4*argc + 4 - envp[0]
- ...
- NULL
- */
- addk r3,r0,r0
- addk r5,r1,r0
-1:
- addik r5,r5,4
- lw r4,r5,r0
- bneid r4,1b
- addik r3,r3,1
- addik r6,r3,-1
- sw r6,r1,r0
- addik r7,r1,4
- addik r1,r1,-24
-#ifdef SHARED
- /* Setup PIC. */
- mfs r20,rpc
- addik r20,r20,_GLOBAL_OFFSET_TABLE_+8
- lwi r5,r20,main@GOT
- lwi r8,r20,__libc_csu_init@GOT
- lwi r9,r20,__libc_csu_fini@GOT
- brid __libc_start_main@PLT
- addk r10,r0,r0
-#else
- addik r5,r0,main
- addik r8,r0,__libc_csu_init
- addik r9,r0,__libc_csu_fini
- brid __libc_start_main
- addk r10,r0,r0
-#endif
-
-/* 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/microblaze/sysdep.h b/sysdeps/microblaze/sysdep.h
deleted file mode 100644
index 1f1ca3709b..0000000000
--- a/sysdeps/microblaze/sysdep.h
+++ /dev/null
@@ -1,85 +0,0 @@
-/* Copyright (C) 1997-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 ALIGNARG(log2) log2
-# define ASM_SIZE_DIRECTIVE(name) .size name,.-name
-
-/* Define an entry point visible from C. */
-# define ENTRY(name) \
- .globl C_SYMBOL_NAME(name); \
- .type C_SYMBOL_NAME(name),@function; \
- .align ALIGNARG(2); \
- C_LABEL(name) \
- CALL_MCOUNT
-
-# undef END
-# define END(name) ASM_SIZE_DIRECTIVE(name)
-
-
-/* If compiled for profiling, call `_mcount' at the start of each function. */
-# ifdef PROF
-/* The mcount code relies on a normal frame pointer being on the stack
- to locate our caller, so push one just for its benefit. */
-# define CALL_MCOUNT \
- addik r1,r1,-4; \
- swi r15,r1,0; \
- brlid r15,JUMPTARGET(mcount); \
- nop; \
- lwi r15,r1,0; \
- addik r1,r1,4;
-# else
-# define CALL_MCOUNT /* Do nothing. */
-# endif
-
-/* Since C identifiers are not normally prefixed with an underscore
- on this system, the asm identifier `syscall_error' intrudes on the
- C name space. Make sure we use an innocuous name. */
-# define syscall_error __syscall_error
-# define mcount _mcount
-
-# define PSEUDO(name, syscall_name, args) \
- .globl syscall_error; \
- ENTRY (name) \
- DO_CALL (syscall_name, args);
-
-# define ret \
- rtsd r15,8; nop;
-
-# undef PSEUDO_END
-# define PSEUDO_END(name) \
- END (name)
-
-# undef JUMPTARGET
-# ifdef PIC
-# define JUMPTARGET(name) name##@PLTPC
-# else
-# define JUMPTARGET(name) name
-# endif
-
-/* Local label name for asm code. */
-# ifndef L
-# define L(name) $L##name
-# endif
-
-# endif /* __ASSEMBLER__ */
diff --git a/sysdeps/microblaze/tls-macros.h b/sysdeps/microblaze/tls-macros.h
deleted file mode 100644
index a12df06e24..0000000000
--- a/sysdeps/microblaze/tls-macros.h
+++ /dev/null
@@ -1,46 +0,0 @@
-/* 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 TLS_LD(x) \
- ({ \
- char *__result; \
- int __offset; \
- extern void *__tls_get_addr (void *); \
- asm ("mfs r20,rpc \n" \
- "addik r20,r20,_GLOBAL_OFFSET_TABLE_+8\n" \
- "addik %0,r20," #x "@TLSLDM" \
- : "=r" (__result)); \
- __result = (char *) __tls_get_addr (__result); \
- asm ("addik %0,r0,"#x"@TLSDTPREL" \
- : "=r" (__offset)); \
- (int *) (__result + __offset); })
-
-
-#define TLS_GD(x) \
- ({ \
- int *__result; \
- extern void *__tls_get_addr (void *); \
- asm ("mfs r20,rpc\n" \
- "addik r20,r20,_GLOBAL_OFFSET_TABLE_+8\n" \
- "addik %0,r20," #x "@TLSGD" \
- : "=r" (__result)); \
- (int *) __tls_get_addr (__result); })
-
-#define TLS_LE(x) TLS_LD(x)
-
-#define TLS_IE(x) TLS_GD(x)
diff --git a/sysdeps/microblaze/tst-audit.h b/sysdeps/microblaze/tst-audit.h
deleted file mode 100644
index e08811ccca..0000000000
--- a/sysdeps/microblaze/tst-audit.h
+++ /dev/null
@@ -1,25 +0,0 @@
-/* Definitions for testing PLT entry/exit auditing. MicroBlaze 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/>. */
-
-#define pltenter la_microblaze_gnu_pltenter
-#define pltexit la_microblaze_gnu_pltexit
-#define La_regs La_microblaze_regs
-#define La_retval La_microblaze_retval
-#define int_retval lrv_r3