summaryrefslogtreecommitdiff
path: root/ports/sysdeps/am33
diff options
context:
space:
mode:
Diffstat (limited to 'ports/sysdeps/am33')
-rw-r--r--ports/sysdeps/am33/Implies3
-rw-r--r--ports/sysdeps/am33/__longjmp.S60
-rw-r--r--ports/sysdeps/am33/atomicity.h87
-rw-r--r--ports/sysdeps/am33/bits/endian.h7
-rw-r--r--ports/sysdeps/am33/bits/setjmp.h26
-rw-r--r--ports/sysdeps/am33/bsd-_setjmp.S1
-rw-r--r--ports/sysdeps/am33/bsd-setjmp.S1
-rw-r--r--ports/sysdeps/am33/dl-machine.h478
-rw-r--r--ports/sysdeps/am33/elf/start.S78
-rw-r--r--ports/sysdeps/am33/fpu/bits/fenv.h72
-rw-r--r--ports/sysdeps/am33/fpu/fclrexcpt.c52
-rw-r--r--ports/sysdeps/am33/fpu/fedisblxcpt.c41
-rw-r--r--ports/sysdeps/am33/fpu/feenablxcpt.c41
-rw-r--r--ports/sysdeps/am33/fpu/fegetenv.c34
-rw-r--r--ports/sysdeps/am33/fpu/fegetexcept.c34
-rw-r--r--ports/sysdeps/am33/fpu/fegetround.c35
-rw-r--r--ports/sysdeps/am33/fpu/feholdexcpt.c38
-rw-r--r--ports/sysdeps/am33/fpu/fenv_libc.h32
-rw-r--r--ports/sysdeps/am33/fpu/fesetenv.c59
-rw-r--r--ports/sysdeps/am33/fpu/fesetround.c28
-rw-r--r--ports/sysdeps/am33/fpu/feupdateenv.c46
-rw-r--r--ports/sysdeps/am33/fpu/fgetexcptflg.c43
-rw-r--r--ports/sysdeps/am33/fpu/fpu_control.h73
-rw-r--r--ports/sysdeps/am33/fpu/fraiseexcpt.c78
-rw-r--r--ports/sysdeps/am33/fpu/fsetexcptflg.c56
-rw-r--r--ports/sysdeps/am33/fpu/ftestexcept.c33
-rw-r--r--ports/sysdeps/am33/jmpbuf-offsets.h19
-rw-r--r--ports/sysdeps/am33/jmpbuf-unwind.h25
-rw-r--r--ports/sysdeps/am33/linuxthreads/pspinlock.c73
-rw-r--r--ports/sysdeps/am33/linuxthreads/pt-machine.h66
-rw-r--r--ports/sysdeps/am33/memusage.h22
-rw-r--r--ports/sysdeps/am33/preconfigure5
-rw-r--r--ports/sysdeps/am33/setjmp.S79
-rw-r--r--ports/sysdeps/am33/shlib-versions1
-rw-r--r--ports/sysdeps/am33/stackinfo.h27
-rw-r--r--ports/sysdeps/am33/sys/ucontext.h122
-rw-r--r--ports/sysdeps/am33/sysdep.h81
-rw-r--r--ports/sysdeps/am33/tininess.h1
38 files changed, 0 insertions, 2057 deletions
diff --git a/ports/sysdeps/am33/Implies b/ports/sysdeps/am33/Implies
deleted file mode 100644
index 780c4e2467..0000000000
--- a/ports/sysdeps/am33/Implies
+++ /dev/null
@@ -1,3 +0,0 @@
-wordsize-32
-ieee754/flt-32
-ieee754/dbl-64
diff --git a/ports/sysdeps/am33/__longjmp.S b/ports/sysdeps/am33/__longjmp.S
deleted file mode 100644
index aea25a1899..0000000000
--- a/ports/sysdeps/am33/__longjmp.S
+++ /dev/null
@@ -1,60 +0,0 @@
-/* longjmp for AM33.
- Copyright 2001-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <sysdep.h>
-#define _ASM
-#define _SETJMP_H
-#include <bits/setjmp.h>
-#include <asm-syntax.h>
-
-ENTRY (__longjmp)
- mov d0,a0
- mov (8,a0),d2
- mov d2,mdr
- mov (0,a0),d2
- mov (4,a0),d3
- mov (12,a0),a2
- mov (16,a0),a3
- mov (20,a0),a1
- mov a1,sp
- add 24,a0
- mov (a0+),r4
- mov (a0+),r5
- mov (a0+),r6
- mov (a0+),r7
-#ifdef __AM33_2__
- fmov (a0+),fs4
- fmov (a0+),fs5
- fmov (a0+),fs6
- fmov (a0+),fs7
- fmov (a0+),fs8
- fmov (a0+),fs9
- fmov (a0+),fs10
- fmov (a0+),fs11
- fmov (a0+),fs12
- fmov (a0+),fs13
- fmov (a0+),fs14
- fmov (a0+),fs15
- fmov (a0+),fs16
- fmov (a0+),fs17
- fmov (a0+),fs18
- fmov (a0+),fs19
-#endif
- mov d1,d0
- retf [],0
-END (__longjmp)
diff --git a/ports/sysdeps/am33/atomicity.h b/ports/sysdeps/am33/atomicity.h
deleted file mode 100644
index f3d1496186..0000000000
--- a/ports/sysdeps/am33/atomicity.h
+++ /dev/null
@@ -1,87 +0,0 @@
-/* Low-level functions for atomic operations. AM33 version.
- Copyright 1999-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Alexandre Oliva <aoliva@redhat.com>.
- Based on ../sparc/sparc32/atomicity.h
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Library General Public License as
- published by the Free Software Foundation; either version 2 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
- Library General Public License for more details.
-
- You should have received a copy of the GNU Library General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#ifndef _ATOMICITY_H
-#define _ATOMICITY_H 1
-
-#include <inttypes.h>
-#include <stdint.h>
-
-#define __acquire_lock(lock) \
- __asm__ __volatile__("1: bset %1, (%0)\n\t" \
- " beq 1b" \
- : : "a" (&(lock)), "d" (1) \
- : "memory")
-
-#define __release_lock(lock) lock = 0
-
-static int
-__attribute__ ((unused))
-exchange_and_add (volatile uint32_t *mem, int val)
-{
- static unsigned char lock;
- int result;
-
- __acquire_lock (lock);
-
- result = *mem;
- *mem += val;
-
- __release_lock (lock);
-
- return result;
-}
-
-static void
-__attribute__ ((unused))
-atomic_add (volatile uint32_t *mem, int val)
-{
- static unsigned char lock;
-
- __acquire_lock (lock);
-
- *mem += val;
-
- __release_lock (lock);
-}
-
-static int
-__attribute__ ((unused))
-compare_and_swap (volatile long int *p, long int oldval, long int newval)
-{
- static unsigned char lock;
- int ret;
-
- __acquire_lock (lock);
-
- if (*p != oldval)
- ret = 0;
- else
- {
- *p = newval;
- ret = 1;
- }
-
- __release_lock (lock);
-
- return ret;
-}
-
-#endif /* atomicity.h */
diff --git a/ports/sysdeps/am33/bits/endian.h b/ports/sysdeps/am33/bits/endian.h
deleted file mode 100644
index 7423f09570..0000000000
--- a/ports/sysdeps/am33/bits/endian.h
+++ /dev/null
@@ -1,7 +0,0 @@
-/* AM33 is little-endian. */
-
-#ifndef _ENDIAN_H
-# error "Never use <bits/endian.h> directly; include <endian.h> instead."
-#endif
-
-#define __BYTE_ORDER __LITTLE_ENDIAN
diff --git a/ports/sysdeps/am33/bits/setjmp.h b/ports/sysdeps/am33/bits/setjmp.h
deleted file mode 100644
index 46754ff4d1..0000000000
--- a/ports/sysdeps/am33/bits/setjmp.h
+++ /dev/null
@@ -1,26 +0,0 @@
-/* Copyright 2001-2014 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'. AM33 version. */
-
-#ifndef _SETJMP_H
-# error "Never include <bits/setjmp.h> directly; use <setjmp.h> instead."
-#endif
-
-#ifndef _ASM
-typedef int __jmp_buf[26];
-#endif
diff --git a/ports/sysdeps/am33/bsd-_setjmp.S b/ports/sysdeps/am33/bsd-_setjmp.S
deleted file mode 100644
index 9bbfcbbba7..0000000000
--- a/ports/sysdeps/am33/bsd-_setjmp.S
+++ /dev/null
@@ -1 +0,0 @@
-/* _setjmp is in setjmp.S */
diff --git a/ports/sysdeps/am33/bsd-setjmp.S b/ports/sysdeps/am33/bsd-setjmp.S
deleted file mode 100644
index b6b239e67d..0000000000
--- a/ports/sysdeps/am33/bsd-setjmp.S
+++ /dev/null
@@ -1 +0,0 @@
-/* setjmp is in setjmp.S */
diff --git a/ports/sysdeps/am33/dl-machine.h b/ports/sysdeps/am33/dl-machine.h
deleted file mode 100644
index 10e6e4662b..0000000000
--- a/ports/sysdeps/am33/dl-machine.h
+++ /dev/null
@@ -1,478 +0,0 @@
-/* Machine-dependent ELF dynamic relocation inline functions. AM33 version.
- Copyright (C) 1995-2014 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 Library General Public License as
- published by the Free Software Foundation; either version 2 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
- Library General Public License for more details.
-
- You should have received a copy of the GNU Library 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 "mn10300"
-
-#include <sys/param.h>
-
-/* Return nonzero iff ELF header is compatible with the running host. */
-static inline int __attribute__ ((unused))
-elf_machine_matches_host (const Elf32_Ehdr *ehdr)
-{
- return ehdr->e_machine == EM_MN10300;
-}
-
-
-/* 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 __attribute__ ((unused))
-elf_machine_dynamic (void)
-{
- register Elf32_Addr *got asm ("a2");
- return *got;
-}
-
-
-/* Return the run-time load address of the shared object. */
-static inline Elf32_Addr __attribute__ ((unused))
-elf_machine_load_address (void)
-{
- register Elf32_Addr gotaddr asm ("a2");
- Elf32_Addr off, gotval;
-
- asm ("mov _dl_start@GOTOFF,%0" : "=r" (off));
- asm ("mov (_dl_start@GOT,%1),%0" : "=r" (gotval) : "r" (gotaddr));
-
- return off + gotaddr - gotval;
-}
-
-#ifndef PROF
-/* We add a declaration of this function here so that in dl-runtime.c
- the ELF_MACHINE_RUNTIME_TRAMPOLINE macro really can pass the parameters
- in registers.
-
- We cannot use this scheme for profiling because the _mcount call
- destroys the passed register information. */
-static ElfW(Addr) fixup (struct link_map *l, ElfW(Word) reloc_offset)
- __attribute__ ((unused));
-static ElfW(Addr) profile_fixup (struct link_map *l, ElfW(Word) reloc_offset,
- ElfW(Addr) retaddr)
- __attribute__ ((unused));
-#endif
-
-/* 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__ ((unused))
-elf_machine_runtime_setup (struct link_map *l, int lazy, int profile)
-{
- Elf32_Addr *got;
- extern void _dl_runtime_resolve (Elf32_Word) attribute_hidden;
- extern void _dl_runtime_profile (Elf32_Word) attribute_hidden;
-
- if (l->l_info[DT_JMPREL] && lazy)
- {
- /* The GOT entries for functions in the PLT have not yet been filled
- in. Their initial contents will arrange when called to push an
- offset into the .rel.plt section, push _GLOBAL_OFFSET_TABLE_[1],
- and then jump to _GLOBAL_OFFSET_TABLE[2]. */
- got = (Elf32_Addr *) D_PTR (l, l_info[DT_PLTGOT]);
- got[1] = (Elf32_Addr) l; /* Identify this shared object. */
-
- /* The got[2] entry contains the address of a function which gets
- called to get the address of a so far unresolved function and
- jump to it. The profiling extension of the dynamic linker allows
- to intercept the calls to collect information. In this case we
- don't store the address in the GOT so that all future calls also
- end in this function. */
- if (__builtin_expect (profile, 0))
- {
- got[2] = (Elf32_Addr) &_dl_runtime_profile;
-
- if (_dl_name_match_p (GLRO(dl_profile), l))
- /* This is the object we are looking for. Say that we really
- want profiling and the timers are started. */
- GL(dl_profile_map) = l;
- }
- else
- /* This function will get called to fix up the GOT entry indicated by
- the offset on the stack, and then jump to the resolved address. */
- got[2] = (Elf32_Addr) &_dl_runtime_resolve;
- }
-
- return lazy;
-}
-
-/* This code is used in dl-runtime.c to call the `fixup' function
- and then redirect to the address it returns. */
-#ifndef PROF
-# define ELF_MACHINE_RUNTIME_TRAMPOLINE asm ("\
- .text\n\
- .globl _dl_runtime_resolve\n\
- .type _dl_runtime_resolve, @function\n\
-_dl_runtime_resolve:\n\
- add -12,sp # Preserve registers otherwise clobbered.\n\
- mov d1,(20,sp)\n\
- mov d0,(16,sp)\n\
- mov r1,d0\n\
- mov r0,d1\n\
- call fixup,[],0 # Call resolver.\n\
- mov d0,a0\n\
- mov (12,sp),d1 # Copy return address back to mdr,\n\
- mov d1,mdr # in case the callee returns with retf\n\
- mov (16,sp),d0 # Get register content back.\n\
- mov (20,sp),d1\n\
- add 12,sp\n\
- jmp (a0)\n\
- .size _dl_runtime_resolve, .-_dl_runtime_resolve\n\
-\n\
- .globl _dl_runtime_profile\n\
- .type _dl_runtime_profile, @function\n\
-_dl_runtime_profile:\n\
- add -12,sp # Preserve registers otherwise clobbered.\n\
- mov d1,(20,sp)\n\
- mov d0,(16,sp)\n\
- mov r1,d0\n\
- mov r0,d1\n\
- call profile_fixup,[],0 # Call resolver.\n\
- mov d0,a0\n\
- mov (12,sp),d1 # Copy return address back to mdr,\n\
- mov d1,mdr # in case the callee returns with retf\n\
- mov (16,sp),d0 # Get register content back.\n\
- mov (20,sp),d1\n\
- add 12,sp\n\
- jmp (a0)\n\
- .size _dl_runtime_profile, .-_dl_runtime_profile\n\
- .previous\n\
-");
-#else
-# define ELF_MACHINE_RUNTIME_TRAMPOLINE asm ("\n\
- .text\n\
- .globl _dl_runtime_resolve\n\
- .globl _dl_runtime_profile\n\
- .type _dl_runtime_resolve, @function\n\
- .type _dl_runtime_profile, @function\n\
-_dl_runtime_resolve:\n\
-_dl_runtime_profile:\n\
- add -12,sp # Preserve registers otherwise clobbered.\n\
- mov d1,(20,sp)\n\
- mov d0,(16,sp)\n\
- mov r1,d0\n\
- mov r0,d1\n\
- call profile_fixup,[],0 # Call resolver.\n\
- mov d0,a0\n\
- mov (12,sp),d1 # Copy return address back to mdr,\n\
- mov d1,mdr # in case the callee returns with retf\n\
- mov (16,sp),d0 # Get register content back.\n\
- mov (20,sp),d1\n\
- add 12,sp\n\
- jmp (a0)\n\
- .size _dl_runtime_resolve, .-_dl_runtime_resolve\n\
- .size _dl_runtime_profile, .-_dl_runtime_profile\n\
- .previous\n\
-");
-#endif
-
-/* Mask identifying addresses reserved for the user program,
- where the dynamic linker should not map anything. */
-#define ELF_MACHINE_USER_ADDRESS_MASK 0xf8000000UL
-
-/* 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 ("\n\
- .text\n\
-.globl _start\n\
-.globl _dl_start_user\n\
-_start:\n\
- mov 0,a3 # Mark the top of the stack\n\
- mov sp,a1\n\
- add -20,sp # Prepare for function call\n\
- mov a1,d0\n\
- call _dl_start,[],0\n\
-_dl_start_user:\n\
- # Save the user entry point address in d2.\n\
- mov d0,d2\n\
- # Point a2 at the GOT.\n\
-0: mov pc,a2\n\
- add _GLOBAL_OFFSET_TABLE_ - (0b-.),a2\n\
- # Store the highest stack address\n\
- mov (__libc_stack_end@GOT,a2),a0\n\
- mov a1,(a0)\n\
- # See if we were run as a command with the executable file\n\
- # name as an extra leading argument.\n\
- mov (_dl_skip_args@GOT,a2),a0\n\
- mov (a0),d0\n\
- # Pop the original argument count.\n\
- mov (20,sp),d3\n\
- # Subtract _dl_skip_args from it.\n\
- sub d0,d3\n\
- # Adjust the stack pointer to skip _dl_skip_args words.\n\
- asl2 d0\n\
- mov sp,a0\n\
- add d0,a0\n\
- mov a0,sp\n\
- # Push argc back on the stack.\n\
- mov d3,(20,sp)\n\
- # The special initializer gets called with the stack just\n\
- # as the application's entry point will see it; it can\n\
- # switch stacks if it moves these contents over.\n\
-" RTLD_START_SPECIAL_INIT "\n\
- # Load the parameters again.\n\
- # (d0, d1, (12,sp), (16,sp)) = (_dl_loaded, argc, argv, envp)\n\
- add 24,a0\n\
- mov a0,(12,sp) # a0 is 24+sp\n\
- mov d3,d1 # d3 contained argc\n\
- inc d3\n\
- asl2 d3 # d3 is now (argc+1)*4,\n\
- add d3,a0 # the offset between argv and envp\n\
- mov a0,(16,sp)\n\
- mov (_rtld_local@GOTOFF,a2),d0\n\
- # Call the function to run the initializers.\n\
- call _dl_init@PLT,[],0\n\
- # Pass our finalizer function to the user in d0, as per ELF ABI.\n\
- mov (_dl_fini@GOT,a2),d0\n\
- add 20,sp\n\
- # Jump to the user's entry point.\n\
- mov d2,a1\n\
- jmp (a1)\n\
- .previous\n\
-");
-
-#ifndef RTLD_START_SPECIAL_INIT
-#define RTLD_START_SPECIAL_INIT /* nothing */
-#endif
-
-/* ELF_RTYPE_CLASS_PLT iff TYPE describes relocation of a PLT entry, so
- PLT entries should not be allowed to define the value.
- ELF_RTYPE_CLASS_NOCOPY iff TYPE should not be allowed to resolve to one
- of the main executable's symbols, as for a COPY reloc. */
-#define elf_machine_type_class(type) \
- ((((type) == R_MN10300_JMP_SLOT) * ELF_RTYPE_CLASS_PLT) \
- | (((type) == R_MN10300_COPY) * ELF_RTYPE_CLASS_COPY))
-
-/* A reloc type used for ld.so cmdline arg lookups to reject PLT entries. */
-#define ELF_MACHINE_JMP_SLOT R_MN10300_JMP_SLOT
-
-static inline Elf32_Addr
-elf_machine_fixup_plt (struct link_map *map, lookup_t t,
- const Elf32_Rela *reloc,
- Elf32_Addr *reloc_addr, Elf32_Addr value)
-{
- return *reloc_addr = value;
-}
-
-/* Return the final value of a plt relocation. */
-static inline Elf32_Addr
-elf_machine_plt_value (struct link_map *map, const Elf32_Rela *reloc,
- Elf32_Addr value)
-{
- return value + reloc->r_addend;
-}
-
-#endif /* !dl_machine_h */
-
-#ifdef RESOLVE
-
-/* The mn10300 never uses Elf32_Rel relocations. */
-#define ELF_MACHINE_NO_REL 1
-
-/* Perform the relocation specified by RELOC and SYM (which is fully resolved).
- MAP is the object containing the reloc. */
-
-static inline void
-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)
-{
- const unsigned int r_type = ELF32_R_TYPE (reloc->r_info);
- Elf32_Addr value, *reloc_addr;
-
- /* Make sure we drop any previous alignment assumptions. */
- asm ("" : "=r" (reloc_addr) : "0" (reloc_addr_arg));
-
-#define COPY_UNALIGNED_WORD(sw, tw, align) \
- { \
- unsigned long *__sl = (void*)&(sw), *__tl = (void*)&(tw); \
- unsigned short *__ss = (void*)&(sw), *__ts = (void*)&(tw); \
- unsigned char *__sc = (void*)&(sw), *__tc = (void*)&(tw); \
- switch ((align)) \
- { \
- case 0: \
- *__tl = *__sl; \
- break; \
- case 2: \
- *__ts++ = *__ss++; \
- *__ts = *__ss; \
- break; \
- default: \
- *__tc++ = *__sc++; \
- *__tc++ = *__sc++; \
- *__tc++ = *__sc++; \
- *__tc = *__sc; \
- break; \
- } \
- }
-
-#define COPY_UNALIGNED_HALFWORD(sw, tw, align) \
- { \
- unsigned short *__ss = (void*)&(sw), *__ts = (void*)&(tw); \
- unsigned char *__sc = (void*)&(sw), *__tc = (void*)&(tw); \
- switch ((align)) \
- { \
- case 0: \
- *__ts = *__ss; \
- break; \
- default: \
- *__tc++ = *__sc++; \
- *__tc = *__sc; \
- break; \
- } \
- }
-
-#if !defined RTLD_BOOTSTRAP || !defined HAVE_Z_COMBRELOC
- if (__builtin_expect (r_type == R_MN10300_RELATIVE, 0))
- {
-# if !defined RTLD_BOOTSTRAP && !defined HAVE_Z_COMBRELOC
- /* This is defined in rtld.c, but nowhere in the static libc.a;
- make the reference weak so static programs can still link.
- This declaration cannot be done when compiling rtld.c (i.e.
- #ifdef RTLD_BOOTSTRAP) because rtld.c contains the common
- defn for _dl_rtld_map, which is incompatible with a weak decl
- in the same file. */
- weak_extern (_dl_rtld_map);
- if (map != &_dl_rtld_map) /* Already done in rtld itself. */
-# endif
- {
- COPY_UNALIGNED_WORD (*reloc_addr, value, (int) reloc_addr & 3);
- value += map->l_addr;
- COPY_UNALIGNED_WORD (value, *reloc_addr, (int) reloc_addr & 3);
- }
- }
-# ifndef RTLD_BOOTSTRAP
- else if (__builtin_expect (r_type == R_MN10300_NONE, 0))
- return;
-# endif
- else
-#endif
- {
-#ifndef RTLD_BOOTSTRAP
- const Elf32_Sym *const refsym = sym;
-#endif
-
- value = RESOLVE (&sym, version, ELF32_R_TYPE (reloc->r_info));
- if (sym)
- value += sym->st_value;
- value += reloc->r_addend; /* Assume copy relocs have zero addend. */
-
- switch (r_type)
- {
-#ifndef RTLD_BOOTSTRAP
- case R_MN10300_COPY:
- if (sym == NULL)
- /* This can happen in trace mode if an object could not be
- found. */
- break;
- if (sym->st_size > refsym->st_size
- || (GLRO(dl_verbose) && sym->st_size < refsym->st_size))
- {
- extern char **_dl_argv;
- 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",
- _dl_argv[0] ?: "<program name unknown>",
- strtab + refsym->st_name);
- }
- memcpy (reloc_addr, (void *) value, MIN (sym->st_size,
- refsym->st_size));
- break;
-#endif
- case R_MN10300_GLOB_DAT:
- case R_MN10300_JMP_SLOT:
- /* These addresses are always aligned. */
- *reloc_addr = value;
- break;
- case R_MN10300_32:
- COPY_UNALIGNED_WORD (value, *reloc_addr, (int) reloc_addr & 3);
- break;
-#ifndef RTLD_BOOTSTRAP
- case R_MN10300_16:
- COPY_UNALIGNED_HALFWORD (value, *reloc_addr, (int) reloc_addr & 1);
- break;
- case R_MN10300_8:
- *(char *) reloc_addr = value;
- break;
- case R_MN10300_PCREL32:
- value -= (Elf32_Addr) reloc_addr;
- COPY_UNALIGNED_WORD (value, *reloc_addr, (int) reloc_addr & 3);
- break;
- case R_MN10300_PCREL16:
- value -= (Elf32_Addr) reloc_addr;
- COPY_UNALIGNED_HALFWORD (value, *reloc_addr, (int) reloc_addr & 1);
- break;
- case R_MN10300_PCREL8:
- value -= (Elf32_Addr) reloc_addr;
- *(char *) reloc_addr = (value - (Elf32_Addr) reloc_addr);
- break;
-#endif
- case R_MN10300_NONE: /* Alright, Wilbur. */
- break;
-#if !defined RTLD_BOOTSTRAP || defined _NDEBUG
- default:
- _dl_reloc_bad_type (map, ELFW(R_TYPE) (reloc->r_info), 0);
- break;
-#endif
- }
-
- }
-}
-
-static inline void
-elf_machine_rela_relative (Elf32_Addr l_addr, const Elf32_Rela *reloc,
- void *const reloc_addr_arg)
-{
- Elf32_Addr value, *reloc_addr;
-
- asm ("" : "=r" (reloc_addr) : "0" (reloc_addr_arg));
-
- COPY_UNALIGNED_WORD (*reloc_addr, value, (int)reloc_addr & 3);
- value += l_addr;
- COPY_UNALIGNED_WORD (value, *reloc_addr, (int)reloc_addr & 3);
-}
-
-static inline void
-elf_machine_lazy_rel (struct link_map *map,
- Elf32_Addr l_addr, const Elf32_Rela *reloc,
- int skip_ifunc)
-{
- unsigned long int const r_type = ELF32_R_TYPE (reloc->r_info);
-
- /* Check for unexpected PLT reloc type. */
- if (__builtin_expect (r_type, R_MN10300_JMP_SLOT) == R_MN10300_JMP_SLOT)
- {
- Elf32_Addr* const reloc_addr = (void *)(l_addr + reloc->r_offset);
- Elf32_Addr value;
-
- /* Perform a RELATIVE reloc on the .got entry that transfers
- to the .plt. */
- COPY_UNALIGNED_WORD (*reloc_addr, value, (int)reloc_addr & 3);
- value += l_addr;
- COPY_UNALIGNED_WORD (value, *reloc_addr, (int)reloc_addr & 3);
- }
- else if (__builtin_expect (r_type, R_MN10300_NONE) != R_MN10300_NONE)
- _dl_reloc_bad_type (map, ELFW(R_TYPE) (reloc->r_info), 1);
-
-}
-
-#endif /* RESOLVE */
diff --git a/ports/sysdeps/am33/elf/start.S b/ports/sysdeps/am33/elf/start.S
deleted file mode 100644
index 265ad215c8..0000000000
--- a/ports/sysdeps/am33/elf/start.S
+++ /dev/null
@@ -1,78 +0,0 @@
-/* Startup code compliant to the ELF MN10300 ABI.
- Copyright (C) 1995-2014 Free Software Foundation, Inc.
- Contributed by Alexandre Oliva <aoliva@redhat.com>
- Based on ../../i386/elf/start.S.
- 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 is the canonical entry point, usually the first thing in the text
- segment. The SVR4/i386 ABI (pages 3-31, 3-32) says that when the entry
- point runs, most registers' values are unspecified, except for:
-
- a0 Contains a function pointer to be registered with `atexit'.
- This is how the dynamic linker arranges to have DT_FINI
- functions called for shared libraries that have been loaded
- before this code runs.
-
- sp The stack contains the arguments and environment:
- (4,sp) argc
- (8,sp) argv[0]
- ...
- (4*(argc+1),sp) NULL
- (4*(argc+2),sp) envp[0]
- ...
- NULL
-*/
-
- .text
- .globl _start
- .type _start,@function
-_start:
- /* Extract the arguments as encoded on the stack and set up
- the arguments for `main': argc, argv. envp will be determined
- later in __libc_start_main. */
- mov sp,a3
- add -32,sp
-
- mov a3,(28,sp) /* stack_end. */
- mov d0,(24,sp) /* rtld_fini. */
- mov _fini, d3
- mov d3,(20,sp) /* fini. */
- mov _init, d2
- mov d2,(16,sp) /* init. */
- inc4 a3
- mov a3,(12,sp) /* argv. */
-
- /* Set the initial frame pointer as 0, so that the bottom of
- the stack is clearly marked. */
- mov 0,a3
-
- mov (32,sp), d1 /* argc. */
- mov main, d0 /* main. */
-
- /* Call the user's main function, and exit with its value.
- But let the libc call main. */
- call __libc_start_main,[],0
-
- call abort,[],0 /* Crash if somehow `exit' does return. */
-
-/* Define a symbol for the first piece of initialized data. */
- .data
- .globl __data_start
-__data_start:
- .long 0
- .weak data_start
- data_start = __data_start
diff --git a/ports/sysdeps/am33/fpu/bits/fenv.h b/ports/sysdeps/am33/fpu/bits/fenv.h
deleted file mode 100644
index e4a396dd0b..0000000000
--- a/ports/sysdeps/am33/fpu/bits/fenv.h
+++ /dev/null
@@ -1,72 +0,0 @@
-/* Copyright (C) 1998-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Alexandre Oliva <aoliva@redhat.com>
- based on the corresponding file in the mips port.
-
- 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
-
-
-/* Define bits representing the exception. We use the EF bit
- positions of the appropriate bits in the FPCR register. */
-enum
- {
- FE_INEXACT =
-#define FE_INEXACT 0x01
- FE_INEXACT,
- FE_UNDERFLOW =
-#define FE_UNDERFLOW 0x02
- FE_UNDERFLOW,
- FE_OVERFLOW =
-#define FE_OVERFLOW 0x04
- FE_OVERFLOW,
- FE_DIVBYZERO =
-#define FE_DIVBYZERO 0x08
- FE_DIVBYZERO,
- FE_INVALID =
-#define FE_INVALID 0x10
- FE_INVALID,
- };
-
-#define FE_ALL_EXCEPT \
- (FE_INEXACT | FE_DIVBYZERO | FE_UNDERFLOW | FE_OVERFLOW | FE_INVALID)
-
-/* The AM33/2.0 FPU supports only Round to nearest. Bits 3<<16 are
- reserved to represent other rounding modes. */
-enum
- {
- FE_TONEAREST =
-#define FE_TONEAREST 0x00000
- FE_TONEAREST,
- };
-
-
-/* Type representing exception flags. */
-typedef unsigned int fexcept_t;
-
-
-/* Type representing floating-point environment. */
-typedef unsigned int fenv_t;
-
-/* If the default argument is used we use this value. */
-#define FE_DFL_ENV ((__const fenv_t *) -1)
-
-#ifdef __USE_GNU
-/* Floating-point environment where none of the exception is masked. */
-# define FE_NOMASK_ENV ((__const fenv_t *) -2)
-#endif
diff --git a/ports/sysdeps/am33/fpu/fclrexcpt.c b/ports/sysdeps/am33/fpu/fclrexcpt.c
deleted file mode 100644
index 12bda643fe..0000000000
--- a/ports/sysdeps/am33/fpu/fclrexcpt.c
+++ /dev/null
@@ -1,52 +0,0 @@
-/* Clear given exceptions in current floating-point environment.
- Copyright (C) 1998-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Alexandre Oliva <aoliva@redhat.com>
- based on corresponding file in the MIPS port.
-
- 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 <fenv.h>
-#include <fenv_libc.h>
-#include <fpu_control.h>
-#include <shlib-compat.h>
-
-int
-__feclearexcept (int excepts)
-{
- fpu_control_t cw;
-
- /* Mask out unsupported bits/exceptions. */
- excepts &= FE_ALL_EXCEPT;
-
- /* Read the complete control word. */
- _FPU_GETCW (cw);
-
- /* Clear exception flag bits and cause bits. EF bits are cleared by
- assigning 1 to them (and there's no way to set them); other bits
- are copied normally. */
-
- cw &= ~((excepts << CAUSE_SHIFT) | FE_ALL_EXCEPT);
- cw |= excepts;
-
- /* Put the new data in effect. */
- _FPU_SETFCW (cw);
-
- /* Success. */
- return 0;
-}
-
-libm_hidden_ver (__feclearexcept, feclearexcept)
-versioned_symbol (libm, __feclearexcept, feclearexcept, GLIBC_2_2);
diff --git a/ports/sysdeps/am33/fpu/fedisblxcpt.c b/ports/sysdeps/am33/fpu/fedisblxcpt.c
deleted file mode 100644
index 5273d9023f..0000000000
--- a/ports/sysdeps/am33/fpu/fedisblxcpt.c
+++ /dev/null
@@ -1,41 +0,0 @@
-/* Disable floating-point exceptions.
- Copyright (C) 2000-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Alexandre Oliva <aoliva@redhat.com>
- based on corresponding file in the MIPS port.
-
- 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 <fenv.h>
-#include <fenv_libc.h>
-#include <fpu_control.h>
-
-int
-fedisableexcept (int excepts)
-{
- fpu_control_t new_exc, old_exc;
-
- /* Get the current control word. */
- _FPU_GETCW (new_exc);
-
- old_exc = (new_exc & ENABLE_MASK) >> ENABLE_SHIFT;
-
- excepts &= FE_ALL_EXCEPT;
-
- new_exc &= ~(excepts << ENABLE_SHIFT);
- _FPU_SETCW (new_exc);
-
- return old_exc;
-}
diff --git a/ports/sysdeps/am33/fpu/feenablxcpt.c b/ports/sysdeps/am33/fpu/feenablxcpt.c
deleted file mode 100644
index ae4808a458..0000000000
--- a/ports/sysdeps/am33/fpu/feenablxcpt.c
+++ /dev/null
@@ -1,41 +0,0 @@
-/* Enable floating-point exceptions.
- Copyright (C) 2000-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Alexandre Oliva <aoliva@redhat.com>
- based on corresponding file in the MIPS port.
-
- 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 <fenv.h>
-#include <fenv_libc.h>
-#include <fpu_control.h>
-
-int
-feenableexcept (int excepts)
-{
- fpu_control_t new_exc, old_exc;
-
- /* Get the current control word. */
- _FPU_GETCW (new_exc);
-
- old_exc = (new_exc & ENABLE_MASK) >> ENABLE_SHIFT;
-
- excepts &= FE_ALL_EXCEPT;
-
- new_exc |= excepts << ENABLE_SHIFT;
- _FPU_SETCW (new_exc);
-
- return old_exc;
-}
diff --git a/ports/sysdeps/am33/fpu/fegetenv.c b/ports/sysdeps/am33/fpu/fegetenv.c
deleted file mode 100644
index 87853bad18..0000000000
--- a/ports/sysdeps/am33/fpu/fegetenv.c
+++ /dev/null
@@ -1,34 +0,0 @@
-/* Store current floating-point environment.
- Copyright (C) 1998-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Alexandre Oliva <aoliva@redhat.com>
- based on corresponding file in the MIPS port.
-
- 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 <fenv.h>
-#include <fpu_control.h>
-#include <shlib-compat.h>
-
-int
-__fegetenv (fenv_t *envp)
-{
- _FPU_GETCW (*envp);
-
- /* Success. */
- return 0;
-}
-
-versioned_symbol (libm, __fegetenv, fegetenv, GLIBC_2_2);
diff --git a/ports/sysdeps/am33/fpu/fegetexcept.c b/ports/sysdeps/am33/fpu/fegetexcept.c
deleted file mode 100644
index 01f7c0caa6..0000000000
--- a/ports/sysdeps/am33/fpu/fegetexcept.c
+++ /dev/null
@@ -1,34 +0,0 @@
-/* Get enabled floating-point exceptions.
- Copyright (C) 2000-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Alexandre Oliva <aoliva@redhat.com>
- based on corresponding file in the MIPS port.
-
- 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 <fenv.h>
-#include <fenv_libc.h>
-#include <fpu_control.h>
-
-int
-fegetexcept (void)
-{
- unsigned int exc;
-
- /* Get the current control word. */
- _FPU_GETCW (exc);
-
- return (exc & ENABLE_MASK) >> ENABLE_SHIFT;
-}
diff --git a/ports/sysdeps/am33/fpu/fegetround.c b/ports/sysdeps/am33/fpu/fegetround.c
deleted file mode 100644
index d946d9b6e8..0000000000
--- a/ports/sysdeps/am33/fpu/fegetround.c
+++ /dev/null
@@ -1,35 +0,0 @@
-/* Return current rounding direction.
- Copyright (C) 1998-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Alexandre Oliva <aoliva@redhat.com>
- based on corresponding file in the MIPS port.
-
- 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 <fenv.h>
-#include <fenv_libc.h>
-#include <fpu_control.h>
-
-int
-fegetround (void)
-{
- int cw;
-
- /* Get control word. */
- _FPU_GETCW (cw);
-
- return (cw & ROUND_MASK);
-}
-libm_hidden_def (fegetround)
diff --git a/ports/sysdeps/am33/fpu/feholdexcpt.c b/ports/sysdeps/am33/fpu/feholdexcpt.c
deleted file mode 100644
index 1e662d0eec..0000000000
--- a/ports/sysdeps/am33/fpu/feholdexcpt.c
+++ /dev/null
@@ -1,38 +0,0 @@
-/* Store current floating-point environment and clear exceptions.
- Copyright (C) 2000-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Alexandre Oliva <aoliva@redhat.com>
- based on corresponding file in the MIPS port.
-
- 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 <fenv.h>
-#include <fpu_control.h>
-
-int
-feholdexcept (fenv_t *envp)
-{
- fpu_control_t cw;
-
- /* Save the current state. */
- _FPU_GETCW (cw);
- *envp = cw;
-
- /* Clear all exception enable bits and flags. */
- cw &= ~(_FPU_MASK_V|_FPU_MASK_Z|_FPU_MASK_O|_FPU_MASK_U|_FPU_MASK_I);
- _FPU_SETFCW (cw);
-
- return 0;
-}
diff --git a/ports/sysdeps/am33/fpu/fenv_libc.h b/ports/sysdeps/am33/fpu/fenv_libc.h
deleted file mode 100644
index ee19a04eb2..0000000000
--- a/ports/sysdeps/am33/fpu/fenv_libc.h
+++ /dev/null
@@ -1,32 +0,0 @@
-/* Copyright (C) 2000-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Alexandre Oliva <aoliva@redhat.com>
- based on the corresponding file in the mips port.
-
- 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_LIBC_H
-#define _FENV_LIBC_H 1
-
-/* Mask for enabling exceptions and for the CAUSE bits. */
-#define ENABLE_MASK 0x003E0U
-#define CAUSE_MASK 0x07C00U
-#define ROUND_MASK 0x30000U
-
-/* Shift for FE_* flags to get up to the ENABLE bits and the CAUSE bits. */
-#define ENABLE_SHIFT 5
-#define CAUSE_SHIFT 10
-
-#endif /* _FENV_LIBC_H */
diff --git a/ports/sysdeps/am33/fpu/fesetenv.c b/ports/sysdeps/am33/fpu/fesetenv.c
deleted file mode 100644
index 7a09cfb0dc..0000000000
--- a/ports/sysdeps/am33/fpu/fesetenv.c
+++ /dev/null
@@ -1,59 +0,0 @@
-/* Install given floating-point environment.
- Copyright (C) 1998-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Alexandre Oliva <aoliva@redhat.com>
- based on corresponding file in the MIPS port.
-
- 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 <fenv.h>
-#include <fpu_control.h>
-#include <shlib-compat.h>
-
-int
-__fesetenv (const fenv_t *envp)
-{
- fpu_control_t cw;
-
- /* We want to clear all EF bits for the default end IEEE. */
-
- if (envp == FE_DFL_ENV)
- _FPU_SETFCW (_FPU_DEFAULT|FE_ALL_EXCEPT);
- else if (envp == FE_NOMASK_ENV)
- _FPU_SETFCW (_FPU_IEEE|FE_ALL_EXCEPT);
- else
- {
- fpu_control_t temp;
-
- _FPU_GETCW (temp);
- cw = *envp;
-
- /* If EF bits are cleared and the user requests them to be set,
- we have to fail, because there's no way to do it. */
- if (~temp & cw & FE_ALL_EXCEPT)
- return -1;
-
- /* We clear EF bits by storing a 1 in them, so flip the
- FE_ALL_EXCEPT bits. */
- cw = (cw & ~FE_ALL_EXCEPT) | (~cw & FE_ALL_EXCEPT);
- _FPU_SETFCW (cw);
- }
-
- /* Success. */
- return 0;
-}
-
-libm_hidden_ver (__fesetenv, fesetenv)
-versioned_symbol (libm, __fesetenv, fesetenv, GLIBC_2_2);
diff --git a/ports/sysdeps/am33/fpu/fesetround.c b/ports/sysdeps/am33/fpu/fesetround.c
deleted file mode 100644
index 882e7dc576..0000000000
--- a/ports/sysdeps/am33/fpu/fesetround.c
+++ /dev/null
@@ -1,28 +0,0 @@
-/* Set current rounding direction.
- Copyright (C) 2004-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Alexandre Oliva <aoliva@redhat.com>
-
- 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 <fenv.h>
-
-int
-fesetround (int round)
-{
- /* The only supported rounding mode is to-nearest. Just check
- whether we're switching to it. */
- return (round != FE_TONEAREST);
-}
diff --git a/ports/sysdeps/am33/fpu/feupdateenv.c b/ports/sysdeps/am33/fpu/feupdateenv.c
deleted file mode 100644
index 11f9ef8116..0000000000
--- a/ports/sysdeps/am33/fpu/feupdateenv.c
+++ /dev/null
@@ -1,46 +0,0 @@
-/* Install given floating-point environment and raise exceptions.
- Copyright (C) 1998-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Alexandre Oliva <aoliva@redhat.com>
- based on corresponding file in the MIPS port.
-
- 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 <fenv.h>
-#include <fpu_control.h>
-#include <shlib-compat.h>
-
-int
-__feupdateenv (const fenv_t *envp)
-{
- int temp;
-
- /* Save current exceptions. */
- _FPU_GETCW (temp);
- temp &= FE_ALL_EXCEPT;
-
- /* Install new environment. */
- fesetenv (envp);
-
- /* Raise the safed exception. Incidently for us the implementation
- defined format of the values in objects of type fexcept_t is the
- same as the ones specified using the FE_* constants. */
- feraiseexcept (temp);
-
- /* Success. */
- return 0;
-}
-
-versioned_symbol (libm, __feupdateenv, feupdateenv, GLIBC_2_2);
diff --git a/ports/sysdeps/am33/fpu/fgetexcptflg.c b/ports/sysdeps/am33/fpu/fgetexcptflg.c
deleted file mode 100644
index 8b09e9797d..0000000000
--- a/ports/sysdeps/am33/fpu/fgetexcptflg.c
+++ /dev/null
@@ -1,43 +0,0 @@
-/* Store current representation for exceptions.
- Copyright (C) 1998-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Alexandre Oliva <aoliva@redhat.com>
- based on corresponding file in the MIPS port.
-
- 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 <fenv.h>
-#include <fpu_control.h>
-#include <shlib-compat.h>
-
-int
-__fegetexceptflag (fexcept_t *flagp, int excepts)
-{
- fexcept_t temp;
-
- /* Get the current exceptions. */
- _FPU_GETCW (temp);
-
- /* We only save the relevant bits here. In particular, care has to be
- taken with the CAUSE bits, as an inadvertent restore later on could
- generate unexpected exceptions. */
-
- *flagp = temp & excepts & FE_ALL_EXCEPT;
-
- /* Success. */
- return 0;
-}
-
-versioned_symbol (libm, __fegetexceptflag, fegetexceptflag, GLIBC_2_2);
diff --git a/ports/sysdeps/am33/fpu/fpu_control.h b/ports/sysdeps/am33/fpu/fpu_control.h
deleted file mode 100644
index 8b1715f3fd..0000000000
--- a/ports/sysdeps/am33/fpu/fpu_control.h
+++ /dev/null
@@ -1,73 +0,0 @@
-/* FPU control word bits. AM33/2.0 version.
- Copyright (C) 1996-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Alexandre Oliva <aoliva@redhat.com>
- based on the corresponding file in the mips port.
-
- 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 _FPU_CONTROL_H
-#define _FPU_CONTROL_H
-
-/* AM33/2.0 FPU floating point control register bits.
- *
- * 31-22 -> reserved
- * 21-18 -> floating-point condition codes (L, G, E, U)
- * 17-16 -> rounding modes (00 is to-nearest; other values are reserved
- * 15 -> reserved (read as 0, write with 0)
- * 14-10 -> Exception Cause (inValid, divZero, Overflow, Underflow, Inexact)
- * 9- 5 -> Exception Enable
- * 4- 0 -> Exception Flag, cleared when exception cause is set
- */
-
-#include <features.h>
-#include <fenv.h>
-
-/* masking of interrupts */
-#define _FPU_MASK_V 0x0200 /* Invalid operation */
-#define _FPU_MASK_Z 0x0100 /* Division by zero */
-#define _FPU_MASK_O 0x0080 /* Overflow */
-#define _FPU_MASK_U 0x0040 /* Underflow */
-#define _FPU_MASK_I 0x0020 /* Inexact operation */
-
-/* rounding control */
-#define _FPU_RC_NEAREST 0x0 /* Only available mode */
-
-#define _FPU_RESERVED 0xffc08000 /* Reserved bits in fpcr */
-
-
-/* The fdlibm code requires strict IEEE double precision arithmetic,
- and no interrupts for exceptions, rounding to nearest. */
-
-#define _FPU_DEFAULT 0x0000001f
-
-/* IEEE: same as above, but exceptions */
-#define _FPU_IEEE 0x000003ff
-
-/* Type of the control word. */
-typedef unsigned int fpu_control_t;
-
-/* Macros for accessing the hardware control word. _FPU_SETCW is
- defined such that it won't modify the EF bits, that are cleared
- when assigned bits that are set. Use SETFCW to get them actually
- reset. */
-#define _FPU_SETFCW(cw) __asm__ ("fmov %0,fpcr" : : "ri" (cw))
-#define _FPU_SETCW(cw) _FPU_SETFCW((cw) & ~FE_ALL_EXCEPT)
-#define _FPU_GETCW(cw) __asm__ ("fmov fpcr,%0" : "=r" (cw))
-
-/* Default control word set at startup. */
-extern fpu_control_t __fpu_control;
-
-#endif /* fpu_control.h */
diff --git a/ports/sysdeps/am33/fpu/fraiseexcpt.c b/ports/sysdeps/am33/fpu/fraiseexcpt.c
deleted file mode 100644
index b86a51eb8e..0000000000
--- a/ports/sysdeps/am33/fpu/fraiseexcpt.c
+++ /dev/null
@@ -1,78 +0,0 @@
-/* Raise given exceptions.
- Copyright (C) 2000-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Alexandre Oliva <aoliva@redhat.com>
- based on corresponding file in the M68K port.
-
- 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 <fenv.h>
-#include <float.h>
-#include <math.h>
-#include <shlib-compat.h>
-
-int
-__feraiseexcept (int excepts)
-{
- /* Raise exceptions represented by EXCEPTS. But we must raise only one
- signal at a time. It is important that if the overflow/underflow
- exception and the divide by zero exception are given at the same
- time, the overflow/underflow exception follows the divide by zero
- exception. */
-
- /* First: invalid exception. */
- if (excepts & FE_INVALID)
- {
- /* One example of an invalid operation is 0 * Infinity. */
- float x = HUGE_VALF, y = 0.0f;
- __asm__ __volatile__ ("fmul %1,%0" : "+f" (x) : "f" (y));
- }
-
- /* Next: division by zero. */
- if (excepts & FE_DIVBYZERO)
- {
- float x = 1.0f, y = 0.0f;
- __asm__ __volatile__ ("fdiv %1,%0" : "+f" (x) : "f" (y));
- }
-
- /* Next: overflow. */
- if (excepts & FE_OVERFLOW)
- {
- float x = FLT_MAX;
-
- __asm__ __volatile__ ("fmul %0,%0" : "+f" (x));
- }
-
- /* Next: underflow. */
- if (excepts & FE_UNDERFLOW)
- {
- float x = -FLT_MIN;
-
- __asm__ __volatile__ ("fmul %0,%0" : "+f" (x));
- }
-
- /* Last: inexact. */
- if (excepts & FE_INEXACT)
- {
- float x = 1.0f, y = 3.0f;
- __asm__ __volatile__ ("fdiv %1,%0" : "=f" (x) : "f" (y));
- }
-
- /* Success. */
- return 0;
-}
-
-libm_hidden_ver (__feraiseexcept, feraiseexcept)
-versioned_symbol (libm, __feraiseexcept, feraiseexcept, GLIBC_2_2);
diff --git a/ports/sysdeps/am33/fpu/fsetexcptflg.c b/ports/sysdeps/am33/fpu/fsetexcptflg.c
deleted file mode 100644
index 7b7ab84082..0000000000
--- a/ports/sysdeps/am33/fpu/fsetexcptflg.c
+++ /dev/null
@@ -1,56 +0,0 @@
-/* Set floating-point environment exception handling.
- Copyright (C) 1998-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Alexandre Oliva <aoliva@redhat.com>
- based on corresponding file in the MIPS port.
-
- 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 <fenv.h>
-#include <fpu_control.h>
-#include <shlib-compat.h>
-
-int
-__fesetexceptflag (const fexcept_t *flagp, int excepts)
-{
- fpu_control_t cw, temp;
-
- /* Get the current exceptions. */
- _FPU_GETCW (cw);
-
- /* Make sure the flags we want restored are legal. */
- excepts &= FE_ALL_EXCEPT;
- temp = *flagp & excepts;
-
- /* If EF bits are clear and the user requests them to be set,
- we have to fail, because there's no way to do it. */
- if (~(cw & excepts) & temp)
- return -1;
-
- /* We clear EF bits by storing a 1 in them, so flip the
- FE_ALL_EXCEPT bits. */
- temp = (~temp & FE_ALL_EXCEPT);
-
- /* Now clear the bits called for, and copy them in from flagp. Note that
- we ignore all non-flag bits from *flagp, so they don't matter. */
- cw = (cw & ~FE_ALL_EXCEPT) | temp;
-
- _FPU_SETFCW (cw);
-
- /* Success. */
- return 0;
-}
-
-versioned_symbol (libm, __fesetexceptflag, fesetexceptflag, GLIBC_2_2);
diff --git a/ports/sysdeps/am33/fpu/ftestexcept.c b/ports/sysdeps/am33/fpu/ftestexcept.c
deleted file mode 100644
index fc43de5a99..0000000000
--- a/ports/sysdeps/am33/fpu/ftestexcept.c
+++ /dev/null
@@ -1,33 +0,0 @@
-/* Test exception in current environment.
- Copyright (C) 1998-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Alexandre Oliva <aoliva@redhat.com>
- based on corresponding file in the MIPS port.
-
- 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 <fenv.h>
-#include <fpu_control.h>
-
-int
-fetestexcept (int excepts)
-{
- int cw;
-
- /* Get current control word. */
- _FPU_GETCW (cw);
-
- return cw & excepts & FE_ALL_EXCEPT;
-}
diff --git a/ports/sysdeps/am33/jmpbuf-offsets.h b/ports/sysdeps/am33/jmpbuf-offsets.h
deleted file mode 100644
index cccfdb32aa..0000000000
--- a/ports/sysdeps/am33/jmpbuf-offsets.h
+++ /dev/null
@@ -1,19 +0,0 @@
-/* Private macros for accessing __jmp_buf contents. AM33 version.
- Copyright (C) 2006-2014 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 __JMP_BUF_SP 20
diff --git a/ports/sysdeps/am33/jmpbuf-unwind.h b/ports/sysdeps/am33/jmpbuf-unwind.h
deleted file mode 100644
index 0d28bf6f77..0000000000
--- a/ports/sysdeps/am33/jmpbuf-unwind.h
+++ /dev/null
@@ -1,25 +0,0 @@
-/* Examine __jmp_buf for unwinding frames. AM33 version.
- Copyright (C) 2006-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <setjmp.h>
-#include <jmpbuf-offsets.h>
-
-/* 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[__JMP_BUF_SP]))
diff --git a/ports/sysdeps/am33/linuxthreads/pspinlock.c b/ports/sysdeps/am33/linuxthreads/pspinlock.c
deleted file mode 100644
index 8113907a7a..0000000000
--- a/ports/sysdeps/am33/linuxthreads/pspinlock.c
+++ /dev/null
@@ -1,73 +0,0 @@
-/* POSIX spinlock implementation. AM33 version.
- Copyright 2001-2014 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 Library General Public License as
- published by the Free Software Foundation; either version 2 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
- Library General Public License for more details.
-
- You should have received a copy of the GNU Library General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <errno.h>
-#include <pthread.h>
-#include "internals.h"
-
-int
-__pthread_spin_lock (pthread_spinlock_t *lock)
-{
- __asm__ __volatile__("1: bset %1, (%0); beq 1b"
- : : "a" (lock), "d" (1) : "memory");
- return 0;
-}
-weak_alias (__pthread_spin_lock, pthread_spin_lock)
-
-
-int
-__pthread_spin_trylock (pthread_spinlock_t *lock)
-{
- int oldval = 1;
-
- __asm__ __volatile__ ("bset %0, (%1); beq 1f; clr %0; 1:" :
- "+d" (oldval) : "a" (lock) : "memory");
-
- return oldval ? EBUSY : 0;
-}
-weak_alias (__pthread_spin_trylock, pthread_spin_trylock)
-
-
-int
-__pthread_spin_unlock (pthread_spinlock_t *lock)
-{
- *lock = 0;
- return 0;
-}
-weak_alias (__pthread_spin_unlock, pthread_spin_unlock)
-
-
-int
-__pthread_spin_init (pthread_spinlock_t *lock, int pshared)
-{
- /* We can ignore the `pshared' parameter. Since we are busy-waiting
- all processes which can access the memory location `lock' points
- to can use the spinlock. */
- *lock = 0;
- return 0;
-}
-weak_alias (__pthread_spin_init, pthread_spin_init)
-
-
-int
-__pthread_spin_destroy (pthread_spinlock_t *lock)
-{
- /* Nothing to do. */
- return 0;
-}
-weak_alias (__pthread_spin_destroy, pthread_spin_destroy)
diff --git a/ports/sysdeps/am33/linuxthreads/pt-machine.h b/ports/sysdeps/am33/linuxthreads/pt-machine.h
deleted file mode 100644
index 9e11746fe8..0000000000
--- a/ports/sysdeps/am33/linuxthreads/pt-machine.h
+++ /dev/null
@@ -1,66 +0,0 @@
-/* Machine-dependent pthreads configuration and inline functions.
- am33 version.
- Copyright (C) 1996-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Alexandre Oliva <aoliva@redhat.com>
- Based on ../i386/pt-machine.h.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Library General Public License as
- published by the Free Software Foundation; either version 2 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
- Library General Public License for more details.
-
- You should have received a copy of the GNU Library General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#ifndef _PT_MACHINE_H
-#define _PT_MACHINE_H 1
-
-#ifndef __ASSEMBLER__
-#ifndef PT_EI
-# define PT_EI extern inline
-#endif
-
-/* Get some notion of the current stack. Need not be exactly the top
- of the stack, just something somewhere in the current frame. */
-#define CURRENT_STACK_FRAME __builtin_frame_address (0)
-
-/* Spinlock implementation; required. */
-PT_EI long int
-testandset (int *spinlock)
-{
- long int ret = 1;
-
- /* This won't test&set the entire int, only the least significant
- byte. I hope this doesn't matter, since we can't do better. */
- __asm__ __volatile__ ("bset %0, %1; bne 1f; clr %0; 1:" :
- "+d" (ret), "+m" (*(volatile int *)spinlock));
-
- return ret;
-}
-
-
-PT_EI int
-get_eflags (void)
-{
- int res;
- __asm__ __volatile__ ("mov psw,%0" : "=d" (res));
- return res;
-}
-
-
-PT_EI void
-set_eflags (int newflags)
-{
- __asm__ __volatile__ ("mov %0,psw" : : "d" (newflags) : "cc");
-}
-
-#endif /* __ASSEMBLER__ */
-
-#endif /* pt-machine.h */
diff --git a/ports/sysdeps/am33/memusage.h b/ports/sysdeps/am33/memusage.h
deleted file mode 100644
index 236743d6a3..0000000000
--- a/ports/sysdeps/am33/memusage.h
+++ /dev/null
@@ -1,22 +0,0 @@
-/* Copyright 2000-2014 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() ({ uintptr_t stack_ptr; \
- asm ("mov sp,%0" : "=a" (stack_ptr)); \
- stack_ptr; })
-
-#include <sysdeps/generic/memusage.h>
diff --git a/ports/sysdeps/am33/preconfigure b/ports/sysdeps/am33/preconfigure
deleted file mode 100644
index 9495465389..0000000000
--- a/ports/sysdeps/am33/preconfigure
+++ /dev/null
@@ -1,5 +0,0 @@
-case "$machine" in
-am33*)
- base_machine=am33 machine=am33
- ;;
-esac
diff --git a/ports/sysdeps/am33/setjmp.S b/ports/sysdeps/am33/setjmp.S
deleted file mode 100644
index d03b0c7278..0000000000
--- a/ports/sysdeps/am33/setjmp.S
+++ /dev/null
@@ -1,79 +0,0 @@
-/* setjmp for am33.
- Copyright (C) 2001-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <sysdep.h>
-#define _ASM
-#define _SETJMP_H
-#include <bits/setjmp.h>
-#include <asm-syntax.h>
-
-
-ENTRY (__sigsetjmp)
-.Lsigsetjmp:
- /* Save registers. */
- mov d0,a0
- mov d2,(0,a0)
- mov d3,(4,a0)
- mov mdr,d0
- mov d0,(8,a0)
- /* Restore d0 for __sigjmp_save. */
- mov a0,d0
- mov a2,(12,a0)
- mov a3,(16,a0)
- mov sp,a1
- mov a1,(20,a0)
- add 24,a0
- mov r4,(a0+)
- mov r5,(a0+)
- mov r6,(a0+)
- mov r7,(a0+)
-#ifdef __AM33_2__
- fmov fs4,(a0+)
- fmov fs5,(a0+)
- fmov fs6,(a0+)
- fmov fs7,(a0+)
- fmov fs8,(a0+)
- fmov fs9,(a0+)
- fmov fs10,(a0+)
- fmov fs11,(a0+)
- fmov fs12,(a0+)
- fmov fs13,(a0+)
- fmov fs14,(a0+)
- fmov fs15,(a0+)
- fmov fs16,(a0+)
- fmov fs17,(a0+)
- fmov fs18,(a0+)
- fmov fs19,(a0+)
-#endif
- /* Make a tail call to __sigjmp_save; it takes the same args. */
- jmp __sigjmp_save
-END (__sigsetjmp)
-
-/* BSD `_setjmp' entry point to `sigsetjmp (..., 1)'. */
-ENTRY (setjmp)
- /* Tail-call setsetjmp with savesigs==1. */
- mov 1,d1
- bra .Lsigsetjmp
-END (setjmp)
-
-/* BSD `_setjmp' entry point to `sigsetjmp (..., 0)'. */
-ENTRY (_setjmp)
- /* Tail-call setsetjmp with savesigs==0. */
- clr d1
- bra .Lsigsetjmp
-END (_setjmp)
diff --git a/ports/sysdeps/am33/shlib-versions b/ports/sysdeps/am33/shlib-versions
deleted file mode 100644
index ad6ded9dc4..0000000000
--- a/ports/sysdeps/am33/shlib-versions
+++ /dev/null
@@ -1 +0,0 @@
-am33.*-.*-linux.* DEFAULT GLIBC_2.2.5
diff --git a/ports/sysdeps/am33/stackinfo.h b/ports/sysdeps/am33/stackinfo.h
deleted file mode 100644
index 50079fd5f0..0000000000
--- a/ports/sysdeps/am33/stackinfo.h
+++ /dev/null
@@ -1,27 +0,0 @@
-/* Copyright 2001-2014 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
-
-/* On am33 the stack grows down. */
-#define _STACK_GROWS_DOWN 1
-
-#endif /* stackinfo.h */
diff --git a/ports/sysdeps/am33/sys/ucontext.h b/ports/sysdeps/am33/sys/ucontext.h
deleted file mode 100644
index bc2af63a81..0000000000
--- a/ports/sysdeps/am33/sys/ucontext.h
+++ /dev/null
@@ -1,122 +0,0 @@
-/* Copyright 1997-2014 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 Library General Public License as
- published by the Free Software Foundation; either version 2 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
- Library General Public License for more details.
-
- You should have received a copy of the GNU Library General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-/* AM33/2.0 context switching support. */
-
-#ifndef _SYS_UCONTEXT_H
-#define _SYS_UCONTEXT_H 1
-
-#include <features.h>
-#include <signal.h>
-
-/* Type for general register. */
-typedef int greg_t;
-
-/* Number of general registers. */
-#define NGREG 28
-
-/* Container for all general registers. */
-typedef greg_t gregset_t[NGREG];
-
-/* Number of each register is the `gregset_t' array. */
-enum
-{
- REG_D0 = 0,
-#define REG_D0 REG_D0
- REG_D1,
-#define REG_D1 REG_D1
- REG_D2,
-#define REG_D2 REG_D2
- REG_D3,
-#define REG_D3 REG_D3
- REG_A0,
-#define REG_A0 REG_A0
- REG_A1,
-#define REG_A1 REG_A1
- REG_A2,
-#define REG_A2 REG_A2
- REG_A3,
-#define REG_A3 REG_A3
- REG_E0,
-#define REG_E0 REG_E0
- REG_E1,
-#define REG_E1 REG_E1
- REG_E2,
-#define REG_E2 REG_E2
- REG_E3,
-#define REG_E3 REG_E3
- REG_E4,
-#define REG_E4 REG_E4
- REG_E5,
-#define REG_E5 REG_E5
- REG_E6,
-#define REG_E6 REG_E6
- REG_E7,
-#define REG_E7 REG_E7
- REG_LAR,
-#define REG_LAR REG_LAR
- REG_LIR,
-#define REG_LIR REG_LIR
- REG_MDR,
-#define REG_MDR REG_MDR
- REG_MCVF,
-#define REG_MCVF REG_MCVF
- REG_MCRL,
-#define REG_MCRL REG_MCRL
- REG_MCRH,
-#define REG_MCRH REG_MCRH
- REG_MDRQ,
-#define REG_MDRQ REG_MDRQ
- REG_SP,
-#define REG_SP REG_SP
- REG_EPSW,
-#define REG_EPSW REG_EPSW
- REG_PC,
-#define REG_PC REG_PC
-};
-
-typedef int freg_t;
-
-/* Structure to describe FPU registers. */
-typedef struct {
- union {
- double fp_dregs[16];
- float fp_fregs[32];
- freg_t fp_regs[32];
- } regs;
- freg_t fpcr;
-} fpregset_t;
-
-/* Context to describe whole processor state. */
-typedef struct
- {
- gregset_t gregs;
- fpregset_t fpregs;
- } mcontext_t;
-
-/* Userlevel context. */
-typedef struct ucontext
- {
- unsigned long int uc_flags;
- struct ucontext *uc_link;
- __sigset_t uc_sigmask;
- stack_t uc_stack;
- mcontext_t uc_mcontext;
- long int uc_filler[5];
- } ucontext_t;
-
-#endif /* sys/ucontext.h */
diff --git a/ports/sysdeps/am33/sysdep.h b/ports/sysdeps/am33/sysdep.h
deleted file mode 100644
index 70303e3277..0000000000
--- a/ports/sysdeps/am33/sysdep.h
+++ /dev/null
@@ -1,81 +0,0 @@
-/* Copyright 2001-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Alexandre Oliva <aoliva@redhat.com>.
- Based on ../i386/sysdep.h.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Library General Public License as
- published by the Free Software Foundation; either version 2 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
- Library General Public License for more details.
-
- You should have received a copy of the GNU Library 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. */
-
-#ifdef HAVE_ELF
-/* For ELF we need the `.type' directive to make shared libs work right. */
-#define ASM_TYPE_DIRECTIVE(name,typearg) .type name,typearg;
-#define ASM_SIZE_DIRECTIVE(name) .size name,.-name;
-
-/* In ELF C symbols are asm symbols. */
-#undef NO_UNDERSCORES
-#define NO_UNDERSCORES
-#else
-#define ASM_TYPE_DIRECTIVE(name,type) /* Nothing is specified. */
-#define ASM_SIZE_DIRECTIVE(name) /* Nothing is specified. */
-#endif
-
-/* Define an entry point visible from C. */
-#define ENTRY(name) \
- ASM_GLOBAL_DIRECTIVE C_SYMBOL_NAME(name); \
- ASM_TYPE_DIRECTIVE (C_SYMBOL_NAME(name),@function) \
- 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 \
- movm [a3],(sp); mov sp,a3; add -12,sp; \
- call JUMPTARGET(mcount),[],0; add 12,sp; movm (sp),[a3];
-#else
-#define CALL_MCOUNT /* Do nothing. */
-#endif
-
-#ifdef NO_UNDERSCORES
-/* 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
-#endif
-
-#undef JUMPTARGET
-#ifdef PIC
-#define JUMPTARGET(name) name##@PLT
-#else
-#define JUMPTARGET(name) name
-#endif
-
-/* Local label name for asm code. */
-#ifndef L
-#define L(name) name
-#endif
-
-#endif /* __ASSEMBLER__ */
diff --git a/ports/sysdeps/am33/tininess.h b/ports/sysdeps/am33/tininess.h
deleted file mode 100644
index 1db37790f8..0000000000
--- a/ports/sysdeps/am33/tininess.h
+++ /dev/null
@@ -1 +0,0 @@
-#define TININESS_AFTER_ROUNDING 1