summaryrefslogtreecommitdiff
path: root/sysdeps/microblaze
diff options
context:
space:
mode:
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