mirror of
https://github.com/crosstool-ng/crosstool-ng.git
synced 2025-04-19 00:26:55 +00:00
glibc-ports: remove obsolete versions
The corresponding versions of glibc have been removed previously; kill their "ports" counterpart. Signed-off-by: Alexey Neyman <stilor@att.net>
This commit is contained in:
parent
30fb23dd89
commit
8d63665818
@ -1,72 +0,0 @@
|
||||
From 175cef4163dd60f95106cfd5f593b8a4e09d02c9 Mon Sep 17 00:00:00 2001
|
||||
From: Joseph Myers <joseph@codesourcery.com>
|
||||
Date: Tue, 20 May 2014 21:27:13 +0000
|
||||
Subject: [PATCH] Fix ARM build with GCC trunk.
|
||||
|
||||
sysdeps/unix/sysv/linux/arm/unwind-resume.c and
|
||||
sysdeps/unix/sysv/linux/arm/unwind-forcedunwind.c have static
|
||||
variables that are written in C code but only read from toplevel asms.
|
||||
Current GCC trunk now optimizes away such apparently write-only static
|
||||
variables, so causing a build failure. This patch marks those
|
||||
variables with __attribute_used__ to avoid that optimization.
|
||||
|
||||
Tested that this fixes the build for ARM.
|
||||
|
||||
* sysdeps/unix/sysv/linux/arm/unwind-forcedunwind.c
|
||||
(libgcc_s_resume): Use __attribute_used__.
|
||||
* sysdeps/unix/sysv/linux/arm/unwind-resume.c (libgcc_s_resume):
|
||||
Likewise.
|
||||
---
|
||||
sysdeps/unix/sysv/linux/arm/eabi/nptl/unwind-forcedunwind.c | 3 ++-
|
||||
sysdeps/unix/sysv/linux/arm/eabi/nptl/unwind-resume.c | 3 ++-
|
||||
sysdeps/unix/sysv/linux/arm/nptl/unwind-forcedunwind.c | 3 ++-
|
||||
sysdeps/unix/sysv/linux/arm/nptl/unwind-resume.c | 3 ++-
|
||||
4 files changed, 8 insertions(+), 4 deletions(-)
|
||||
--- a/sysdeps/unix/sysv/linux/arm/nptl/unwind-forcedunwind.c
|
||||
+++ b/sysdeps/unix/sysv/linux/arm/nptl/unwind-forcedunwind.c
|
||||
@@ -23,7 +23,8 @@
|
||||
#include <pthreadP.h>
|
||||
|
||||
static void *libgcc_s_handle;
|
||||
-static void (*libgcc_s_resume) (struct _Unwind_Exception *exc);
|
||||
+static void (*libgcc_s_resume) (struct _Unwind_Exception *exc)
|
||||
+ __attribute_used__;
|
||||
static _Unwind_Reason_Code (*libgcc_s_personality)
|
||||
(int, _Unwind_Action, _Unwind_Exception_Class, struct _Unwind_Exception *,
|
||||
struct _Unwind_Context *);
|
||||
--- a/sysdeps/unix/sysv/linux/arm/nptl/unwind-resume.c
|
||||
+++ b/sysdeps/unix/sysv/linux/arm/nptl/unwind-resume.c
|
||||
@@ -21,7 +21,8 @@
|
||||
#include <stdio.h>
|
||||
#include <unwind.h>
|
||||
|
||||
-static void (*libgcc_s_resume) (struct _Unwind_Exception *exc);
|
||||
+static void (*libgcc_s_resume) (struct _Unwind_Exception *exc)
|
||||
+ __attribute_used__;
|
||||
static _Unwind_Reason_Code (*libgcc_s_personality)
|
||||
(int, _Unwind_Action, _Unwind_Exception_Class, struct _Unwind_Exception *,
|
||||
struct _Unwind_Context *);
|
||||
--- a/sysdeps/unix/sysv/linux/arm/eabi/nptl/unwind-forcedunwind.c
|
||||
+++ b/sysdeps/unix/sysv/linux/arm/eabi/nptl/unwind-forcedunwind.c
|
||||
@@ -23,7 +23,8 @@
|
||||
#include <pthreadP.h>
|
||||
|
||||
static void *libgcc_s_handle;
|
||||
-static void (*libgcc_s_resume) (struct _Unwind_Exception *exc);
|
||||
+static void (*libgcc_s_resume) (struct _Unwind_Exception *exc)
|
||||
+ __attribute_used__;
|
||||
static _Unwind_Reason_Code (*libgcc_s_personality)
|
||||
(_Unwind_State, struct _Unwind_Exception *, struct _Unwind_Context *);
|
||||
static _Unwind_Reason_Code (*libgcc_s_forcedunwind)
|
||||
--- a/sysdeps/unix/sysv/linux/arm/eabi/nptl/unwind-resume.c
|
||||
+++ b/sysdeps/unix/sysv/linux/arm/eabi/nptl/unwind-resume.c
|
||||
@@ -21,7 +21,8 @@
|
||||
#include <stdio.h>
|
||||
#include <unwind.h>
|
||||
|
||||
-static void (*libgcc_s_resume) (struct _Unwind_Exception *exc);
|
||||
+static void (*libgcc_s_resume) (struct _Unwind_Exception *exc)
|
||||
+ __attribute_used__;
|
||||
static _Unwind_Reason_Code (*libgcc_s_personality)
|
||||
(_Unwind_State, struct _Unwind_Exception *, struct _Unwind_Context *);
|
||||
|
@ -1,99 +0,0 @@
|
||||
copied from kernel as it is sanitized now
|
||||
|
||||
---
|
||||
sysdeps/unix/sysv/linux/m68k/sys/user.h | 87 ++++++++++++++++++++++++++++++++
|
||||
1 file changed, 87 insertions(+)
|
||||
|
||||
--- a/sysdeps/unix/sysv/linux/m68k/sys/user.h
|
||||
+++ b/sysdeps/unix/sysv/linux/m68k/sys/user.h
|
||||
@@ -1,3 +1,90 @@
|
||||
+#ifndef _SYS_USER_H
|
||||
+#define _SYS_USER_H
|
||||
+
|
||||
+/* Core file format: The core file is written in such a way that gdb
|
||||
+ can understand it and provide useful information to the user (under
|
||||
+ linux we use the 'trad-core' bfd). There are quite a number of
|
||||
+ obstacles to being able to view the contents of the floating point
|
||||
+ registers, and until these are solved you will not be able to view the
|
||||
+ contents of them. Actually, you can read in the core file and look at
|
||||
+ the contents of the user struct to find out what the floating point
|
||||
+ registers contain.
|
||||
+ The actual file contents are as follows:
|
||||
+ UPAGE: 1 page consisting of a user struct that tells gdb what is present
|
||||
+ in the file. Directly after this is a copy of the task_struct, which
|
||||
+ is currently not used by gdb, but it may come in useful at some point.
|
||||
+ All of the registers are stored as part of the upage. The upage should
|
||||
+ always be only one page.
|
||||
+ DATA: The data area is stored. We use current->end_text to
|
||||
+ current->brk to pick up all of the user variables, plus any memory
|
||||
+ that may have been malloced. No attempt is made to determine if a page
|
||||
+ is demand-zero or if a page is totally unused, we just cover the entire
|
||||
+ range. All of the addresses are rounded in such a way that an integral
|
||||
+ number of pages is written.
|
||||
+ STACK: We need the stack information in order to get a meaningful
|
||||
+ backtrace. We need to write the data from (esp) to
|
||||
+ current->start_stack, so we round each of these off in order to be able
|
||||
+ to write an integer number of pages.
|
||||
+ The minimum core file size is 3 pages, or 12288 bytes.
|
||||
+*/
|
||||
+
|
||||
+struct user_m68kfp_struct {
|
||||
+ unsigned long fpregs[8*3]; /* fp0-fp7 registers */
|
||||
+ unsigned long fpcntl[3]; /* fp control regs */
|
||||
+};
|
||||
+
|
||||
+/* This is the old layout of "struct pt_regs" as of Linux 1.x, and
|
||||
+ is still the layout used by user (the new pt_regs doesn't have
|
||||
+ all registers). */
|
||||
+struct user_regs_struct {
|
||||
+ long d1,d2,d3,d4,d5,d6,d7;
|
||||
+ long a0,a1,a2,a3,a4,a5,a6;
|
||||
+ long d0;
|
||||
+ long usp;
|
||||
+ long orig_d0;
|
||||
+ short stkadj;
|
||||
+ short sr;
|
||||
+ long pc;
|
||||
+ short fmtvec;
|
||||
+ short __fill;
|
||||
+};
|
||||
+
|
||||
+
|
||||
+/* When the kernel dumps core, it starts by dumping the user struct -
|
||||
+ this will be used by gdb to figure out where the data and stack segments
|
||||
+ are within the file, and what virtual addresses to use. */
|
||||
+struct user{
|
||||
+/* We start with the registers, to mimic the way that "memory" is returned
|
||||
+ from the ptrace(3,...) function. */
|
||||
+ struct user_regs_struct regs; /* Where the registers are actually stored */
|
||||
+/* ptrace does not yet supply these. Someday.... */
|
||||
+ int u_fpvalid; /* True if math co-processor being used. */
|
||||
+ /* for this mess. Not yet used. */
|
||||
+ struct user_m68kfp_struct m68kfp; /* Math Co-processor registers. */
|
||||
+/* The rest of this junk is to help gdb figure out what goes where */
|
||||
+ unsigned long int u_tsize; /* Text segment size (pages). */
|
||||
+ unsigned long int u_dsize; /* Data segment size (pages). */
|
||||
+ unsigned long int u_ssize; /* Stack segment size (pages). */
|
||||
+ unsigned long start_code; /* Starting virtual address of text. */
|
||||
+ unsigned long start_stack; /* Starting virtual address of stack area.
|
||||
+ This is actually the bottom of the stack,
|
||||
+ the top of the stack is always found in the
|
||||
+ esp register. */
|
||||
+ long int signal; /* Signal that caused the core dump. */
|
||||
+ int reserved; /* No longer used */
|
||||
+ struct user_regs_struct *u_ar0;
|
||||
+ /* Used by gdb to help find the values for */
|
||||
+ /* the registers. */
|
||||
+ struct user_m68kfp_struct* u_fpstate; /* Math Co-processor pointer. */
|
||||
+ unsigned long magic; /* To uniquely identify a core file */
|
||||
+ char u_comm[32]; /* User command that was responsible */
|
||||
+};
|
||||
+#define NBPG 4096
|
||||
+#define UPAGES 1
|
||||
+#define HOST_TEXT_START_ADDR (u.start_code)
|
||||
+#define HOST_STACK_END_ADDR (u.start_stack + u.u_ssize * NBPG)
|
||||
+
|
||||
+#endif
|
||||
/* Copyright (C) 2008, 2010 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
|
@ -1,20 +0,0 @@
|
||||
2011-02-28 Aurelien Jarno <aurelien@aurel32.net>
|
||||
|
||||
* sysdeps/unix/sysv/linux/alpha/bits/fcntl.h (F_SETPIPE_SZ,
|
||||
F_GETPIPE_SZ): Define.
|
||||
|
||||
---
|
||||
sysdeps/unix/sysv/linux/alpha/bits/fcntl.h | 2 ++
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
--- a/sysdeps/unix/sysv/linux/alpha/bits/fcntl.h
|
||||
+++ b/sysdeps/unix/sysv/linux/alpha/bits/fcntl.h
|
||||
@@ -97,6 +97,8 @@
|
||||
# define F_SETLEASE 1024 /* Set a lease. */
|
||||
# define F_GETLEASE 1025 /* Enquire what lease is active. */
|
||||
# define F_NOTIFY 1026 /* Request notfications on a directory. */
|
||||
+# define F_SETPIPE_SZ 1031 /* Set pipe page size array. */
|
||||
+# define F_GETPIPE_SZ 1032 /* Set pipe page size array. */
|
||||
#endif
|
||||
#ifdef __USE_XOPEN2K8
|
||||
# define F_DUPFD_CLOEXEC 1030 /* Duplicate file descriptor with
|
@ -1,31 +0,0 @@
|
||||
2011-02-28 Aurelien Jarno <aurelien@aurel32.net>
|
||||
|
||||
* sysdeps/unix/sysv/linux/mips/bits/statfs.h (struct statfs,
|
||||
struct statfs64): Add f_flags field.
|
||||
|
||||
---
|
||||
sysdeps/unix/sysv/linux/alpha/bits/statfs.h | 6 ++++--
|
||||
1 file changed, 4 insertions(+), 2 deletions(-)
|
||||
|
||||
--- a/sysdeps/unix/sysv/linux/alpha/bits/statfs.h
|
||||
+++ b/sysdeps/unix/sysv/linux/alpha/bits/statfs.h
|
||||
@@ -42,7 +42,8 @@
|
||||
__fsid_t f_fsid;
|
||||
int f_namelen;
|
||||
int f_frsize;
|
||||
- int f_spare[5];
|
||||
+ int f_flags;
|
||||
+ int f_spare[4];
|
||||
};
|
||||
|
||||
#ifdef __USE_LARGEFILE64
|
||||
@@ -58,7 +59,8 @@
|
||||
__fsid_t f_fsid;
|
||||
int f_namelen;
|
||||
int f_frsize;
|
||||
- int f_spare[5];
|
||||
+ int f_flags;
|
||||
+ int f_spare[4];
|
||||
};
|
||||
#endif
|
||||
|
@ -1,16 +0,0 @@
|
||||
older verisons of glibc would build dl-sysdep as shared-only and dl-support as
|
||||
static-only. alpha hooks in a cache variable via dl-auxv.h. newer versions of
|
||||
glibc build dl-sysdep as both shared and static which means we now have symbol
|
||||
duplication for static builds with dl-sysdep and dl-support. since dl-sysdep
|
||||
is both shared/static, there is no point in hooking dl-support anymore, so we
|
||||
can punt it.
|
||||
|
||||
---
|
||||
sysdeps/unix/sysv/linux/alpha/dl-support.c | 1 -
|
||||
1 file changed, 1 deletion(-)
|
||||
|
||||
--- a/sysdeps/unix/sysv/linux/alpha/dl-support.c
|
||||
+++ b/sysdeps/unix/sysv/linux/alpha/dl-support.c
|
||||
@@ -1,2 +1 @@
|
||||
-#include "dl-auxv.h"
|
||||
#include <elf/dl-support.c>
|
@ -1,24 +0,0 @@
|
||||
2011-02-28 Aurelien Jarno <aurelien@aurel32.net>
|
||||
|
||||
* sysdeps/alpha/stackinfo.h: Define DEFAULT_STACK_PERMS with PF_X.
|
||||
|
||||
---
|
||||
sysdeps/alpha/stackinfo.h | 6 ++++++
|
||||
1 file changed, 6 insertions(+)
|
||||
|
||||
--- a/sysdeps/alpha/stackinfo.h
|
||||
+++ b/sysdeps/alpha/stackinfo.h
|
||||
@@ -22,7 +22,13 @@
|
||||
#ifndef _STACKINFO_H
|
||||
#define _STACKINFO_H 1
|
||||
|
||||
+#include <elf.h>
|
||||
+
|
||||
/* On Alpha 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 */
|
@ -1,54 +0,0 @@
|
||||
2006-05-30 Falk Hueffner <falk@debian.org>
|
||||
|
||||
* sysdeps/unix/sysv/linux/alpha/ioperm.c: force the architecture
|
||||
to ev6 in assembly code.
|
||||
|
||||
{standard input}: Assembler messages:
|
||||
{standard input}:341: Error: macro requires $at register while noat in effect
|
||||
{standard input}:374: Error: macro requires $at register while noat in effect
|
||||
{standard input}:438: Error: macro requires $at register while noat in effect
|
||||
{standard input}:471: Error: macro requires $at register while noat in effect
|
||||
make[3]: *** [/tmp/buildd/glibc-2.3.6/build-tree/alpha-libc/misc/ioperm.o] Error 1
|
||||
|
||||
Hrm. gcc puts .arch ev4 into the .s, and this overrides -mev6 for as.
|
||||
I cannot really think of anything better than
|
||||
|
||||
sysdeps/unix/sysv/linux/alpha/ioperm.c | 8 ++++----
|
||||
1 file changed, 4 insertions(+), 4 deletions(-)
|
||||
|
||||
--- a/sysdeps/unix/sysv/linux/alpha/ioperm.c
|
||||
+++ b/sysdeps/unix/sysv/linux/alpha/ioperm.c
|
||||
@@ -178,13 +178,13 @@
|
||||
static inline void
|
||||
stb_mb(unsigned char val, unsigned long addr)
|
||||
{
|
||||
- __asm__("stb %1,%0; mb" : "=m"(*(vucp)addr) : "r"(val));
|
||||
+ __asm__(".arch ev6; stb %1,%0; mb" : "=m"(*(vucp)addr) : "r"(val));
|
||||
}
|
||||
|
||||
static inline void
|
||||
stw_mb(unsigned short val, unsigned long addr)
|
||||
{
|
||||
- __asm__("stw %1,%0; mb" : "=m"(*(vusp)addr) : "r"(val));
|
||||
+ __asm__(".arch ev6; stw %1,%0; mb" : "=m"(*(vusp)addr) : "r"(val));
|
||||
}
|
||||
|
||||
static inline void
|
||||
@@ -356,7 +356,7 @@
|
||||
unsigned long int addr = dense_port_to_cpu_addr (port);
|
||||
unsigned char r;
|
||||
|
||||
- __asm__ ("ldbu %0,%1" : "=r"(r) : "m"(*(vucp)addr));
|
||||
+ __asm__ (".arch ev6; ldbu %0,%1" : "=r"(r) : "m"(*(vucp)addr));
|
||||
return r;
|
||||
}
|
||||
|
||||
@@ -366,7 +366,7 @@
|
||||
unsigned long int addr = dense_port_to_cpu_addr (port);
|
||||
unsigned short r;
|
||||
|
||||
- __asm__ ("ldwu %0,%1" : "=r"(r) : "m"(*(vusp)addr));
|
||||
+ __asm__ (".arch ev6; ldwu %0,%1" : "=r"(r) : "m"(*(vusp)addr));
|
||||
return r;
|
||||
}
|
||||
|
@ -1,26 +0,0 @@
|
||||
2011-03-01 Aurelien Jarno <aurelien@aurel32.net>
|
||||
|
||||
* sysdeps/alpha/fpu/feupdateenv.c (feupdateenv): Add
|
||||
libm_hidden_def.
|
||||
* sysdeps/alpha/fpu/ftestexcept.c (fetestexcept): Likewise.
|
||||
|
||||
---
|
||||
sysdeps/alpha/fpu/feupdateenv.c | 1 +
|
||||
sysdeps/alpha/fpu/ftestexcept.c | 1 +
|
||||
2 files changed, 2 insertions(+)
|
||||
|
||||
--- a/sysdeps/alpha/fpu/feupdateenv.c
|
||||
+++ b/sysdeps/alpha/fpu/feupdateenv.c
|
||||
@@ -46,4 +46,5 @@
|
||||
compat_symbol (libm, __old_feupdateenv, feupdateenv, GLIBC_2_1);
|
||||
#endif
|
||||
|
||||
+libm_hidden_ver (__feupdateenv, feupdateenv)
|
||||
versioned_symbol (libm, __feupdateenv, feupdateenv, GLIBC_2_2);
|
||||
--- a/sysdeps/alpha/fpu/ftestexcept.c
|
||||
+++ b/sysdeps/alpha/fpu/ftestexcept.c
|
||||
@@ -30,3 +30,4 @@
|
||||
|
||||
return tmp & excepts & SWCR_STATUS_MASK;
|
||||
}
|
||||
+libm_hidden_def (fetestexcept)
|
@ -1,19 +0,0 @@
|
||||
2009-05-26 Aurelien Jarno <aurelien@aurel32.net>
|
||||
|
||||
* sysdeps/alpha/Makefile (CFLAGS-rtld.c): add $(PIC-ccflag).
|
||||
|
||||
sysdeps/alpha/Makefile | 3 ++-
|
||||
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||
|
||||
--- a/sysdeps/alpha/Makefile
|
||||
+++ b/sysdeps/alpha/Makefile
|
||||
@@ -35,7 +35,8 @@
|
||||
|
||||
ifeq ($(subdir),elf)
|
||||
# The ld.so startup code cannot use literals until it self-relocates.
|
||||
-CFLAGS-rtld.c = -mbuild-constants
|
||||
+# It uses more than 64k for the small data area.
|
||||
+CFLAGS-rtld.c = -mbuild-constants $(PIC-ccflag)
|
||||
endif
|
||||
|
||||
# Build everything with full IEEE math support, and with dynamic rounding;
|
@ -1,366 +0,0 @@
|
||||
http://yann.poupet.free.fr/ep93xx/
|
||||
Add support for the Maverick Crunch FPU on Cirrus EP93XX processor series
|
||||
|
||||
---
|
||||
sysdeps/arm/bits/endian.h | 2 -
|
||||
sysdeps/arm/fpu/__longjmp.S | 26 +++++++++++++
|
||||
sysdeps/arm/fpu/bits/fenv.h | 41 ++++++++++++++++++++
|
||||
sysdeps/arm/fpu/bits/setjmp.h | 4 ++
|
||||
sysdeps/arm/fpu/fegetround.c | 12 ++++++
|
||||
sysdeps/arm/fpu/fesetround.c | 16 ++++++++
|
||||
sysdeps/arm/fpu/fpu_control.h | 78 ++++++++++++++++++++++++++++++++++++++-
|
||||
sysdeps/arm/fpu/jmpbuf-offsets.h | 4 ++
|
||||
sysdeps/arm/fpu/setjmp.S | 30 +++++++++++++++
|
||||
sysdeps/arm/gccframe.h | 4 ++
|
||||
sysdeps/arm/gmp-mparam.h | 2 -
|
||||
11 files changed, 216 insertions(+), 3 deletions(-)
|
||||
|
||||
--- a/sysdeps/arm/bits/endian.h
|
||||
+++ b/sysdeps/arm/bits/endian.h
|
||||
@@ -12,7 +12,7 @@
|
||||
/* FPA floating point units are always big-endian, irrespective of the
|
||||
CPU endianness. VFP floating point units use the same endianness
|
||||
as the rest of the system. */
|
||||
-#ifdef __VFP_FP__
|
||||
+#if defined __VFP_FP__ || defined __MAVERICK__
|
||||
#define __FLOAT_WORD_ORDER __BYTE_ORDER
|
||||
#else
|
||||
#define __FLOAT_WORD_ORDER __BIG_ENDIAN
|
||||
--- a/sysdeps/arm/fpu/__longjmp.S
|
||||
+++ b/sysdeps/arm/fpu/__longjmp.S
|
||||
@@ -30,7 +30,33 @@
|
||||
movs r0, r1 /* get the return value in place */
|
||||
moveq r0, #1 /* can't let setjmp() return zero! */
|
||||
|
||||
+#ifdef __MAVERICK__
|
||||
+ cfldrd mvd4, [ip], #8
|
||||
+ nop
|
||||
+ cfldrd mvd5, [ip], #8
|
||||
+ nop
|
||||
+ cfldrd mvd6, [ip], #8
|
||||
+ nop
|
||||
+ cfldrd mvd7, [ip], #8
|
||||
+ nop
|
||||
+ cfldrd mvd8, [ip], #8
|
||||
+ nop
|
||||
+ cfldrd mvd9, [ip], #8
|
||||
+ nop
|
||||
+ cfldrd mvd10, [ip], #8
|
||||
+ nop
|
||||
+ cfldrd mvd11, [ip], #8
|
||||
+ nop
|
||||
+ cfldrd mvd12, [ip], #8
|
||||
+ nop
|
||||
+ cfldrd mvd13, [ip], #8
|
||||
+ nop
|
||||
+ cfldrd mvd14, [ip], #8
|
||||
+ nop
|
||||
+ cfldrd mvd15, [ip], #8
|
||||
+#else
|
||||
lfmfd f4, 4, [ip] ! /* load the floating point regs */
|
||||
+#endif
|
||||
|
||||
LOADREGS(ia, ip, {v1-v6, sl, fp, sp, pc})
|
||||
END (__longjmp)
|
||||
--- a/sysdeps/arm/fpu/bits/fenv.h
|
||||
+++ b/sysdeps/arm/fpu/bits/fenv.h
|
||||
@@ -20,6 +20,45 @@
|
||||
# error "Never use <bits/fenv.h> directly; include <fenv.h> instead."
|
||||
#endif
|
||||
|
||||
+#if defined(__MAVERICK__)
|
||||
+
|
||||
+/* Define bits representing exceptions in the FPU status word. */
|
||||
+enum
|
||||
+ {
|
||||
+ FE_INVALID = 1,
|
||||
+#define FE_INVALID FE_INVALID
|
||||
+ FE_OVERFLOW = 4,
|
||||
+#define FE_OVERFLOW FE_OVERFLOW
|
||||
+ FE_UNDERFLOW = 8,
|
||||
+#define FE_UNDERFLOW FE_UNDERFLOW
|
||||
+ FE_INEXACT = 16,
|
||||
+#define FE_INEXACT FE_INEXACT
|
||||
+ };
|
||||
+
|
||||
+/* Amount to shift by to convert an exception to a mask bit. */
|
||||
+#define FE_EXCEPT_SHIFT 5
|
||||
+
|
||||
+/* All supported exceptions. */
|
||||
+#define FE_ALL_EXCEPT \
|
||||
+ (FE_INVALID | FE_OVERFLOW | FE_UNDERFLOW | FE_INEXACT)
|
||||
+
|
||||
+/* IEEE rounding modes. */
|
||||
+enum
|
||||
+ {
|
||||
+ FE_TONEAREST = 0,
|
||||
+#define FE_TONEAREST FE_TONEAREST
|
||||
+ FE_TOWARDZERO = 0x400,
|
||||
+#define FE_TOWARDZERO FE_TOWARDZERO
|
||||
+ FE_DOWNWARD = 0x800,
|
||||
+#define FE_DOWNWARD FE_DOWNWARD
|
||||
+ FE_UPWARD = 0xc00,
|
||||
+#define FE_UPWARD FE_UPWARD
|
||||
+ };
|
||||
+
|
||||
+#define FE_ROUND_MASK (FE_UPWARD)
|
||||
+
|
||||
+#else /* FPA */
|
||||
+
|
||||
/* Define bits representing exceptions in the FPU status word. */
|
||||
enum
|
||||
{
|
||||
@@ -44,6 +83,8 @@
|
||||
modes exist, but you have to encode them in the actual instruction. */
|
||||
#define FE_TONEAREST 0
|
||||
|
||||
+#endif
|
||||
+
|
||||
/* Type representing exception flags. */
|
||||
typedef unsigned long int fexcept_t;
|
||||
|
||||
--- a/sysdeps/arm/fpu/bits/setjmp.h
|
||||
+++ b/sysdeps/arm/fpu/bits/setjmp.h
|
||||
@@ -28,7 +28,11 @@
|
||||
#ifndef _ASM
|
||||
/* Jump buffer contains v1-v6, sl, fp, sp and pc. Other registers are not
|
||||
saved. */
|
||||
+#ifdef __MAVERICK__
|
||||
+typedef int __jmp_buf[34];
|
||||
+#else
|
||||
typedef int __jmp_buf[22];
|
||||
#endif
|
||||
+#endif
|
||||
|
||||
#endif
|
||||
--- a/sysdeps/arm/fpu/fegetround.c
|
||||
+++ b/sysdeps/arm/fpu/fegetround.c
|
||||
@@ -18,9 +18,21 @@
|
||||
02111-1307 USA. */
|
||||
|
||||
#include <fenv.h>
|
||||
+#include <fpu_control.h>
|
||||
|
||||
int
|
||||
fegetround (void)
|
||||
{
|
||||
+#if defined(__MAVERICK__)
|
||||
+
|
||||
+ unsigned long temp;
|
||||
+
|
||||
+ _FPU_GETCW (temp);
|
||||
+ return temp & FE_ROUND_MASK;
|
||||
+
|
||||
+#else /* FPA */
|
||||
+
|
||||
return FE_TONEAREST; /* Easy. :-) */
|
||||
+
|
||||
+#endif
|
||||
}
|
||||
--- a/sysdeps/arm/fpu/fesetround.c
|
||||
+++ b/sysdeps/arm/fpu/fesetround.c
|
||||
@@ -18,12 +18,28 @@
|
||||
02111-1307 USA. */
|
||||
|
||||
#include <fenv.h>
|
||||
+#include <fpu_control.h>
|
||||
|
||||
int
|
||||
fesetround (int round)
|
||||
{
|
||||
+#if defined(__MAVERICK__)
|
||||
+ unsigned long temp;
|
||||
+
|
||||
+ if (round & ~FE_ROUND_MASK)
|
||||
+ return 1;
|
||||
+
|
||||
+ _FPU_GETCW (temp);
|
||||
+ temp = (temp & ~FE_ROUND_MASK) | round;
|
||||
+ _FPU_SETCW (temp);
|
||||
+ return 0;
|
||||
+
|
||||
+#else /* FPA */
|
||||
+
|
||||
/* We only support FE_TONEAREST, so there is no need for any work. */
|
||||
return (round == FE_TONEAREST)?0:1;
|
||||
+
|
||||
+#endif
|
||||
}
|
||||
|
||||
libm_hidden_def (fesetround)
|
||||
--- a/sysdeps/arm/fpu/fpu_control.h
|
||||
+++ b/sysdeps/arm/fpu/fpu_control.h
|
||||
@@ -1,5 +1,6 @@
|
||||
/* FPU control word definitions. ARM version.
|
||||
- Copyright (C) 1996, 1997, 1998, 2000 Free Software Foundation, Inc.
|
||||
+ Copyright (C) 1996, 1997, 1998, 2000, 2005
|
||||
+ 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
|
||||
@@ -20,6 +21,79 @@
|
||||
#ifndef _FPU_CONTROL_H
|
||||
#define _FPU_CONTROL_H
|
||||
|
||||
+#if defined(__MAVERICK__)
|
||||
+
|
||||
+/* DSPSC register: (from EP9312 User's Guide)
|
||||
+ *
|
||||
+ * bits 31..29 - DAID
|
||||
+ * bits 28..26 - HVID
|
||||
+ * bits 25..24 - RSVD
|
||||
+ * bit 23 - ISAT
|
||||
+ * bit 22 - UI
|
||||
+ * bit 21 - INT
|
||||
+ * bit 20 - AEXC
|
||||
+ * bits 19..18 - SAT
|
||||
+ * bits 17..16 - FCC
|
||||
+ * bit 15 - V
|
||||
+ * bit 14 - FWDEN
|
||||
+ * bit 13 - Invalid
|
||||
+ * bit 12 - Denorm
|
||||
+ * bits 11..10 - RM
|
||||
+ * bits 9..5 - IXE, UFE, OFE, RSVD, IOE
|
||||
+ * bits 4..0 - IX, UF, OF, RSVD, IO
|
||||
+ */
|
||||
+
|
||||
+/* masking of interrupts */
|
||||
+#define _FPU_MASK_IM (1 << 5) /* invalid operation */
|
||||
+#define _FPU_MASK_ZM 0 /* divide by zero */
|
||||
+#define _FPU_MASK_OM (1 << 7) /* overflow */
|
||||
+#define _FPU_MASK_UM (1 << 8) /* underflow */
|
||||
+#define _FPU_MASK_PM (1 << 9) /* inexact */
|
||||
+#define _FPU_MASK_DM 0 /* denormalized operation */
|
||||
+
|
||||
+#define _FPU_RESERVED 0xfffff000 /* These bits are reserved. */
|
||||
+
|
||||
+#define _FPU_DEFAULT 0x00b00000 /* Default value. */
|
||||
+#define _FPU_IEEE 0x00b003a0 /* Default + exceptions enabled. */
|
||||
+
|
||||
+/* Type of the control word. */
|
||||
+typedef unsigned int fpu_control_t;
|
||||
+
|
||||
+/* Macros for accessing the hardware control word. */
|
||||
+#define _FPU_GETCW(cw) ({ \
|
||||
+ register int __t1, __t2; \
|
||||
+ \
|
||||
+ __asm__ volatile ( \
|
||||
+ "cfmvr64l %1, mvdx0\n\t" \
|
||||
+ "cfmvr64h %2, mvdx0\n\t" \
|
||||
+ "cfmv32sc mvdx0, dspsc\n\t" \
|
||||
+ "cfmvr64l %0, mvdx0\n\t" \
|
||||
+ "cfmv64lr mvdx0, %1\n\t" \
|
||||
+ "cfmv64hr mvdx0, %2" \
|
||||
+ : "=r" (cw), "=r" (__t1), "=r" (__t2) \
|
||||
+ ); \
|
||||
+})
|
||||
+
|
||||
+#define _FPU_SETCW(cw) ({ \
|
||||
+ register int __t0, __t1, __t2; \
|
||||
+ \
|
||||
+ __asm__ volatile ( \
|
||||
+ "cfmvr64l %1, mvdx0\n\t" \
|
||||
+ "cfmvr64h %2, mvdx0\n\t" \
|
||||
+ "cfmv64lr mvdx0, %0\n\t" \
|
||||
+ "cfmvsc32 dspsc, mvdx0\n\t" \
|
||||
+ "cfmv64lr mvdx0, %1\n\t" \
|
||||
+ "cfmv64hr mvdx0, %2" \
|
||||
+ : "=r" (__t0), "=r" (__t1), "=r" (__t2) \
|
||||
+ : "0" (cw) \
|
||||
+ ); \
|
||||
+})
|
||||
+
|
||||
+/* Default control word set at startup. */
|
||||
+extern fpu_control_t __fpu_control;
|
||||
+
|
||||
+#else /* FPA */
|
||||
+
|
||||
/* We have a slight terminology confusion here. On the ARM, the register
|
||||
* we're interested in is actually the FPU status word - the FPU control
|
||||
* word is something different (which is implementation-defined and only
|
||||
@@ -99,4 +173,6 @@
|
||||
/* Default control word set at startup. */
|
||||
extern fpu_control_t __fpu_control;
|
||||
|
||||
+#endif
|
||||
+
|
||||
#endif /* _FPU_CONTROL_H */
|
||||
--- a/sysdeps/arm/fpu/jmpbuf-offsets.h
|
||||
+++ b/sysdeps/arm/fpu/jmpbuf-offsets.h
|
||||
@@ -17,4 +17,8 @@
|
||||
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
|
||||
02111-1307 USA. */
|
||||
|
||||
+#ifdef __MAVERICK__
|
||||
+#define __JMP_BUF_SP 32
|
||||
+#else
|
||||
#define __JMP_BUF_SP 20
|
||||
+#endif
|
||||
--- a/sysdeps/arm/fpu/setjmp.S
|
||||
+++ b/sysdeps/arm/fpu/setjmp.S
|
||||
@@ -24,11 +24,41 @@
|
||||
|
||||
ENTRY (__sigsetjmp)
|
||||
/* Save registers */
|
||||
+#ifdef __MAVERICK__
|
||||
+ cfstrd mvd4, [r0], #8
|
||||
+ nop
|
||||
+ cfstrd mvd5, [r0], #8
|
||||
+ nop
|
||||
+ cfstrd mvd6, [r0], #8
|
||||
+ nop
|
||||
+ cfstrd mvd7, [r0], #8
|
||||
+ nop
|
||||
+ cfstrd mvd8, [r0], #8
|
||||
+ nop
|
||||
+ cfstrd mvd9, [r0], #8
|
||||
+ nop
|
||||
+ cfstrd mvd10, [r0], #8
|
||||
+ nop
|
||||
+ cfstrd mvd11, [r0], #8
|
||||
+ nop
|
||||
+ cfstrd mvd12, [r0], #8
|
||||
+ nop
|
||||
+ cfstrd mvd13, [r0], #8
|
||||
+ nop
|
||||
+ cfstrd mvd14, [r0], #8
|
||||
+ nop
|
||||
+ cfstrd mvd15, [r0], #8
|
||||
+#else
|
||||
sfmea f4, 4, [r0]!
|
||||
+#endif
|
||||
stmia r0, {v1-v6, sl, fp, sp, lr}
|
||||
|
||||
/* Restore pointer to jmp_buf */
|
||||
+#ifdef __MAVERICK__
|
||||
+ sub r0, r0, #96
|
||||
+#else
|
||||
sub r0, r0, #48
|
||||
+#endif
|
||||
|
||||
/* Make a tail call to __sigjmp_save; it takes the same args. */
|
||||
B PLTJMP(C_SYMBOL_NAME(__sigjmp_save))
|
||||
--- a/sysdeps/arm/gccframe.h
|
||||
+++ b/sysdeps/arm/gccframe.h
|
||||
@@ -17,6 +17,10 @@
|
||||
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
|
||||
02111-1307 USA. */
|
||||
|
||||
+#ifdef __MAVERICK__
|
||||
+#define FIRST_PSEUDO_REGISTER 43
|
||||
+#else
|
||||
#define FIRST_PSEUDO_REGISTER 27
|
||||
+#endif
|
||||
|
||||
#include <sysdeps/generic/gccframe.h>
|
||||
--- a/sysdeps/arm/gmp-mparam.h
|
||||
+++ b/sysdeps/arm/gmp-mparam.h
|
||||
@@ -29,7 +29,7 @@
|
||||
#if defined(__ARMEB__)
|
||||
# define IEEE_DOUBLE_MIXED_ENDIAN 0
|
||||
# define IEEE_DOUBLE_BIG_ENDIAN 1
|
||||
-#elif defined(__VFP_FP__)
|
||||
+#elif defined(__VFP_FP__) || defined(__MAVERICK__)
|
||||
# define IEEE_DOUBLE_MIXED_ENDIAN 0
|
||||
# define IEEE_DOUBLE_BIG_ENDIAN 0
|
||||
#else
|
@ -1,25 +0,0 @@
|
||||
fix build error on arm like on hppa:
|
||||
|
||||
arm-unknown-linux-gnu-gcc ../nptl/sysdeps/unix/sysv/linux/libc-lowlevellock.c -c -std=gnu99 -fgnu89-inline -O2 -Wall -Winline -Wwrite-strings -fmerge-all-constants -fno-strict-aliasing -g -pipe -Wstrict-prototypes -fPIC -I../include -I/var/tmp/portage/cross-arm-unknown-linux-gnu/glibc-2.8_p20080602/work/build-default-arm-unknown-linux-gnu-nptl/nptl -I/var/tmp/portage/cross-arm-unknown-linux-gnu/glibc-2.8_p20080602/work/build-default-arm-unknown-linux-gnu-nptl -I../ports/sysdeps/arm/elf -I../ports/sysdeps/unix/sysv/linux/arm/nptl -I../ports/sysdeps/unix/sysv/linux/arm -I../nptl/sysdeps/unix/sysv/linux -I../nptl/sysdeps/pthread -I../sysdeps/pthread -I../ports/sysdeps/unix/sysv/linux -I../sysdeps/unix/sysv/linux -I../sysdeps/gnu -I../sysdeps/unix/common -I../sysdeps/unix/mman -I../sysdeps/unix/inet -I../nptl/sysdeps/unix/sysv -I../ports/sysdeps/unix/sysv -I../sysdeps/unix/sysv -I../ports/sysdeps/unix/arm -I../nptl/sysdeps/unix -I../ports/sysdeps/unix -I../sysdeps/unix -I../sysdeps/posix -I../ports/sysdeps/arm/fpu -I../ports/sysdeps/arm/nptl -I../ports/sysdeps/arm -I../sysdeps/wordsize-32 -I../sysdeps/ieee754/flt-32 -I../sysdeps/ieee754/dbl-64 -I../sysdeps/ieee754 -I../sysdeps/generic/elf -I../sysdeps/generic -I../nptl -I../ports -I.. -I../libio -I. -nostdinc -isystem /usr/lib/gcc/arm-unknown-linux-gnu/4.3.2/include -isystem /usr/lib/gcc/arm-unknown-linux-gnu/4.3.2/include-fixed -isystem /usr/arm-unknown-linux-gnu/usr/include -D_LIBC_REENTRANT -include ../include/libc-symbols.h -DPIC -DSHARED -o /var/tmp/portage/cross-arm-unknown-linux-gnu/glibc-2.8_p20080602/work/build-default-arm-unknown-linux-gnu-nptl/nptl/rtld-libc-lowlevellock.os -MD -MP -MF /var/tmp/portage/cross-arm-unknown-linux-gnu/glibc-2.8_p20080602/work/build-default-arm-unknown-linux-gnu-nptl/nptl/rtld-libc-lowlevellock.os.dt -MT /var/tmp/portage/cross-arm-unknown-linux-gnu/glibc-2.8_p20080602/work/build-default-arm-unknown-linux-gnu-nptl/nptl/rtld-libc-lowlevellock.os -DNOT_IN_libc=1 -DIS_IN_rtld=1
|
||||
In file included from ../nptl/sysdeps/unix/sysv/linux/libc-lowlevellock.c:21:
|
||||
../nptl/sysdeps/unix/sysv/linux/lowlevellock.c: In function '__lll_lock_wait_private':
|
||||
../nptl/sysdeps/unix/sysv/linux/lowlevellock.c:31: warning: implicit declaration of function 'THREAD_GETMEM'
|
||||
../nptl/sysdeps/unix/sysv/linux/lowlevellock.c:31: error: 'THREAD_SELF' undeclared (first use in this function)
|
||||
../nptl/sysdeps/unix/sysv/linux/lowlevellock.c:31: error: (Each undeclared identifier is reported only once
|
||||
../nptl/sysdeps/unix/sysv/linux/lowlevellock.c:31: error: for each function it appears in.)
|
||||
../nptl/sysdeps/unix/sysv/linux/lowlevellock.c:31: error: 'header' undeclared (first use in this function)
|
||||
|
||||
---
|
||||
sysdeps/unix/sysv/linux/arm/nptl/lowlevellock.h | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
--- a/sysdeps/unix/sysv/linux/arm/nptl/lowlevellock.h
|
||||
+++ b/sysdeps/unix/sysv/linux/arm/nptl/lowlevellock.h
|
||||
@@ -25,6 +25,7 @@
|
||||
#include <atomic.h>
|
||||
#include <sysdep.h>
|
||||
#include <kernel-features.h>
|
||||
+#include <tls.h> /* Need THREAD_*, and header.*. */
|
||||
|
||||
#define FUTEX_WAIT 0
|
||||
#define FUTEX_WAKE 1
|
17
packages/glibc-ports/2.13/0011-fpu-cw-mips.patch
vendored
17
packages/glibc-ports/2.13/0011-fpu-cw-mips.patch
vendored
@ -1,17 +0,0 @@
|
||||
http://sourceware.org/ml/libc-alpha/2002-10/msg00392.html
|
||||
|
||||
---
|
||||
sysdeps/mips/fpu_control.h | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
--- a/sysdeps/mips/fpu_control.h
|
||||
+++ b/sysdeps/mips/fpu_control.h
|
||||
@@ -86,7 +86,7 @@
|
||||
#define _FPU_RC_UP 0x2
|
||||
#define _FPU_RC_DOWN 0x3
|
||||
|
||||
-#define _FPU_RESERVED 0xfe3c0000 /* Reserved bits in cw */
|
||||
+#define _FPU_RESERVED 0xfebc0000 /* Reserved bits in cw */
|
||||
|
||||
|
||||
/* The fdlibm code requires strict IEEE double precision arithmetic,
|
@ -1,25 +0,0 @@
|
||||
---
|
||||
sysdeps/arm/preconfigure | 2 +-
|
||||
sysdeps/arm/shlib-versions | 4 ++--
|
||||
2 files changed, 3 insertions(+), 3 deletions(-)
|
||||
|
||||
--- a/sysdeps/arm/preconfigure
|
||||
+++ b/sysdeps/arm/preconfigure
|
||||
@@ -2,7 +2,7 @@
|
||||
arm*)
|
||||
base_machine=arm
|
||||
case $config_os in
|
||||
- linux-gnueabi)
|
||||
+ linux-gnueabi*)
|
||||
machine=arm/eabi/$machine
|
||||
if [ "${CFLAGS+set}" != "set" ]; then
|
||||
CFLAGS="-g -O2"
|
||||
--- a/sysdeps/arm/shlib-versions
|
||||
+++ b/sysdeps/arm/shlib-versions
|
||||
@@ -1,4 +1,4 @@
|
||||
-arm.*-.*-linux-gnueabi DEFAULT GLIBC_2.4
|
||||
+arm.*-.*-linux-gnueabi.* DEFAULT GLIBC_2.4
|
||||
|
||||
-arm.*-.*-linux-gnueabi ld=ld-linux.so.3
|
||||
+arm.*-.*-linux-gnueabi.* ld=ld-linux.so.3
|
||||
arm.*-.*-linux.* ld=ld-linux.so.2
|
8
packages/glibc-ports/2.13/chksum
vendored
8
packages/glibc-ports/2.13/chksum
vendored
@ -1,8 +0,0 @@
|
||||
md5 glibc-ports-2.13.tar.bz2 483f37cfdd619e81d8ca9e9d713944b5
|
||||
sha1 glibc-ports-2.13.tar.bz2 1cc771b4bf80f4b0872a342763f4aa4a9a9292cd
|
||||
sha256 glibc-ports-2.13.tar.bz2 b11c4501ae929883447f409c31d65e82822b1c5693075a825a3d54612876ee5a
|
||||
sha512 glibc-ports-2.13.tar.bz2 39ed578db363dab05e54d5272d3a8a0600493b91985c65a4d043b5a88d617ff46cca2d66d99ae69e92282d8f8a2357e79dcd5b0ae45b505497417d5137866ad6
|
||||
md5 glibc-ports-2.13.tar.gz 094e3c9b57da605917a780ab24575187
|
||||
sha1 glibc-ports-2.13.tar.gz 5460a86723be6cd7c63f115f9beca0baaa917d09
|
||||
sha256 glibc-ports-2.13.tar.gz 41cbdc05bd7b233464d649b59b34405e5bf3998522640b9f98f2c4eb91e87322
|
||||
sha512 glibc-ports-2.13.tar.gz 4b5fd8b803945f411b68dbf2c650b8f1c0611f158b1a58dcaa8e7fcafd0459e7b6dd0b923ab94f6997c5ff327001b19f396164e336ff1f36b17ee7e94fe74064
|
1
packages/glibc-ports/2.13/version.desc
vendored
1
packages/glibc-ports/2.13/version.desc
vendored
@ -1 +0,0 @@
|
||||
archive_formats='.tar.bz2 .tar.gz'
|
@ -1,72 +0,0 @@
|
||||
From 175cef4163dd60f95106cfd5f593b8a4e09d02c9 Mon Sep 17 00:00:00 2001
|
||||
From: Joseph Myers <joseph@codesourcery.com>
|
||||
Date: Tue, 20 May 2014 21:27:13 +0000
|
||||
Subject: [PATCH] Fix ARM build with GCC trunk.
|
||||
|
||||
sysdeps/unix/sysv/linux/arm/unwind-resume.c and
|
||||
sysdeps/unix/sysv/linux/arm/unwind-forcedunwind.c have static
|
||||
variables that are written in C code but only read from toplevel asms.
|
||||
Current GCC trunk now optimizes away such apparently write-only static
|
||||
variables, so causing a build failure. This patch marks those
|
||||
variables with __attribute_used__ to avoid that optimization.
|
||||
|
||||
Tested that this fixes the build for ARM.
|
||||
|
||||
* sysdeps/unix/sysv/linux/arm/unwind-forcedunwind.c
|
||||
(libgcc_s_resume): Use __attribute_used__.
|
||||
* sysdeps/unix/sysv/linux/arm/unwind-resume.c (libgcc_s_resume):
|
||||
Likewise.
|
||||
---
|
||||
sysdeps/unix/sysv/linux/arm/eabi/nptl/unwind-forcedunwind.c | 3 ++-
|
||||
sysdeps/unix/sysv/linux/arm/eabi/nptl/unwind-resume.c | 3 ++-
|
||||
sysdeps/unix/sysv/linux/arm/nptl/unwind-forcedunwind.c | 3 ++-
|
||||
sysdeps/unix/sysv/linux/arm/nptl/unwind-resume.c | 3 ++-
|
||||
4 files changed, 8 insertions(+), 4 deletions(-)
|
||||
--- a/sysdeps/unix/sysv/linux/arm/nptl/unwind-forcedunwind.c
|
||||
+++ b/sysdeps/unix/sysv/linux/arm/nptl/unwind-forcedunwind.c
|
||||
@@ -23,7 +23,8 @@
|
||||
#include <pthreadP.h>
|
||||
|
||||
static void *libgcc_s_handle;
|
||||
-static void (*libgcc_s_resume) (struct _Unwind_Exception *exc);
|
||||
+static void (*libgcc_s_resume) (struct _Unwind_Exception *exc)
|
||||
+ __attribute_used__;
|
||||
static _Unwind_Reason_Code (*libgcc_s_personality)
|
||||
(int, _Unwind_Action, _Unwind_Exception_Class, struct _Unwind_Exception *,
|
||||
struct _Unwind_Context *);
|
||||
--- a/sysdeps/unix/sysv/linux/arm/nptl/unwind-resume.c
|
||||
+++ b/sysdeps/unix/sysv/linux/arm/nptl/unwind-resume.c
|
||||
@@ -21,7 +21,8 @@
|
||||
#include <stdio.h>
|
||||
#include <unwind.h>
|
||||
|
||||
-static void (*libgcc_s_resume) (struct _Unwind_Exception *exc);
|
||||
+static void (*libgcc_s_resume) (struct _Unwind_Exception *exc)
|
||||
+ __attribute_used__;
|
||||
static _Unwind_Reason_Code (*libgcc_s_personality)
|
||||
(int, _Unwind_Action, _Unwind_Exception_Class, struct _Unwind_Exception *,
|
||||
struct _Unwind_Context *);
|
||||
--- a/sysdeps/unix/sysv/linux/arm/eabi/nptl/unwind-forcedunwind.c
|
||||
+++ b/sysdeps/unix/sysv/linux/arm/eabi/nptl/unwind-forcedunwind.c
|
||||
@@ -23,7 +23,8 @@
|
||||
#include <pthreadP.h>
|
||||
|
||||
static void *libgcc_s_handle;
|
||||
-static void (*libgcc_s_resume) (struct _Unwind_Exception *exc);
|
||||
+static void (*libgcc_s_resume) (struct _Unwind_Exception *exc)
|
||||
+ __attribute_used__;
|
||||
static _Unwind_Reason_Code (*libgcc_s_personality)
|
||||
(_Unwind_State, struct _Unwind_Exception *, struct _Unwind_Context *);
|
||||
static _Unwind_Reason_Code (*libgcc_s_forcedunwind)
|
||||
--- a/sysdeps/unix/sysv/linux/arm/eabi/nptl/unwind-resume.c
|
||||
+++ b/sysdeps/unix/sysv/linux/arm/eabi/nptl/unwind-resume.c
|
||||
@@ -21,7 +21,8 @@
|
||||
#include <stdio.h>
|
||||
#include <unwind.h>
|
||||
|
||||
-static void (*libgcc_s_resume) (struct _Unwind_Exception *exc);
|
||||
+static void (*libgcc_s_resume) (struct _Unwind_Exception *exc)
|
||||
+ __attribute_used__;
|
||||
static _Unwind_Reason_Code (*libgcc_s_personality)
|
||||
(_Unwind_State, struct _Unwind_Exception *, struct _Unwind_Context *);
|
||||
|
@ -1,99 +0,0 @@
|
||||
copied from kernel as it is sanitized now
|
||||
|
||||
---
|
||||
sysdeps/unix/sysv/linux/m68k/sys/user.h | 87 ++++++++++++++++++++++++++++++++
|
||||
1 file changed, 87 insertions(+)
|
||||
|
||||
--- a/sysdeps/unix/sysv/linux/m68k/sys/user.h
|
||||
+++ b/sysdeps/unix/sysv/linux/m68k/sys/user.h
|
||||
@@ -1,3 +1,90 @@
|
||||
+#ifndef _SYS_USER_H
|
||||
+#define _SYS_USER_H
|
||||
+
|
||||
+/* Core file format: The core file is written in such a way that gdb
|
||||
+ can understand it and provide useful information to the user (under
|
||||
+ linux we use the 'trad-core' bfd). There are quite a number of
|
||||
+ obstacles to being able to view the contents of the floating point
|
||||
+ registers, and until these are solved you will not be able to view the
|
||||
+ contents of them. Actually, you can read in the core file and look at
|
||||
+ the contents of the user struct to find out what the floating point
|
||||
+ registers contain.
|
||||
+ The actual file contents are as follows:
|
||||
+ UPAGE: 1 page consisting of a user struct that tells gdb what is present
|
||||
+ in the file. Directly after this is a copy of the task_struct, which
|
||||
+ is currently not used by gdb, but it may come in useful at some point.
|
||||
+ All of the registers are stored as part of the upage. The upage should
|
||||
+ always be only one page.
|
||||
+ DATA: The data area is stored. We use current->end_text to
|
||||
+ current->brk to pick up all of the user variables, plus any memory
|
||||
+ that may have been malloced. No attempt is made to determine if a page
|
||||
+ is demand-zero or if a page is totally unused, we just cover the entire
|
||||
+ range. All of the addresses are rounded in such a way that an integral
|
||||
+ number of pages is written.
|
||||
+ STACK: We need the stack information in order to get a meaningful
|
||||
+ backtrace. We need to write the data from (esp) to
|
||||
+ current->start_stack, so we round each of these off in order to be able
|
||||
+ to write an integer number of pages.
|
||||
+ The minimum core file size is 3 pages, or 12288 bytes.
|
||||
+*/
|
||||
+
|
||||
+struct user_m68kfp_struct {
|
||||
+ unsigned long fpregs[8*3]; /* fp0-fp7 registers */
|
||||
+ unsigned long fpcntl[3]; /* fp control regs */
|
||||
+};
|
||||
+
|
||||
+/* This is the old layout of "struct pt_regs" as of Linux 1.x, and
|
||||
+ is still the layout used by user (the new pt_regs doesn't have
|
||||
+ all registers). */
|
||||
+struct user_regs_struct {
|
||||
+ long d1,d2,d3,d4,d5,d6,d7;
|
||||
+ long a0,a1,a2,a3,a4,a5,a6;
|
||||
+ long d0;
|
||||
+ long usp;
|
||||
+ long orig_d0;
|
||||
+ short stkadj;
|
||||
+ short sr;
|
||||
+ long pc;
|
||||
+ short fmtvec;
|
||||
+ short __fill;
|
||||
+};
|
||||
+
|
||||
+
|
||||
+/* When the kernel dumps core, it starts by dumping the user struct -
|
||||
+ this will be used by gdb to figure out where the data and stack segments
|
||||
+ are within the file, and what virtual addresses to use. */
|
||||
+struct user{
|
||||
+/* We start with the registers, to mimic the way that "memory" is returned
|
||||
+ from the ptrace(3,...) function. */
|
||||
+ struct user_regs_struct regs; /* Where the registers are actually stored */
|
||||
+/* ptrace does not yet supply these. Someday.... */
|
||||
+ int u_fpvalid; /* True if math co-processor being used. */
|
||||
+ /* for this mess. Not yet used. */
|
||||
+ struct user_m68kfp_struct m68kfp; /* Math Co-processor registers. */
|
||||
+/* The rest of this junk is to help gdb figure out what goes where */
|
||||
+ unsigned long int u_tsize; /* Text segment size (pages). */
|
||||
+ unsigned long int u_dsize; /* Data segment size (pages). */
|
||||
+ unsigned long int u_ssize; /* Stack segment size (pages). */
|
||||
+ unsigned long start_code; /* Starting virtual address of text. */
|
||||
+ unsigned long start_stack; /* Starting virtual address of stack area.
|
||||
+ This is actually the bottom of the stack,
|
||||
+ the top of the stack is always found in the
|
||||
+ esp register. */
|
||||
+ long int signal; /* Signal that caused the core dump. */
|
||||
+ int reserved; /* No longer used */
|
||||
+ struct user_regs_struct *u_ar0;
|
||||
+ /* Used by gdb to help find the values for */
|
||||
+ /* the registers. */
|
||||
+ struct user_m68kfp_struct* u_fpstate; /* Math Co-processor pointer. */
|
||||
+ unsigned long magic; /* To uniquely identify a core file */
|
||||
+ char u_comm[32]; /* User command that was responsible */
|
||||
+};
|
||||
+#define NBPG 4096
|
||||
+#define UPAGES 1
|
||||
+#define HOST_TEXT_START_ADDR (u.start_code)
|
||||
+#define HOST_STACK_END_ADDR (u.start_stack + u.u_ssize * NBPG)
|
||||
+
|
||||
+#endif
|
||||
/* Copyright (C) 2008, 2010 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
|
@ -1,16 +0,0 @@
|
||||
older verisons of glibc would build dl-sysdep as shared-only and dl-support as
|
||||
static-only. alpha hooks in a cache variable via dl-auxv.h. newer versions of
|
||||
glibc build dl-sysdep as both shared and static which means we now have symbol
|
||||
duplication for static builds with dl-sysdep and dl-support. since dl-sysdep
|
||||
is both shared/static, there is no point in hooking dl-support anymore, so we
|
||||
can punt it.
|
||||
|
||||
---
|
||||
sysdeps/unix/sysv/linux/alpha/dl-support.c | 1 -
|
||||
1 file changed, 1 deletion(-)
|
||||
|
||||
--- a/sysdeps/unix/sysv/linux/alpha/dl-support.c
|
||||
+++ b/sysdeps/unix/sysv/linux/alpha/dl-support.c
|
||||
@@ -1,2 +1 @@
|
||||
-#include "dl-auxv.h"
|
||||
#include <elf/dl-support.c>
|
@ -1,54 +0,0 @@
|
||||
2006-05-30 Falk Hueffner <falk@debian.org>
|
||||
|
||||
* sysdeps/unix/sysv/linux/alpha/ioperm.c: force the architecture
|
||||
to ev6 in assembly code.
|
||||
|
||||
{standard input}: Assembler messages:
|
||||
{standard input}:341: Error: macro requires $at register while noat in effect
|
||||
{standard input}:374: Error: macro requires $at register while noat in effect
|
||||
{standard input}:438: Error: macro requires $at register while noat in effect
|
||||
{standard input}:471: Error: macro requires $at register while noat in effect
|
||||
make[3]: *** [/tmp/buildd/glibc-2.3.6/build-tree/alpha-libc/misc/ioperm.o] Error 1
|
||||
|
||||
Hrm. gcc puts .arch ev4 into the .s, and this overrides -mev6 for as.
|
||||
I cannot really think of anything better than
|
||||
|
||||
sysdeps/unix/sysv/linux/alpha/ioperm.c | 8 ++++----
|
||||
1 file changed, 4 insertions(+), 4 deletions(-)
|
||||
|
||||
--- a/sysdeps/unix/sysv/linux/alpha/ioperm.c
|
||||
+++ b/sysdeps/unix/sysv/linux/alpha/ioperm.c
|
||||
@@ -178,13 +178,13 @@
|
||||
static inline void
|
||||
stb_mb(unsigned char val, unsigned long addr)
|
||||
{
|
||||
- __asm__("stb %1,%0; mb" : "=m"(*(vucp)addr) : "r"(val));
|
||||
+ __asm__(".arch ev6; stb %1,%0; mb" : "=m"(*(vucp)addr) : "r"(val));
|
||||
}
|
||||
|
||||
static inline void
|
||||
stw_mb(unsigned short val, unsigned long addr)
|
||||
{
|
||||
- __asm__("stw %1,%0; mb" : "=m"(*(vusp)addr) : "r"(val));
|
||||
+ __asm__(".arch ev6; stw %1,%0; mb" : "=m"(*(vusp)addr) : "r"(val));
|
||||
}
|
||||
|
||||
static inline void
|
||||
@@ -356,7 +356,7 @@
|
||||
unsigned long int addr = dense_port_to_cpu_addr (port);
|
||||
unsigned char r;
|
||||
|
||||
- __asm__ ("ldbu %0,%1" : "=r"(r) : "m"(*(vucp)addr));
|
||||
+ __asm__ (".arch ev6; ldbu %0,%1" : "=r"(r) : "m"(*(vucp)addr));
|
||||
return r;
|
||||
}
|
||||
|
||||
@@ -366,7 +366,7 @@
|
||||
unsigned long int addr = dense_port_to_cpu_addr (port);
|
||||
unsigned short r;
|
||||
|
||||
- __asm__ ("ldwu %0,%1" : "=r"(r) : "m"(*(vusp)addr));
|
||||
+ __asm__ (".arch ev6; ldwu %0,%1" : "=r"(r) : "m"(*(vusp)addr));
|
||||
return r;
|
||||
}
|
||||
|
@ -1,19 +0,0 @@
|
||||
2009-05-26 Aurelien Jarno <aurelien@aurel32.net>
|
||||
|
||||
* sysdeps/alpha/Makefile (CFLAGS-rtld.c): add $(PIC-ccflag).
|
||||
|
||||
sysdeps/alpha/Makefile | 3 ++-
|
||||
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||
|
||||
--- a/sysdeps/alpha/Makefile
|
||||
+++ b/sysdeps/alpha/Makefile
|
||||
@@ -35,7 +35,8 @@
|
||||
|
||||
ifeq ($(subdir),elf)
|
||||
# The ld.so startup code cannot use literals until it self-relocates.
|
||||
-CFLAGS-rtld.c = -mbuild-constants
|
||||
+# It uses more than 64k for the small data area.
|
||||
+CFLAGS-rtld.c = -mbuild-constants $(PIC-ccflag)
|
||||
endif
|
||||
|
||||
# Build everything with full IEEE math support, and with dynamic rounding;
|
@ -1,366 +0,0 @@
|
||||
http://yann.poupet.free.fr/ep93xx/
|
||||
Add support for the Maverick Crunch FPU on Cirrus EP93XX processor series
|
||||
|
||||
---
|
||||
sysdeps/arm/bits/endian.h | 2 -
|
||||
sysdeps/arm/fpu/__longjmp.S | 26 +++++++++++++
|
||||
sysdeps/arm/fpu/bits/fenv.h | 41 ++++++++++++++++++++
|
||||
sysdeps/arm/fpu/bits/setjmp.h | 4 ++
|
||||
sysdeps/arm/fpu/fegetround.c | 12 ++++++
|
||||
sysdeps/arm/fpu/fesetround.c | 16 ++++++++
|
||||
sysdeps/arm/fpu/fpu_control.h | 78 ++++++++++++++++++++++++++++++++++++++-
|
||||
sysdeps/arm/fpu/jmpbuf-offsets.h | 4 ++
|
||||
sysdeps/arm/fpu/setjmp.S | 30 +++++++++++++++
|
||||
sysdeps/arm/gccframe.h | 4 ++
|
||||
sysdeps/arm/gmp-mparam.h | 2 -
|
||||
11 files changed, 216 insertions(+), 3 deletions(-)
|
||||
|
||||
--- a/sysdeps/arm/bits/endian.h
|
||||
+++ b/sysdeps/arm/bits/endian.h
|
||||
@@ -12,7 +12,7 @@
|
||||
/* FPA floating point units are always big-endian, irrespective of the
|
||||
CPU endianness. VFP floating point units use the same endianness
|
||||
as the rest of the system. */
|
||||
-#ifdef __VFP_FP__
|
||||
+#if defined __VFP_FP__ || defined __MAVERICK__
|
||||
#define __FLOAT_WORD_ORDER __BYTE_ORDER
|
||||
#else
|
||||
#define __FLOAT_WORD_ORDER __BIG_ENDIAN
|
||||
--- a/sysdeps/arm/fpu/__longjmp.S
|
||||
+++ b/sysdeps/arm/fpu/__longjmp.S
|
||||
@@ -30,7 +30,33 @@
|
||||
movs r0, r1 /* get the return value in place */
|
||||
moveq r0, #1 /* can't let setjmp() return zero! */
|
||||
|
||||
+#ifdef __MAVERICK__
|
||||
+ cfldrd mvd4, [ip], #8
|
||||
+ nop
|
||||
+ cfldrd mvd5, [ip], #8
|
||||
+ nop
|
||||
+ cfldrd mvd6, [ip], #8
|
||||
+ nop
|
||||
+ cfldrd mvd7, [ip], #8
|
||||
+ nop
|
||||
+ cfldrd mvd8, [ip], #8
|
||||
+ nop
|
||||
+ cfldrd mvd9, [ip], #8
|
||||
+ nop
|
||||
+ cfldrd mvd10, [ip], #8
|
||||
+ nop
|
||||
+ cfldrd mvd11, [ip], #8
|
||||
+ nop
|
||||
+ cfldrd mvd12, [ip], #8
|
||||
+ nop
|
||||
+ cfldrd mvd13, [ip], #8
|
||||
+ nop
|
||||
+ cfldrd mvd14, [ip], #8
|
||||
+ nop
|
||||
+ cfldrd mvd15, [ip], #8
|
||||
+#else
|
||||
lfmfd f4, 4, [ip] ! /* load the floating point regs */
|
||||
+#endif
|
||||
|
||||
LOADREGS(ia, ip, {v1-v6, sl, fp, sp, pc})
|
||||
END (__longjmp)
|
||||
--- a/sysdeps/arm/fpu/bits/fenv.h
|
||||
+++ b/sysdeps/arm/fpu/bits/fenv.h
|
||||
@@ -20,6 +20,45 @@
|
||||
# error "Never use <bits/fenv.h> directly; include <fenv.h> instead."
|
||||
#endif
|
||||
|
||||
+#if defined(__MAVERICK__)
|
||||
+
|
||||
+/* Define bits representing exceptions in the FPU status word. */
|
||||
+enum
|
||||
+ {
|
||||
+ FE_INVALID = 1,
|
||||
+#define FE_INVALID FE_INVALID
|
||||
+ FE_OVERFLOW = 4,
|
||||
+#define FE_OVERFLOW FE_OVERFLOW
|
||||
+ FE_UNDERFLOW = 8,
|
||||
+#define FE_UNDERFLOW FE_UNDERFLOW
|
||||
+ FE_INEXACT = 16,
|
||||
+#define FE_INEXACT FE_INEXACT
|
||||
+ };
|
||||
+
|
||||
+/* Amount to shift by to convert an exception to a mask bit. */
|
||||
+#define FE_EXCEPT_SHIFT 5
|
||||
+
|
||||
+/* All supported exceptions. */
|
||||
+#define FE_ALL_EXCEPT \
|
||||
+ (FE_INVALID | FE_OVERFLOW | FE_UNDERFLOW | FE_INEXACT)
|
||||
+
|
||||
+/* IEEE rounding modes. */
|
||||
+enum
|
||||
+ {
|
||||
+ FE_TONEAREST = 0,
|
||||
+#define FE_TONEAREST FE_TONEAREST
|
||||
+ FE_TOWARDZERO = 0x400,
|
||||
+#define FE_TOWARDZERO FE_TOWARDZERO
|
||||
+ FE_DOWNWARD = 0x800,
|
||||
+#define FE_DOWNWARD FE_DOWNWARD
|
||||
+ FE_UPWARD = 0xc00,
|
||||
+#define FE_UPWARD FE_UPWARD
|
||||
+ };
|
||||
+
|
||||
+#define FE_ROUND_MASK (FE_UPWARD)
|
||||
+
|
||||
+#else /* FPA */
|
||||
+
|
||||
/* Define bits representing exceptions in the FPU status word. */
|
||||
enum
|
||||
{
|
||||
@@ -44,6 +83,8 @@
|
||||
modes exist, but you have to encode them in the actual instruction. */
|
||||
#define FE_TONEAREST 0
|
||||
|
||||
+#endif
|
||||
+
|
||||
/* Type representing exception flags. */
|
||||
typedef unsigned long int fexcept_t;
|
||||
|
||||
--- a/sysdeps/arm/fpu/bits/setjmp.h
|
||||
+++ b/sysdeps/arm/fpu/bits/setjmp.h
|
||||
@@ -28,7 +28,11 @@
|
||||
#ifndef _ASM
|
||||
/* Jump buffer contains v1-v6, sl, fp, sp and pc. Other registers are not
|
||||
saved. */
|
||||
+#ifdef __MAVERICK__
|
||||
+typedef int __jmp_buf[34];
|
||||
+#else
|
||||
typedef int __jmp_buf[22];
|
||||
#endif
|
||||
+#endif
|
||||
|
||||
#endif
|
||||
--- a/sysdeps/arm/fpu/fegetround.c
|
||||
+++ b/sysdeps/arm/fpu/fegetround.c
|
||||
@@ -18,9 +18,21 @@
|
||||
02111-1307 USA. */
|
||||
|
||||
#include <fenv.h>
|
||||
+#include <fpu_control.h>
|
||||
|
||||
int
|
||||
fegetround (void)
|
||||
{
|
||||
+#if defined(__MAVERICK__)
|
||||
+
|
||||
+ unsigned long temp;
|
||||
+
|
||||
+ _FPU_GETCW (temp);
|
||||
+ return temp & FE_ROUND_MASK;
|
||||
+
|
||||
+#else /* FPA */
|
||||
+
|
||||
return FE_TONEAREST; /* Easy. :-) */
|
||||
+
|
||||
+#endif
|
||||
}
|
||||
--- a/sysdeps/arm/fpu/fesetround.c
|
||||
+++ b/sysdeps/arm/fpu/fesetround.c
|
||||
@@ -18,12 +18,28 @@
|
||||
02111-1307 USA. */
|
||||
|
||||
#include <fenv.h>
|
||||
+#include <fpu_control.h>
|
||||
|
||||
int
|
||||
fesetround (int round)
|
||||
{
|
||||
+#if defined(__MAVERICK__)
|
||||
+ unsigned long temp;
|
||||
+
|
||||
+ if (round & ~FE_ROUND_MASK)
|
||||
+ return 1;
|
||||
+
|
||||
+ _FPU_GETCW (temp);
|
||||
+ temp = (temp & ~FE_ROUND_MASK) | round;
|
||||
+ _FPU_SETCW (temp);
|
||||
+ return 0;
|
||||
+
|
||||
+#else /* FPA */
|
||||
+
|
||||
/* We only support FE_TONEAREST, so there is no need for any work. */
|
||||
return (round == FE_TONEAREST)?0:1;
|
||||
+
|
||||
+#endif
|
||||
}
|
||||
|
||||
libm_hidden_def (fesetround)
|
||||
--- a/sysdeps/arm/fpu/fpu_control.h
|
||||
+++ b/sysdeps/arm/fpu/fpu_control.h
|
||||
@@ -1,5 +1,6 @@
|
||||
/* FPU control word definitions. ARM version.
|
||||
- Copyright (C) 1996, 1997, 1998, 2000 Free Software Foundation, Inc.
|
||||
+ Copyright (C) 1996, 1997, 1998, 2000, 2005
|
||||
+ 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
|
||||
@@ -20,6 +21,79 @@
|
||||
#ifndef _FPU_CONTROL_H
|
||||
#define _FPU_CONTROL_H
|
||||
|
||||
+#if defined(__MAVERICK__)
|
||||
+
|
||||
+/* DSPSC register: (from EP9312 User's Guide)
|
||||
+ *
|
||||
+ * bits 31..29 - DAID
|
||||
+ * bits 28..26 - HVID
|
||||
+ * bits 25..24 - RSVD
|
||||
+ * bit 23 - ISAT
|
||||
+ * bit 22 - UI
|
||||
+ * bit 21 - INT
|
||||
+ * bit 20 - AEXC
|
||||
+ * bits 19..18 - SAT
|
||||
+ * bits 17..16 - FCC
|
||||
+ * bit 15 - V
|
||||
+ * bit 14 - FWDEN
|
||||
+ * bit 13 - Invalid
|
||||
+ * bit 12 - Denorm
|
||||
+ * bits 11..10 - RM
|
||||
+ * bits 9..5 - IXE, UFE, OFE, RSVD, IOE
|
||||
+ * bits 4..0 - IX, UF, OF, RSVD, IO
|
||||
+ */
|
||||
+
|
||||
+/* masking of interrupts */
|
||||
+#define _FPU_MASK_IM (1 << 5) /* invalid operation */
|
||||
+#define _FPU_MASK_ZM 0 /* divide by zero */
|
||||
+#define _FPU_MASK_OM (1 << 7) /* overflow */
|
||||
+#define _FPU_MASK_UM (1 << 8) /* underflow */
|
||||
+#define _FPU_MASK_PM (1 << 9) /* inexact */
|
||||
+#define _FPU_MASK_DM 0 /* denormalized operation */
|
||||
+
|
||||
+#define _FPU_RESERVED 0xfffff000 /* These bits are reserved. */
|
||||
+
|
||||
+#define _FPU_DEFAULT 0x00b00000 /* Default value. */
|
||||
+#define _FPU_IEEE 0x00b003a0 /* Default + exceptions enabled. */
|
||||
+
|
||||
+/* Type of the control word. */
|
||||
+typedef unsigned int fpu_control_t;
|
||||
+
|
||||
+/* Macros for accessing the hardware control word. */
|
||||
+#define _FPU_GETCW(cw) ({ \
|
||||
+ register int __t1, __t2; \
|
||||
+ \
|
||||
+ __asm__ volatile ( \
|
||||
+ "cfmvr64l %1, mvdx0\n\t" \
|
||||
+ "cfmvr64h %2, mvdx0\n\t" \
|
||||
+ "cfmv32sc mvdx0, dspsc\n\t" \
|
||||
+ "cfmvr64l %0, mvdx0\n\t" \
|
||||
+ "cfmv64lr mvdx0, %1\n\t" \
|
||||
+ "cfmv64hr mvdx0, %2" \
|
||||
+ : "=r" (cw), "=r" (__t1), "=r" (__t2) \
|
||||
+ ); \
|
||||
+})
|
||||
+
|
||||
+#define _FPU_SETCW(cw) ({ \
|
||||
+ register int __t0, __t1, __t2; \
|
||||
+ \
|
||||
+ __asm__ volatile ( \
|
||||
+ "cfmvr64l %1, mvdx0\n\t" \
|
||||
+ "cfmvr64h %2, mvdx0\n\t" \
|
||||
+ "cfmv64lr mvdx0, %0\n\t" \
|
||||
+ "cfmvsc32 dspsc, mvdx0\n\t" \
|
||||
+ "cfmv64lr mvdx0, %1\n\t" \
|
||||
+ "cfmv64hr mvdx0, %2" \
|
||||
+ : "=r" (__t0), "=r" (__t1), "=r" (__t2) \
|
||||
+ : "0" (cw) \
|
||||
+ ); \
|
||||
+})
|
||||
+
|
||||
+/* Default control word set at startup. */
|
||||
+extern fpu_control_t __fpu_control;
|
||||
+
|
||||
+#else /* FPA */
|
||||
+
|
||||
/* We have a slight terminology confusion here. On the ARM, the register
|
||||
* we're interested in is actually the FPU status word - the FPU control
|
||||
* word is something different (which is implementation-defined and only
|
||||
@@ -99,4 +173,6 @@
|
||||
/* Default control word set at startup. */
|
||||
extern fpu_control_t __fpu_control;
|
||||
|
||||
+#endif
|
||||
+
|
||||
#endif /* _FPU_CONTROL_H */
|
||||
--- a/sysdeps/arm/fpu/jmpbuf-offsets.h
|
||||
+++ b/sysdeps/arm/fpu/jmpbuf-offsets.h
|
||||
@@ -17,4 +17,8 @@
|
||||
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
|
||||
02111-1307 USA. */
|
||||
|
||||
+#ifdef __MAVERICK__
|
||||
+#define __JMP_BUF_SP 32
|
||||
+#else
|
||||
#define __JMP_BUF_SP 20
|
||||
+#endif
|
||||
--- a/sysdeps/arm/fpu/setjmp.S
|
||||
+++ b/sysdeps/arm/fpu/setjmp.S
|
||||
@@ -24,11 +24,41 @@
|
||||
|
||||
ENTRY (__sigsetjmp)
|
||||
/* Save registers */
|
||||
+#ifdef __MAVERICK__
|
||||
+ cfstrd mvd4, [r0], #8
|
||||
+ nop
|
||||
+ cfstrd mvd5, [r0], #8
|
||||
+ nop
|
||||
+ cfstrd mvd6, [r0], #8
|
||||
+ nop
|
||||
+ cfstrd mvd7, [r0], #8
|
||||
+ nop
|
||||
+ cfstrd mvd8, [r0], #8
|
||||
+ nop
|
||||
+ cfstrd mvd9, [r0], #8
|
||||
+ nop
|
||||
+ cfstrd mvd10, [r0], #8
|
||||
+ nop
|
||||
+ cfstrd mvd11, [r0], #8
|
||||
+ nop
|
||||
+ cfstrd mvd12, [r0], #8
|
||||
+ nop
|
||||
+ cfstrd mvd13, [r0], #8
|
||||
+ nop
|
||||
+ cfstrd mvd14, [r0], #8
|
||||
+ nop
|
||||
+ cfstrd mvd15, [r0], #8
|
||||
+#else
|
||||
sfmea f4, 4, [r0]!
|
||||
+#endif
|
||||
stmia r0, {v1-v6, sl, fp, sp, lr}
|
||||
|
||||
/* Restore pointer to jmp_buf */
|
||||
+#ifdef __MAVERICK__
|
||||
+ sub r0, r0, #96
|
||||
+#else
|
||||
sub r0, r0, #48
|
||||
+#endif
|
||||
|
||||
/* Make a tail call to __sigjmp_save; it takes the same args. */
|
||||
B PLTJMP(C_SYMBOL_NAME(__sigjmp_save))
|
||||
--- a/sysdeps/arm/gccframe.h
|
||||
+++ b/sysdeps/arm/gccframe.h
|
||||
@@ -17,6 +17,10 @@
|
||||
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
|
||||
02111-1307 USA. */
|
||||
|
||||
+#ifdef __MAVERICK__
|
||||
+#define FIRST_PSEUDO_REGISTER 43
|
||||
+#else
|
||||
#define FIRST_PSEUDO_REGISTER 27
|
||||
+#endif
|
||||
|
||||
#include <sysdeps/generic/gccframe.h>
|
||||
--- a/sysdeps/arm/gmp-mparam.h
|
||||
+++ b/sysdeps/arm/gmp-mparam.h
|
||||
@@ -29,7 +29,7 @@
|
||||
#if defined(__ARMEB__)
|
||||
# define IEEE_DOUBLE_MIXED_ENDIAN 0
|
||||
# define IEEE_DOUBLE_BIG_ENDIAN 1
|
||||
-#elif defined(__VFP_FP__)
|
||||
+#elif defined(__VFP_FP__) || defined(__MAVERICK__)
|
||||
# define IEEE_DOUBLE_MIXED_ENDIAN 0
|
||||
# define IEEE_DOUBLE_BIG_ENDIAN 0
|
||||
#else
|
@ -1,25 +0,0 @@
|
||||
fix build error on arm like on hppa:
|
||||
|
||||
arm-unknown-linux-gnu-gcc ../nptl/sysdeps/unix/sysv/linux/libc-lowlevellock.c -c -std=gnu99 -fgnu89-inline -O2 -Wall -Winline -Wwrite-strings -fmerge-all-constants -fno-strict-aliasing -g -pipe -Wstrict-prototypes -fPIC -I../include -I/var/tmp/portage/cross-arm-unknown-linux-gnu/glibc-2.8_p20080602/work/build-default-arm-unknown-linux-gnu-nptl/nptl -I/var/tmp/portage/cross-arm-unknown-linux-gnu/glibc-2.8_p20080602/work/build-default-arm-unknown-linux-gnu-nptl -I../ports/sysdeps/arm/elf -I../ports/sysdeps/unix/sysv/linux/arm/nptl -I../ports/sysdeps/unix/sysv/linux/arm -I../nptl/sysdeps/unix/sysv/linux -I../nptl/sysdeps/pthread -I../sysdeps/pthread -I../ports/sysdeps/unix/sysv/linux -I../sysdeps/unix/sysv/linux -I../sysdeps/gnu -I../sysdeps/unix/common -I../sysdeps/unix/mman -I../sysdeps/unix/inet -I../nptl/sysdeps/unix/sysv -I../ports/sysdeps/unix/sysv -I../sysdeps/unix/sysv -I../ports/sysdeps/unix/arm -I../nptl/sysdeps/unix -I../ports/sysdeps/unix -I../sysdeps/unix -I../sysdeps/posix -I../ports/sysdeps/arm/fpu -I../ports/sysdeps/arm/nptl -I../ports/sysdeps/arm -I../sysdeps/wordsize-32 -I../sysdeps/ieee754/flt-32 -I../sysdeps/ieee754/dbl-64 -I../sysdeps/ieee754 -I../sysdeps/generic/elf -I../sysdeps/generic -I../nptl -I../ports -I.. -I../libio -I. -nostdinc -isystem /usr/lib/gcc/arm-unknown-linux-gnu/4.3.2/include -isystem /usr/lib/gcc/arm-unknown-linux-gnu/4.3.2/include-fixed -isystem /usr/arm-unknown-linux-gnu/usr/include -D_LIBC_REENTRANT -include ../include/libc-symbols.h -DPIC -DSHARED -o /var/tmp/portage/cross-arm-unknown-linux-gnu/glibc-2.8_p20080602/work/build-default-arm-unknown-linux-gnu-nptl/nptl/rtld-libc-lowlevellock.os -MD -MP -MF /var/tmp/portage/cross-arm-unknown-linux-gnu/glibc-2.8_p20080602/work/build-default-arm-unknown-linux-gnu-nptl/nptl/rtld-libc-lowlevellock.os.dt -MT /var/tmp/portage/cross-arm-unknown-linux-gnu/glibc-2.8_p20080602/work/build-default-arm-unknown-linux-gnu-nptl/nptl/rtld-libc-lowlevellock.os -DNOT_IN_libc=1 -DIS_IN_rtld=1
|
||||
In file included from ../nptl/sysdeps/unix/sysv/linux/libc-lowlevellock.c:21:
|
||||
../nptl/sysdeps/unix/sysv/linux/lowlevellock.c: In function '__lll_lock_wait_private':
|
||||
../nptl/sysdeps/unix/sysv/linux/lowlevellock.c:31: warning: implicit declaration of function 'THREAD_GETMEM'
|
||||
../nptl/sysdeps/unix/sysv/linux/lowlevellock.c:31: error: 'THREAD_SELF' undeclared (first use in this function)
|
||||
../nptl/sysdeps/unix/sysv/linux/lowlevellock.c:31: error: (Each undeclared identifier is reported only once
|
||||
../nptl/sysdeps/unix/sysv/linux/lowlevellock.c:31: error: for each function it appears in.)
|
||||
../nptl/sysdeps/unix/sysv/linux/lowlevellock.c:31: error: 'header' undeclared (first use in this function)
|
||||
|
||||
---
|
||||
sysdeps/unix/sysv/linux/arm/nptl/lowlevellock.h | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
--- a/sysdeps/unix/sysv/linux/arm/nptl/lowlevellock.h
|
||||
+++ b/sysdeps/unix/sysv/linux/arm/nptl/lowlevellock.h
|
||||
@@ -25,6 +25,7 @@
|
||||
#include <atomic.h>
|
||||
#include <sysdep.h>
|
||||
#include <kernel-features.h>
|
||||
+#include <tls.h> /* Need THREAD_*, and header.*. */
|
||||
|
||||
#define FUTEX_WAIT 0
|
||||
#define FUTEX_WAKE 1
|
@ -1,17 +0,0 @@
|
||||
http://sourceware.org/ml/libc-alpha/2002-10/msg00392.html
|
||||
|
||||
---
|
||||
sysdeps/mips/fpu_control.h | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
--- a/sysdeps/mips/fpu_control.h
|
||||
+++ b/sysdeps/mips/fpu_control.h
|
||||
@@ -86,7 +86,7 @@
|
||||
#define _FPU_RC_UP 0x2
|
||||
#define _FPU_RC_DOWN 0x3
|
||||
|
||||
-#define _FPU_RESERVED 0xfe3c0000 /* Reserved bits in cw */
|
||||
+#define _FPU_RESERVED 0xfebc0000 /* Reserved bits in cw */
|
||||
|
||||
|
||||
/* The fdlibm code requires strict IEEE double precision arithmetic,
|
12
packages/glibc-ports/2.14.1/chksum
vendored
12
packages/glibc-ports/2.14.1/chksum
vendored
@ -1,12 +0,0 @@
|
||||
md5 glibc-ports-2.14.1.tar.xz 3b3afcb6b99fea9e3a2474cc4778ec88
|
||||
sha1 glibc-ports-2.14.1.tar.xz 5f87f269e5b8942eeb84c6b48145740ea7167729
|
||||
sha256 glibc-ports-2.14.1.tar.xz d093f2299213b42d9861cc9fa475278336cfdd1b9386bbd3e71d99e7412c59db
|
||||
sha512 glibc-ports-2.14.1.tar.xz f6fe8330800ad96ca5b4f7a248f29fb17682cb00a97290df0a56b256146e557f29046c664eede83b22d09c9ef79810c3bcfea014128b793be0af6f7368ae4ac5
|
||||
md5 glibc-ports-2.14.1.tar.bz2 e2fb3ba179ed6b5720b94e158262e71a
|
||||
sha1 glibc-ports-2.14.1.tar.bz2 f649bd5c0191315c92f6a4f46aaf7aa1bf82445d
|
||||
sha256 glibc-ports-2.14.1.tar.bz2 1c830afb6d4aa166edaa09ec539580377ecbb16ba655d0aad6f5cb5a9a269aa9
|
||||
sha512 glibc-ports-2.14.1.tar.bz2 4ed18be51e2dec4395bf89701b32e443ba02e4e6b26ee1a72684a1f84ef302d58ed8b58f99e4e0ba3f539da0ade668de5881bb2b86fcd065d741448d9c129bae
|
||||
md5 glibc-ports-2.14.1.tar.gz 2aa77ef5dd15df1d1d6dadd4e158ae33
|
||||
sha1 glibc-ports-2.14.1.tar.gz 6dedd87b589eed1de095634311d361cbb121678c
|
||||
sha256 glibc-ports-2.14.1.tar.gz 956a5fc597e95d0684dc1b815ff73701d5fc745c6205ccd68e83a34377aa5106
|
||||
sha512 glibc-ports-2.14.1.tar.gz 3883c5f2f38debd2b415081378c0c2828c72a4ff0c98a442d832b9d8ceada7aa46cc28a097d99e912a49bb78a78ed314dea7c27b177268189232fe271e34b260
|
@ -1,72 +0,0 @@
|
||||
From 175cef4163dd60f95106cfd5f593b8a4e09d02c9 Mon Sep 17 00:00:00 2001
|
||||
From: Joseph Myers <joseph@codesourcery.com>
|
||||
Date: Tue, 20 May 2014 21:27:13 +0000
|
||||
Subject: [PATCH] Fix ARM build with GCC trunk.
|
||||
|
||||
sysdeps/unix/sysv/linux/arm/unwind-resume.c and
|
||||
sysdeps/unix/sysv/linux/arm/unwind-forcedunwind.c have static
|
||||
variables that are written in C code but only read from toplevel asms.
|
||||
Current GCC trunk now optimizes away such apparently write-only static
|
||||
variables, so causing a build failure. This patch marks those
|
||||
variables with __attribute_used__ to avoid that optimization.
|
||||
|
||||
Tested that this fixes the build for ARM.
|
||||
|
||||
* sysdeps/unix/sysv/linux/arm/unwind-forcedunwind.c
|
||||
(libgcc_s_resume): Use __attribute_used__.
|
||||
* sysdeps/unix/sysv/linux/arm/unwind-resume.c (libgcc_s_resume):
|
||||
Likewise.
|
||||
---
|
||||
sysdeps/unix/sysv/linux/arm/eabi/nptl/unwind-forcedunwind.c | 3 ++-
|
||||
sysdeps/unix/sysv/linux/arm/eabi/nptl/unwind-resume.c | 3 ++-
|
||||
sysdeps/unix/sysv/linux/arm/nptl/unwind-forcedunwind.c | 3 ++-
|
||||
sysdeps/unix/sysv/linux/arm/nptl/unwind-resume.c | 3 ++-
|
||||
4 files changed, 8 insertions(+), 4 deletions(-)
|
||||
--- a/sysdeps/unix/sysv/linux/arm/nptl/unwind-forcedunwind.c
|
||||
+++ b/sysdeps/unix/sysv/linux/arm/nptl/unwind-forcedunwind.c
|
||||
@@ -23,7 +23,8 @@
|
||||
#include <pthreadP.h>
|
||||
|
||||
static void *libgcc_s_handle;
|
||||
-static void (*libgcc_s_resume) (struct _Unwind_Exception *exc);
|
||||
+static void (*libgcc_s_resume) (struct _Unwind_Exception *exc)
|
||||
+ __attribute_used__;
|
||||
static _Unwind_Reason_Code (*libgcc_s_personality)
|
||||
(int, _Unwind_Action, _Unwind_Exception_Class, struct _Unwind_Exception *,
|
||||
struct _Unwind_Context *);
|
||||
--- a/sysdeps/unix/sysv/linux/arm/nptl/unwind-resume.c
|
||||
+++ b/sysdeps/unix/sysv/linux/arm/nptl/unwind-resume.c
|
||||
@@ -21,7 +21,8 @@
|
||||
#include <stdio.h>
|
||||
#include <unwind.h>
|
||||
|
||||
-static void (*libgcc_s_resume) (struct _Unwind_Exception *exc);
|
||||
+static void (*libgcc_s_resume) (struct _Unwind_Exception *exc)
|
||||
+ __attribute_used__;
|
||||
static _Unwind_Reason_Code (*libgcc_s_personality)
|
||||
(int, _Unwind_Action, _Unwind_Exception_Class, struct _Unwind_Exception *,
|
||||
struct _Unwind_Context *);
|
||||
--- a/sysdeps/unix/sysv/linux/arm/eabi/nptl/unwind-forcedunwind.c
|
||||
+++ b/sysdeps/unix/sysv/linux/arm/eabi/nptl/unwind-forcedunwind.c
|
||||
@@ -23,7 +23,8 @@
|
||||
#include <pthreadP.h>
|
||||
|
||||
static void *libgcc_s_handle;
|
||||
-static void (*libgcc_s_resume) (struct _Unwind_Exception *exc);
|
||||
+static void (*libgcc_s_resume) (struct _Unwind_Exception *exc)
|
||||
+ __attribute_used__;
|
||||
static _Unwind_Reason_Code (*libgcc_s_personality)
|
||||
(_Unwind_State, struct _Unwind_Exception *, struct _Unwind_Context *);
|
||||
static _Unwind_Reason_Code (*libgcc_s_forcedunwind)
|
||||
--- a/sysdeps/unix/sysv/linux/arm/eabi/nptl/unwind-resume.c
|
||||
+++ b/sysdeps/unix/sysv/linux/arm/eabi/nptl/unwind-resume.c
|
||||
@@ -21,7 +21,8 @@
|
||||
#include <stdio.h>
|
||||
#include <unwind.h>
|
||||
|
||||
-static void (*libgcc_s_resume) (struct _Unwind_Exception *exc);
|
||||
+static void (*libgcc_s_resume) (struct _Unwind_Exception *exc)
|
||||
+ __attribute_used__;
|
||||
static _Unwind_Reason_Code (*libgcc_s_personality)
|
||||
(_Unwind_State, struct _Unwind_Exception *, struct _Unwind_Context *);
|
||||
|
@ -1,21 +0,0 @@
|
||||
commit 2d80bda39073a35af4b904d27fa1511cd309b26f
|
||||
Author: Nathan Sidwell <nathan@codesourcery.com>
|
||||
Date: Fri Jan 6 20:14:44 2012 +0000
|
||||
|
||||
Add ARM dependency of libmemusage.so on libc_nonshared.a.
|
||||
|
||||
---
|
||||
sysdeps/arm/Makefile | 5 +++++
|
||||
1 file changed, 5 insertions(+)
|
||||
|
||||
--- a/sysdeps/arm/Makefile
|
||||
+++ b/sysdeps/arm/Makefile
|
||||
@@ -7,3 +7,8 @@
|
||||
ifeq ($(subdir),csu)
|
||||
gen-as-const-headers += tlsdesc.sym
|
||||
endif
|
||||
+
|
||||
+# to pull in __aeabi_read_tp, needed for tls
|
||||
+ifeq ($(subdir),malloc)
|
||||
+$(objpfx)libmemusage.so: $(common-objpfx)libc_nonshared.a
|
||||
+endif
|
@ -1,99 +0,0 @@
|
||||
copied from kernel as it is sanitized now
|
||||
|
||||
---
|
||||
sysdeps/unix/sysv/linux/m68k/sys/user.h | 87 ++++++++++++++++++++++++++++++++
|
||||
1 file changed, 87 insertions(+)
|
||||
|
||||
--- a/sysdeps/unix/sysv/linux/m68k/sys/user.h
|
||||
+++ b/sysdeps/unix/sysv/linux/m68k/sys/user.h
|
||||
@@ -1,3 +1,90 @@
|
||||
+#ifndef _SYS_USER_H
|
||||
+#define _SYS_USER_H
|
||||
+
|
||||
+/* Core file format: The core file is written in such a way that gdb
|
||||
+ can understand it and provide useful information to the user (under
|
||||
+ linux we use the 'trad-core' bfd). There are quite a number of
|
||||
+ obstacles to being able to view the contents of the floating point
|
||||
+ registers, and until these are solved you will not be able to view the
|
||||
+ contents of them. Actually, you can read in the core file and look at
|
||||
+ the contents of the user struct to find out what the floating point
|
||||
+ registers contain.
|
||||
+ The actual file contents are as follows:
|
||||
+ UPAGE: 1 page consisting of a user struct that tells gdb what is present
|
||||
+ in the file. Directly after this is a copy of the task_struct, which
|
||||
+ is currently not used by gdb, but it may come in useful at some point.
|
||||
+ All of the registers are stored as part of the upage. The upage should
|
||||
+ always be only one page.
|
||||
+ DATA: The data area is stored. We use current->end_text to
|
||||
+ current->brk to pick up all of the user variables, plus any memory
|
||||
+ that may have been malloced. No attempt is made to determine if a page
|
||||
+ is demand-zero or if a page is totally unused, we just cover the entire
|
||||
+ range. All of the addresses are rounded in such a way that an integral
|
||||
+ number of pages is written.
|
||||
+ STACK: We need the stack information in order to get a meaningful
|
||||
+ backtrace. We need to write the data from (esp) to
|
||||
+ current->start_stack, so we round each of these off in order to be able
|
||||
+ to write an integer number of pages.
|
||||
+ The minimum core file size is 3 pages, or 12288 bytes.
|
||||
+*/
|
||||
+
|
||||
+struct user_m68kfp_struct {
|
||||
+ unsigned long fpregs[8*3]; /* fp0-fp7 registers */
|
||||
+ unsigned long fpcntl[3]; /* fp control regs */
|
||||
+};
|
||||
+
|
||||
+/* This is the old layout of "struct pt_regs" as of Linux 1.x, and
|
||||
+ is still the layout used by user (the new pt_regs doesn't have
|
||||
+ all registers). */
|
||||
+struct user_regs_struct {
|
||||
+ long d1,d2,d3,d4,d5,d6,d7;
|
||||
+ long a0,a1,a2,a3,a4,a5,a6;
|
||||
+ long d0;
|
||||
+ long usp;
|
||||
+ long orig_d0;
|
||||
+ short stkadj;
|
||||
+ short sr;
|
||||
+ long pc;
|
||||
+ short fmtvec;
|
||||
+ short __fill;
|
||||
+};
|
||||
+
|
||||
+
|
||||
+/* When the kernel dumps core, it starts by dumping the user struct -
|
||||
+ this will be used by gdb to figure out where the data and stack segments
|
||||
+ are within the file, and what virtual addresses to use. */
|
||||
+struct user{
|
||||
+/* We start with the registers, to mimic the way that "memory" is returned
|
||||
+ from the ptrace(3,...) function. */
|
||||
+ struct user_regs_struct regs; /* Where the registers are actually stored */
|
||||
+/* ptrace does not yet supply these. Someday.... */
|
||||
+ int u_fpvalid; /* True if math co-processor being used. */
|
||||
+ /* for this mess. Not yet used. */
|
||||
+ struct user_m68kfp_struct m68kfp; /* Math Co-processor registers. */
|
||||
+/* The rest of this junk is to help gdb figure out what goes where */
|
||||
+ unsigned long int u_tsize; /* Text segment size (pages). */
|
||||
+ unsigned long int u_dsize; /* Data segment size (pages). */
|
||||
+ unsigned long int u_ssize; /* Stack segment size (pages). */
|
||||
+ unsigned long start_code; /* Starting virtual address of text. */
|
||||
+ unsigned long start_stack; /* Starting virtual address of stack area.
|
||||
+ This is actually the bottom of the stack,
|
||||
+ the top of the stack is always found in the
|
||||
+ esp register. */
|
||||
+ long int signal; /* Signal that caused the core dump. */
|
||||
+ int reserved; /* No longer used */
|
||||
+ struct user_regs_struct *u_ar0;
|
||||
+ /* Used by gdb to help find the values for */
|
||||
+ /* the registers. */
|
||||
+ struct user_m68kfp_struct* u_fpstate; /* Math Co-processor pointer. */
|
||||
+ unsigned long magic; /* To uniquely identify a core file */
|
||||
+ char u_comm[32]; /* User command that was responsible */
|
||||
+};
|
||||
+#define NBPG 4096
|
||||
+#define UPAGES 1
|
||||
+#define HOST_TEXT_START_ADDR (u.start_code)
|
||||
+#define HOST_STACK_END_ADDR (u.start_stack + u.u_ssize * NBPG)
|
||||
+
|
||||
+#endif
|
||||
/* Copyright (C) 2008, 2010 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
|
@ -1,16 +0,0 @@
|
||||
older verisons of glibc would build dl-sysdep as shared-only and dl-support as
|
||||
static-only. alpha hooks in a cache variable via dl-auxv.h. newer versions of
|
||||
glibc build dl-sysdep as both shared and static which means we now have symbol
|
||||
duplication for static builds with dl-sysdep and dl-support. since dl-sysdep
|
||||
is both shared/static, there is no point in hooking dl-support anymore, so we
|
||||
can punt it.
|
||||
|
||||
---
|
||||
sysdeps/unix/sysv/linux/alpha/dl-support.c | 1 -
|
||||
1 file changed, 1 deletion(-)
|
||||
|
||||
--- a/sysdeps/unix/sysv/linux/alpha/dl-support.c
|
||||
+++ b/sysdeps/unix/sysv/linux/alpha/dl-support.c
|
||||
@@ -1,2 +1 @@
|
||||
-#include "dl-auxv.h"
|
||||
#include <elf/dl-support.c>
|
@ -1,54 +0,0 @@
|
||||
2006-05-30 Falk Hueffner <falk@debian.org>
|
||||
|
||||
* sysdeps/unix/sysv/linux/alpha/ioperm.c: force the architecture
|
||||
to ev6 in assembly code.
|
||||
|
||||
{standard input}: Assembler messages:
|
||||
{standard input}:341: Error: macro requires $at register while noat in effect
|
||||
{standard input}:374: Error: macro requires $at register while noat in effect
|
||||
{standard input}:438: Error: macro requires $at register while noat in effect
|
||||
{standard input}:471: Error: macro requires $at register while noat in effect
|
||||
make[3]: *** [/tmp/buildd/glibc-2.3.6/build-tree/alpha-libc/misc/ioperm.o] Error 1
|
||||
|
||||
Hrm. gcc puts .arch ev4 into the .s, and this overrides -mev6 for as.
|
||||
I cannot really think of anything better than
|
||||
|
||||
sysdeps/unix/sysv/linux/alpha/ioperm.c | 8 ++++----
|
||||
1 file changed, 4 insertions(+), 4 deletions(-)
|
||||
|
||||
--- a/sysdeps/unix/sysv/linux/alpha/ioperm.c
|
||||
+++ b/sysdeps/unix/sysv/linux/alpha/ioperm.c
|
||||
@@ -178,13 +178,13 @@
|
||||
static inline void
|
||||
stb_mb(unsigned char val, unsigned long addr)
|
||||
{
|
||||
- __asm__("stb %1,%0; mb" : "=m"(*(vucp)addr) : "r"(val));
|
||||
+ __asm__(".arch ev6; stb %1,%0; mb" : "=m"(*(vucp)addr) : "r"(val));
|
||||
}
|
||||
|
||||
static inline void
|
||||
stw_mb(unsigned short val, unsigned long addr)
|
||||
{
|
||||
- __asm__("stw %1,%0; mb" : "=m"(*(vusp)addr) : "r"(val));
|
||||
+ __asm__(".arch ev6; stw %1,%0; mb" : "=m"(*(vusp)addr) : "r"(val));
|
||||
}
|
||||
|
||||
static inline void
|
||||
@@ -356,7 +356,7 @@
|
||||
unsigned long int addr = dense_port_to_cpu_addr (port);
|
||||
unsigned char r;
|
||||
|
||||
- __asm__ ("ldbu %0,%1" : "=r"(r) : "m"(*(vucp)addr));
|
||||
+ __asm__ (".arch ev6; ldbu %0,%1" : "=r"(r) : "m"(*(vucp)addr));
|
||||
return r;
|
||||
}
|
||||
|
||||
@@ -366,7 +366,7 @@
|
||||
unsigned long int addr = dense_port_to_cpu_addr (port);
|
||||
unsigned short r;
|
||||
|
||||
- __asm__ ("ldwu %0,%1" : "=r"(r) : "m"(*(vusp)addr));
|
||||
+ __asm__ (".arch ev6; ldwu %0,%1" : "=r"(r) : "m"(*(vusp)addr));
|
||||
return r;
|
||||
}
|
||||
|
@ -1,19 +0,0 @@
|
||||
2009-05-26 Aurelien Jarno <aurelien@aurel32.net>
|
||||
|
||||
* sysdeps/alpha/Makefile (CFLAGS-rtld.c): add $(PIC-ccflag).
|
||||
|
||||
sysdeps/alpha/Makefile | 3 ++-
|
||||
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||
|
||||
--- a/sysdeps/alpha/Makefile
|
||||
+++ b/sysdeps/alpha/Makefile
|
||||
@@ -35,7 +35,8 @@
|
||||
|
||||
ifeq ($(subdir),elf)
|
||||
# The ld.so startup code cannot use literals until it self-relocates.
|
||||
-CFLAGS-rtld.c = -mbuild-constants
|
||||
+# It uses more than 64k for the small data area.
|
||||
+CFLAGS-rtld.c = -mbuild-constants $(PIC-ccflag)
|
||||
endif
|
||||
|
||||
# Build everything with full IEEE math support, and with dynamic rounding;
|
@ -1,366 +0,0 @@
|
||||
http://yann.poupet.free.fr/ep93xx/
|
||||
Add support for the Maverick Crunch FPU on Cirrus EP93XX processor series
|
||||
|
||||
---
|
||||
sysdeps/arm/bits/endian.h | 2 -
|
||||
sysdeps/arm/fpu/__longjmp.S | 26 +++++++++++++
|
||||
sysdeps/arm/fpu/bits/fenv.h | 41 ++++++++++++++++++++
|
||||
sysdeps/arm/fpu/bits/setjmp.h | 4 ++
|
||||
sysdeps/arm/fpu/fegetround.c | 12 ++++++
|
||||
sysdeps/arm/fpu/fesetround.c | 16 ++++++++
|
||||
sysdeps/arm/fpu/fpu_control.h | 78 ++++++++++++++++++++++++++++++++++++++-
|
||||
sysdeps/arm/fpu/jmpbuf-offsets.h | 4 ++
|
||||
sysdeps/arm/fpu/setjmp.S | 30 +++++++++++++++
|
||||
sysdeps/arm/gccframe.h | 4 ++
|
||||
sysdeps/arm/gmp-mparam.h | 2 -
|
||||
11 files changed, 216 insertions(+), 3 deletions(-)
|
||||
|
||||
--- a/sysdeps/arm/bits/endian.h
|
||||
+++ b/sysdeps/arm/bits/endian.h
|
||||
@@ -12,7 +12,7 @@
|
||||
/* FPA floating point units are always big-endian, irrespective of the
|
||||
CPU endianness. VFP floating point units use the same endianness
|
||||
as the rest of the system. */
|
||||
-#ifdef __VFP_FP__
|
||||
+#if defined __VFP_FP__ || defined __MAVERICK__
|
||||
#define __FLOAT_WORD_ORDER __BYTE_ORDER
|
||||
#else
|
||||
#define __FLOAT_WORD_ORDER __BIG_ENDIAN
|
||||
--- a/sysdeps/arm/fpu/__longjmp.S
|
||||
+++ b/sysdeps/arm/fpu/__longjmp.S
|
||||
@@ -30,7 +30,33 @@
|
||||
movs r0, r1 /* get the return value in place */
|
||||
moveq r0, #1 /* can't let setjmp() return zero! */
|
||||
|
||||
+#ifdef __MAVERICK__
|
||||
+ cfldrd mvd4, [ip], #8
|
||||
+ nop
|
||||
+ cfldrd mvd5, [ip], #8
|
||||
+ nop
|
||||
+ cfldrd mvd6, [ip], #8
|
||||
+ nop
|
||||
+ cfldrd mvd7, [ip], #8
|
||||
+ nop
|
||||
+ cfldrd mvd8, [ip], #8
|
||||
+ nop
|
||||
+ cfldrd mvd9, [ip], #8
|
||||
+ nop
|
||||
+ cfldrd mvd10, [ip], #8
|
||||
+ nop
|
||||
+ cfldrd mvd11, [ip], #8
|
||||
+ nop
|
||||
+ cfldrd mvd12, [ip], #8
|
||||
+ nop
|
||||
+ cfldrd mvd13, [ip], #8
|
||||
+ nop
|
||||
+ cfldrd mvd14, [ip], #8
|
||||
+ nop
|
||||
+ cfldrd mvd15, [ip], #8
|
||||
+#else
|
||||
lfmfd f4, 4, [ip] ! /* load the floating point regs */
|
||||
+#endif
|
||||
|
||||
LOADREGS(ia, ip, {v1-v6, sl, fp, sp, pc})
|
||||
END (__longjmp)
|
||||
--- a/sysdeps/arm/fpu/bits/fenv.h
|
||||
+++ b/sysdeps/arm/fpu/bits/fenv.h
|
||||
@@ -20,6 +20,45 @@
|
||||
# error "Never use <bits/fenv.h> directly; include <fenv.h> instead."
|
||||
#endif
|
||||
|
||||
+#if defined(__MAVERICK__)
|
||||
+
|
||||
+/* Define bits representing exceptions in the FPU status word. */
|
||||
+enum
|
||||
+ {
|
||||
+ FE_INVALID = 1,
|
||||
+#define FE_INVALID FE_INVALID
|
||||
+ FE_OVERFLOW = 4,
|
||||
+#define FE_OVERFLOW FE_OVERFLOW
|
||||
+ FE_UNDERFLOW = 8,
|
||||
+#define FE_UNDERFLOW FE_UNDERFLOW
|
||||
+ FE_INEXACT = 16,
|
||||
+#define FE_INEXACT FE_INEXACT
|
||||
+ };
|
||||
+
|
||||
+/* Amount to shift by to convert an exception to a mask bit. */
|
||||
+#define FE_EXCEPT_SHIFT 5
|
||||
+
|
||||
+/* All supported exceptions. */
|
||||
+#define FE_ALL_EXCEPT \
|
||||
+ (FE_INVALID | FE_OVERFLOW | FE_UNDERFLOW | FE_INEXACT)
|
||||
+
|
||||
+/* IEEE rounding modes. */
|
||||
+enum
|
||||
+ {
|
||||
+ FE_TONEAREST = 0,
|
||||
+#define FE_TONEAREST FE_TONEAREST
|
||||
+ FE_TOWARDZERO = 0x400,
|
||||
+#define FE_TOWARDZERO FE_TOWARDZERO
|
||||
+ FE_DOWNWARD = 0x800,
|
||||
+#define FE_DOWNWARD FE_DOWNWARD
|
||||
+ FE_UPWARD = 0xc00,
|
||||
+#define FE_UPWARD FE_UPWARD
|
||||
+ };
|
||||
+
|
||||
+#define FE_ROUND_MASK (FE_UPWARD)
|
||||
+
|
||||
+#else /* FPA */
|
||||
+
|
||||
/* Define bits representing exceptions in the FPU status word. */
|
||||
enum
|
||||
{
|
||||
@@ -44,6 +83,8 @@
|
||||
modes exist, but you have to encode them in the actual instruction. */
|
||||
#define FE_TONEAREST 0
|
||||
|
||||
+#endif
|
||||
+
|
||||
/* Type representing exception flags. */
|
||||
typedef unsigned long int fexcept_t;
|
||||
|
||||
--- a/sysdeps/arm/fpu/bits/setjmp.h
|
||||
+++ b/sysdeps/arm/fpu/bits/setjmp.h
|
||||
@@ -28,7 +28,11 @@
|
||||
#ifndef _ASM
|
||||
/* Jump buffer contains v1-v6, sl, fp, sp and pc. Other registers are not
|
||||
saved. */
|
||||
+#ifdef __MAVERICK__
|
||||
+typedef int __jmp_buf[34];
|
||||
+#else
|
||||
typedef int __jmp_buf[22];
|
||||
#endif
|
||||
+#endif
|
||||
|
||||
#endif
|
||||
--- a/sysdeps/arm/fpu/fegetround.c
|
||||
+++ b/sysdeps/arm/fpu/fegetround.c
|
||||
@@ -18,9 +18,21 @@
|
||||
02111-1307 USA. */
|
||||
|
||||
#include <fenv.h>
|
||||
+#include <fpu_control.h>
|
||||
|
||||
int
|
||||
fegetround (void)
|
||||
{
|
||||
+#if defined(__MAVERICK__)
|
||||
+
|
||||
+ unsigned long temp;
|
||||
+
|
||||
+ _FPU_GETCW (temp);
|
||||
+ return temp & FE_ROUND_MASK;
|
||||
+
|
||||
+#else /* FPA */
|
||||
+
|
||||
return FE_TONEAREST; /* Easy. :-) */
|
||||
+
|
||||
+#endif
|
||||
}
|
||||
--- a/sysdeps/arm/fpu/fesetround.c
|
||||
+++ b/sysdeps/arm/fpu/fesetround.c
|
||||
@@ -18,12 +18,28 @@
|
||||
02111-1307 USA. */
|
||||
|
||||
#include <fenv.h>
|
||||
+#include <fpu_control.h>
|
||||
|
||||
int
|
||||
fesetround (int round)
|
||||
{
|
||||
+#if defined(__MAVERICK__)
|
||||
+ unsigned long temp;
|
||||
+
|
||||
+ if (round & ~FE_ROUND_MASK)
|
||||
+ return 1;
|
||||
+
|
||||
+ _FPU_GETCW (temp);
|
||||
+ temp = (temp & ~FE_ROUND_MASK) | round;
|
||||
+ _FPU_SETCW (temp);
|
||||
+ return 0;
|
||||
+
|
||||
+#else /* FPA */
|
||||
+
|
||||
/* We only support FE_TONEAREST, so there is no need for any work. */
|
||||
return (round == FE_TONEAREST)?0:1;
|
||||
+
|
||||
+#endif
|
||||
}
|
||||
|
||||
libm_hidden_def (fesetround)
|
||||
--- a/sysdeps/arm/fpu/fpu_control.h
|
||||
+++ b/sysdeps/arm/fpu/fpu_control.h
|
||||
@@ -1,5 +1,6 @@
|
||||
/* FPU control word definitions. ARM version.
|
||||
- Copyright (C) 1996, 1997, 1998, 2000 Free Software Foundation, Inc.
|
||||
+ Copyright (C) 1996, 1997, 1998, 2000, 2005
|
||||
+ 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
|
||||
@@ -20,6 +21,79 @@
|
||||
#ifndef _FPU_CONTROL_H
|
||||
#define _FPU_CONTROL_H
|
||||
|
||||
+#if defined(__MAVERICK__)
|
||||
+
|
||||
+/* DSPSC register: (from EP9312 User's Guide)
|
||||
+ *
|
||||
+ * bits 31..29 - DAID
|
||||
+ * bits 28..26 - HVID
|
||||
+ * bits 25..24 - RSVD
|
||||
+ * bit 23 - ISAT
|
||||
+ * bit 22 - UI
|
||||
+ * bit 21 - INT
|
||||
+ * bit 20 - AEXC
|
||||
+ * bits 19..18 - SAT
|
||||
+ * bits 17..16 - FCC
|
||||
+ * bit 15 - V
|
||||
+ * bit 14 - FWDEN
|
||||
+ * bit 13 - Invalid
|
||||
+ * bit 12 - Denorm
|
||||
+ * bits 11..10 - RM
|
||||
+ * bits 9..5 - IXE, UFE, OFE, RSVD, IOE
|
||||
+ * bits 4..0 - IX, UF, OF, RSVD, IO
|
||||
+ */
|
||||
+
|
||||
+/* masking of interrupts */
|
||||
+#define _FPU_MASK_IM (1 << 5) /* invalid operation */
|
||||
+#define _FPU_MASK_ZM 0 /* divide by zero */
|
||||
+#define _FPU_MASK_OM (1 << 7) /* overflow */
|
||||
+#define _FPU_MASK_UM (1 << 8) /* underflow */
|
||||
+#define _FPU_MASK_PM (1 << 9) /* inexact */
|
||||
+#define _FPU_MASK_DM 0 /* denormalized operation */
|
||||
+
|
||||
+#define _FPU_RESERVED 0xfffff000 /* These bits are reserved. */
|
||||
+
|
||||
+#define _FPU_DEFAULT 0x00b00000 /* Default value. */
|
||||
+#define _FPU_IEEE 0x00b003a0 /* Default + exceptions enabled. */
|
||||
+
|
||||
+/* Type of the control word. */
|
||||
+typedef unsigned int fpu_control_t;
|
||||
+
|
||||
+/* Macros for accessing the hardware control word. */
|
||||
+#define _FPU_GETCW(cw) ({ \
|
||||
+ register int __t1, __t2; \
|
||||
+ \
|
||||
+ __asm__ volatile ( \
|
||||
+ "cfmvr64l %1, mvdx0\n\t" \
|
||||
+ "cfmvr64h %2, mvdx0\n\t" \
|
||||
+ "cfmv32sc mvdx0, dspsc\n\t" \
|
||||
+ "cfmvr64l %0, mvdx0\n\t" \
|
||||
+ "cfmv64lr mvdx0, %1\n\t" \
|
||||
+ "cfmv64hr mvdx0, %2" \
|
||||
+ : "=r" (cw), "=r" (__t1), "=r" (__t2) \
|
||||
+ ); \
|
||||
+})
|
||||
+
|
||||
+#define _FPU_SETCW(cw) ({ \
|
||||
+ register int __t0, __t1, __t2; \
|
||||
+ \
|
||||
+ __asm__ volatile ( \
|
||||
+ "cfmvr64l %1, mvdx0\n\t" \
|
||||
+ "cfmvr64h %2, mvdx0\n\t" \
|
||||
+ "cfmv64lr mvdx0, %0\n\t" \
|
||||
+ "cfmvsc32 dspsc, mvdx0\n\t" \
|
||||
+ "cfmv64lr mvdx0, %1\n\t" \
|
||||
+ "cfmv64hr mvdx0, %2" \
|
||||
+ : "=r" (__t0), "=r" (__t1), "=r" (__t2) \
|
||||
+ : "0" (cw) \
|
||||
+ ); \
|
||||
+})
|
||||
+
|
||||
+/* Default control word set at startup. */
|
||||
+extern fpu_control_t __fpu_control;
|
||||
+
|
||||
+#else /* FPA */
|
||||
+
|
||||
/* We have a slight terminology confusion here. On the ARM, the register
|
||||
* we're interested in is actually the FPU status word - the FPU control
|
||||
* word is something different (which is implementation-defined and only
|
||||
@@ -99,4 +173,6 @@
|
||||
/* Default control word set at startup. */
|
||||
extern fpu_control_t __fpu_control;
|
||||
|
||||
+#endif
|
||||
+
|
||||
#endif /* _FPU_CONTROL_H */
|
||||
--- a/sysdeps/arm/fpu/jmpbuf-offsets.h
|
||||
+++ b/sysdeps/arm/fpu/jmpbuf-offsets.h
|
||||
@@ -17,4 +17,8 @@
|
||||
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
|
||||
02111-1307 USA. */
|
||||
|
||||
+#ifdef __MAVERICK__
|
||||
+#define __JMP_BUF_SP 32
|
||||
+#else
|
||||
#define __JMP_BUF_SP 20
|
||||
+#endif
|
||||
--- a/sysdeps/arm/fpu/setjmp.S
|
||||
+++ b/sysdeps/arm/fpu/setjmp.S
|
||||
@@ -24,11 +24,41 @@
|
||||
|
||||
ENTRY (__sigsetjmp)
|
||||
/* Save registers */
|
||||
+#ifdef __MAVERICK__
|
||||
+ cfstrd mvd4, [r0], #8
|
||||
+ nop
|
||||
+ cfstrd mvd5, [r0], #8
|
||||
+ nop
|
||||
+ cfstrd mvd6, [r0], #8
|
||||
+ nop
|
||||
+ cfstrd mvd7, [r0], #8
|
||||
+ nop
|
||||
+ cfstrd mvd8, [r0], #8
|
||||
+ nop
|
||||
+ cfstrd mvd9, [r0], #8
|
||||
+ nop
|
||||
+ cfstrd mvd10, [r0], #8
|
||||
+ nop
|
||||
+ cfstrd mvd11, [r0], #8
|
||||
+ nop
|
||||
+ cfstrd mvd12, [r0], #8
|
||||
+ nop
|
||||
+ cfstrd mvd13, [r0], #8
|
||||
+ nop
|
||||
+ cfstrd mvd14, [r0], #8
|
||||
+ nop
|
||||
+ cfstrd mvd15, [r0], #8
|
||||
+#else
|
||||
sfmea f4, 4, [r0]!
|
||||
+#endif
|
||||
stmia r0, {v1-v6, sl, fp, sp, lr}
|
||||
|
||||
/* Restore pointer to jmp_buf */
|
||||
+#ifdef __MAVERICK__
|
||||
+ sub r0, r0, #96
|
||||
+#else
|
||||
sub r0, r0, #48
|
||||
+#endif
|
||||
|
||||
/* Make a tail call to __sigjmp_save; it takes the same args. */
|
||||
B PLTJMP(C_SYMBOL_NAME(__sigjmp_save))
|
||||
--- a/sysdeps/arm/gccframe.h
|
||||
+++ b/sysdeps/arm/gccframe.h
|
||||
@@ -17,6 +17,10 @@
|
||||
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
|
||||
02111-1307 USA. */
|
||||
|
||||
+#ifdef __MAVERICK__
|
||||
+#define FIRST_PSEUDO_REGISTER 43
|
||||
+#else
|
||||
#define FIRST_PSEUDO_REGISTER 27
|
||||
+#endif
|
||||
|
||||
#include <sysdeps/generic/gccframe.h>
|
||||
--- a/sysdeps/arm/gmp-mparam.h
|
||||
+++ b/sysdeps/arm/gmp-mparam.h
|
||||
@@ -29,7 +29,7 @@
|
||||
#if defined(__ARMEB__)
|
||||
# define IEEE_DOUBLE_MIXED_ENDIAN 0
|
||||
# define IEEE_DOUBLE_BIG_ENDIAN 1
|
||||
-#elif defined(__VFP_FP__)
|
||||
+#elif defined(__VFP_FP__) || defined(__MAVERICK__)
|
||||
# define IEEE_DOUBLE_MIXED_ENDIAN 0
|
||||
# define IEEE_DOUBLE_BIG_ENDIAN 0
|
||||
#else
|
@ -1,25 +0,0 @@
|
||||
fix build error on arm like on hppa:
|
||||
|
||||
arm-unknown-linux-gnu-gcc ../nptl/sysdeps/unix/sysv/linux/libc-lowlevellock.c -c -std=gnu99 -fgnu89-inline -O2 -Wall -Winline -Wwrite-strings -fmerge-all-constants -fno-strict-aliasing -g -pipe -Wstrict-prototypes -fPIC -I../include -I/var/tmp/portage/cross-arm-unknown-linux-gnu/glibc-2.8_p20080602/work/build-default-arm-unknown-linux-gnu-nptl/nptl -I/var/tmp/portage/cross-arm-unknown-linux-gnu/glibc-2.8_p20080602/work/build-default-arm-unknown-linux-gnu-nptl -I../ports/sysdeps/arm/elf -I../ports/sysdeps/unix/sysv/linux/arm/nptl -I../ports/sysdeps/unix/sysv/linux/arm -I../nptl/sysdeps/unix/sysv/linux -I../nptl/sysdeps/pthread -I../sysdeps/pthread -I../ports/sysdeps/unix/sysv/linux -I../sysdeps/unix/sysv/linux -I../sysdeps/gnu -I../sysdeps/unix/common -I../sysdeps/unix/mman -I../sysdeps/unix/inet -I../nptl/sysdeps/unix/sysv -I../ports/sysdeps/unix/sysv -I../sysdeps/unix/sysv -I../ports/sysdeps/unix/arm -I../nptl/sysdeps/unix -I../ports/sysdeps/unix -I../sysdeps/unix -I../sysdeps/posix -I../ports/sysdeps/arm/fpu -I../ports/sysdeps/arm/nptl -I../ports/sysdeps/arm -I../sysdeps/wordsize-32 -I../sysdeps/ieee754/flt-32 -I../sysdeps/ieee754/dbl-64 -I../sysdeps/ieee754 -I../sysdeps/generic/elf -I../sysdeps/generic -I../nptl -I../ports -I.. -I../libio -I. -nostdinc -isystem /usr/lib/gcc/arm-unknown-linux-gnu/4.3.2/include -isystem /usr/lib/gcc/arm-unknown-linux-gnu/4.3.2/include-fixed -isystem /usr/arm-unknown-linux-gnu/usr/include -D_LIBC_REENTRANT -include ../include/libc-symbols.h -DPIC -DSHARED -o /var/tmp/portage/cross-arm-unknown-linux-gnu/glibc-2.8_p20080602/work/build-default-arm-unknown-linux-gnu-nptl/nptl/rtld-libc-lowlevellock.os -MD -MP -MF /var/tmp/portage/cross-arm-unknown-linux-gnu/glibc-2.8_p20080602/work/build-default-arm-unknown-linux-gnu-nptl/nptl/rtld-libc-lowlevellock.os.dt -MT /var/tmp/portage/cross-arm-unknown-linux-gnu/glibc-2.8_p20080602/work/build-default-arm-unknown-linux-gnu-nptl/nptl/rtld-libc-lowlevellock.os -DNOT_IN_libc=1 -DIS_IN_rtld=1
|
||||
In file included from ../nptl/sysdeps/unix/sysv/linux/libc-lowlevellock.c:21:
|
||||
../nptl/sysdeps/unix/sysv/linux/lowlevellock.c: In function '__lll_lock_wait_private':
|
||||
../nptl/sysdeps/unix/sysv/linux/lowlevellock.c:31: warning: implicit declaration of function 'THREAD_GETMEM'
|
||||
../nptl/sysdeps/unix/sysv/linux/lowlevellock.c:31: error: 'THREAD_SELF' undeclared (first use in this function)
|
||||
../nptl/sysdeps/unix/sysv/linux/lowlevellock.c:31: error: (Each undeclared identifier is reported only once
|
||||
../nptl/sysdeps/unix/sysv/linux/lowlevellock.c:31: error: for each function it appears in.)
|
||||
../nptl/sysdeps/unix/sysv/linux/lowlevellock.c:31: error: 'header' undeclared (first use in this function)
|
||||
|
||||
---
|
||||
sysdeps/unix/sysv/linux/arm/nptl/lowlevellock.h | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
--- a/sysdeps/unix/sysv/linux/arm/nptl/lowlevellock.h
|
||||
+++ b/sysdeps/unix/sysv/linux/arm/nptl/lowlevellock.h
|
||||
@@ -25,6 +25,7 @@
|
||||
#include <atomic.h>
|
||||
#include <sysdep.h>
|
||||
#include <kernel-features.h>
|
||||
+#include <tls.h> /* Need THREAD_*, and header.*. */
|
||||
|
||||
#define FUTEX_WAIT 0
|
||||
#define FUTEX_WAKE 1
|
17
packages/glibc-ports/2.15/0008-fpu-cw-mips.patch
vendored
17
packages/glibc-ports/2.15/0008-fpu-cw-mips.patch
vendored
@ -1,17 +0,0 @@
|
||||
http://sourceware.org/ml/libc-alpha/2002-10/msg00392.html
|
||||
|
||||
---
|
||||
sysdeps/mips/fpu_control.h | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
--- a/sysdeps/mips/fpu_control.h
|
||||
+++ b/sysdeps/mips/fpu_control.h
|
||||
@@ -86,7 +86,7 @@
|
||||
#define _FPU_RC_UP 0x2
|
||||
#define _FPU_RC_DOWN 0x3
|
||||
|
||||
-#define _FPU_RESERVED 0xfe3c0000 /* Reserved bits in cw */
|
||||
+#define _FPU_RESERVED 0xfebc0000 /* Reserved bits in cw */
|
||||
|
||||
|
||||
/* The fdlibm code requires strict IEEE double precision arithmetic,
|
12
packages/glibc-ports/2.15/chksum
vendored
12
packages/glibc-ports/2.15/chksum
vendored
@ -1,12 +0,0 @@
|
||||
md5 glibc-ports-2.15.tar.xz fef73c8b7885b02ec5f7ce8fa00ba30c
|
||||
sha1 glibc-ports-2.15.tar.xz 65c4c239f703cc63a1fa65aa7b32ab13f833d99e
|
||||
sha256 glibc-ports-2.15.tar.xz fcc271fcc3a808bf0f3aa1d144bc39b8d0d5f730aed6e206b883961515f0d1b9
|
||||
sha512 glibc-ports-2.15.tar.xz fc3c80a9a7ede0f35054e5be043fff4b967e6ef6678f42e617dd1dd498920edb4e4c785cf8e3cd97fc2914a35a892e0fd7e1aab24f0c3c8d207765a131bf3744
|
||||
md5 glibc-ports-2.15.tar.bz2 56efe246ce89f16a52792cea9224823c
|
||||
sha1 glibc-ports-2.15.tar.bz2 493f73dae7479168049cc0113933fad64daef6c8
|
||||
sha256 glibc-ports-2.15.tar.bz2 d5108f2730b1cddbf882271c3ed591b950b1cf1045ec7ddc0f3e5ef4cccd1a6c
|
||||
sha512 glibc-ports-2.15.tar.bz2 c9c1e64ac54144a93faa78f5c1bb950615f4cd12c2014b63d85db2a2e155c9e0a64922af2e3c5df3bde914b3606f82a82f61e41089b4ab05f8dbf1b521ed0004
|
||||
md5 glibc-ports-2.15.tar.gz ca5ca51ad4fe21cebb680245e3e331da
|
||||
sha1 glibc-ports-2.15.tar.gz 06d101b9b8dd7eeff716ee2984ce4a689eafeaae
|
||||
sha256 glibc-ports-2.15.tar.gz 06014ee432941e3c14ea5deb44060c413715aa8d1e39d2b662b112da112f0be8
|
||||
sha512 glibc-ports-2.15.tar.gz ef58da21aa75e2052799f745f55856993a0f7a1a4bf03d7caeedf7b382745e5d4837a9d435375f3fb50b391bddfcee65c2b869f192fd825e12c4f80920a6548a
|
0
packages/glibc-ports/2.15/version.desc
vendored
0
packages/glibc-ports/2.15/version.desc
vendored
@ -1,47 +0,0 @@
|
||||
From 175cef4163dd60f95106cfd5f593b8a4e09d02c9 Mon Sep 17 00:00:00 2001
|
||||
From: Joseph Myers <joseph@codesourcery.com>
|
||||
Date: Tue, 20 May 2014 21:27:13 +0000
|
||||
Subject: [PATCH] Fix ARM build with GCC trunk.
|
||||
|
||||
sysdeps/unix/sysv/linux/arm/unwind-resume.c and
|
||||
sysdeps/unix/sysv/linux/arm/unwind-forcedunwind.c have static
|
||||
variables that are written in C code but only read from toplevel asms.
|
||||
Current GCC trunk now optimizes away such apparently write-only static
|
||||
variables, so causing a build failure. This patch marks those
|
||||
variables with __attribute_used__ to avoid that optimization.
|
||||
|
||||
Tested that this fixes the build for ARM.
|
||||
|
||||
* sysdeps/unix/sysv/linux/arm/unwind-forcedunwind.c
|
||||
(libgcc_s_resume): Use __attribute_used__.
|
||||
* sysdeps/unix/sysv/linux/arm/unwind-resume.c (libgcc_s_resume):
|
||||
Likewise.
|
||||
---
|
||||
sysdeps/unix/sysv/linux/arm/nptl/unwind-forcedunwind.c | 3 ++-
|
||||
sysdeps/unix/sysv/linux/arm/nptl/unwind-resume.c | 3 ++-
|
||||
2 files changed, 4 insertions(+), 2 deletions(-)
|
||||
|
||||
--- a/sysdeps/unix/sysv/linux/arm/nptl/unwind-forcedunwind.c
|
||||
+++ b/sysdeps/unix/sysv/linux/arm/nptl/unwind-forcedunwind.c
|
||||
@@ -22,7 +22,8 @@
|
||||
#include <pthreadP.h>
|
||||
|
||||
static void *libgcc_s_handle;
|
||||
-static void (*libgcc_s_resume) (struct _Unwind_Exception *exc);
|
||||
+static void (*libgcc_s_resume) (struct _Unwind_Exception *exc)
|
||||
+ __attribute_used__;
|
||||
static _Unwind_Reason_Code (*libgcc_s_personality)
|
||||
(_Unwind_State, struct _Unwind_Exception *, struct _Unwind_Context *);
|
||||
static _Unwind_Reason_Code (*libgcc_s_forcedunwind)
|
||||
--- a/sysdeps/unix/sysv/linux/arm/nptl/unwind-resume.c
|
||||
+++ b/sysdeps/unix/sysv/linux/arm/nptl/unwind-resume.c
|
||||
@@ -20,7 +20,8 @@
|
||||
#include <stdio.h>
|
||||
#include <unwind.h>
|
||||
|
||||
-static void (*libgcc_s_resume) (struct _Unwind_Exception *exc);
|
||||
+static void (*libgcc_s_resume) (struct _Unwind_Exception *exc)
|
||||
+ __attribute_used__;
|
||||
static _Unwind_Reason_Code (*libgcc_s_personality)
|
||||
(_Unwind_State, struct _Unwind_Exception *, struct _Unwind_Context *);
|
||||
|
@ -1,99 +0,0 @@
|
||||
copied from kernel as it is sanitized now
|
||||
|
||||
---
|
||||
sysdeps/unix/sysv/linux/m68k/sys/user.h | 87 ++++++++++++++++++++++++++++++++
|
||||
1 file changed, 87 insertions(+)
|
||||
|
||||
--- a/sysdeps/unix/sysv/linux/m68k/sys/user.h
|
||||
+++ b/sysdeps/unix/sysv/linux/m68k/sys/user.h
|
||||
@@ -1,3 +1,90 @@
|
||||
+#ifndef _SYS_USER_H
|
||||
+#define _SYS_USER_H
|
||||
+
|
||||
+/* Core file format: The core file is written in such a way that gdb
|
||||
+ can understand it and provide useful information to the user (under
|
||||
+ linux we use the 'trad-core' bfd). There are quite a number of
|
||||
+ obstacles to being able to view the contents of the floating point
|
||||
+ registers, and until these are solved you will not be able to view the
|
||||
+ contents of them. Actually, you can read in the core file and look at
|
||||
+ the contents of the user struct to find out what the floating point
|
||||
+ registers contain.
|
||||
+ The actual file contents are as follows:
|
||||
+ UPAGE: 1 page consisting of a user struct that tells gdb what is present
|
||||
+ in the file. Directly after this is a copy of the task_struct, which
|
||||
+ is currently not used by gdb, but it may come in useful at some point.
|
||||
+ All of the registers are stored as part of the upage. The upage should
|
||||
+ always be only one page.
|
||||
+ DATA: The data area is stored. We use current->end_text to
|
||||
+ current->brk to pick up all of the user variables, plus any memory
|
||||
+ that may have been malloced. No attempt is made to determine if a page
|
||||
+ is demand-zero or if a page is totally unused, we just cover the entire
|
||||
+ range. All of the addresses are rounded in such a way that an integral
|
||||
+ number of pages is written.
|
||||
+ STACK: We need the stack information in order to get a meaningful
|
||||
+ backtrace. We need to write the data from (esp) to
|
||||
+ current->start_stack, so we round each of these off in order to be able
|
||||
+ to write an integer number of pages.
|
||||
+ The minimum core file size is 3 pages, or 12288 bytes.
|
||||
+*/
|
||||
+
|
||||
+struct user_m68kfp_struct {
|
||||
+ unsigned long fpregs[8*3]; /* fp0-fp7 registers */
|
||||
+ unsigned long fpcntl[3]; /* fp control regs */
|
||||
+};
|
||||
+
|
||||
+/* This is the old layout of "struct pt_regs" as of Linux 1.x, and
|
||||
+ is still the layout used by user (the new pt_regs doesn't have
|
||||
+ all registers). */
|
||||
+struct user_regs_struct {
|
||||
+ long d1,d2,d3,d4,d5,d6,d7;
|
||||
+ long a0,a1,a2,a3,a4,a5,a6;
|
||||
+ long d0;
|
||||
+ long usp;
|
||||
+ long orig_d0;
|
||||
+ short stkadj;
|
||||
+ short sr;
|
||||
+ long pc;
|
||||
+ short fmtvec;
|
||||
+ short __fill;
|
||||
+};
|
||||
+
|
||||
+
|
||||
+/* When the kernel dumps core, it starts by dumping the user struct -
|
||||
+ this will be used by gdb to figure out where the data and stack segments
|
||||
+ are within the file, and what virtual addresses to use. */
|
||||
+struct user{
|
||||
+/* We start with the registers, to mimic the way that "memory" is returned
|
||||
+ from the ptrace(3,...) function. */
|
||||
+ struct user_regs_struct regs; /* Where the registers are actually stored */
|
||||
+/* ptrace does not yet supply these. Someday.... */
|
||||
+ int u_fpvalid; /* True if math co-processor being used. */
|
||||
+ /* for this mess. Not yet used. */
|
||||
+ struct user_m68kfp_struct m68kfp; /* Math Co-processor registers. */
|
||||
+/* The rest of this junk is to help gdb figure out what goes where */
|
||||
+ unsigned long int u_tsize; /* Text segment size (pages). */
|
||||
+ unsigned long int u_dsize; /* Data segment size (pages). */
|
||||
+ unsigned long int u_ssize; /* Stack segment size (pages). */
|
||||
+ unsigned long start_code; /* Starting virtual address of text. */
|
||||
+ unsigned long start_stack; /* Starting virtual address of stack area.
|
||||
+ This is actually the bottom of the stack,
|
||||
+ the top of the stack is always found in the
|
||||
+ esp register. */
|
||||
+ long int signal; /* Signal that caused the core dump. */
|
||||
+ int reserved; /* No longer used */
|
||||
+ struct user_regs_struct *u_ar0;
|
||||
+ /* Used by gdb to help find the values for */
|
||||
+ /* the registers. */
|
||||
+ struct user_m68kfp_struct* u_fpstate; /* Math Co-processor pointer. */
|
||||
+ unsigned long magic; /* To uniquely identify a core file */
|
||||
+ char u_comm[32]; /* User command that was responsible */
|
||||
+};
|
||||
+#define NBPG 4096
|
||||
+#define UPAGES 1
|
||||
+#define HOST_TEXT_START_ADDR (u.start_code)
|
||||
+#define HOST_STACK_END_ADDR (u.start_stack + u.u_ssize * NBPG)
|
||||
+
|
||||
+#endif
|
||||
/* Copyright (C) 2008, 2010 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
|
@ -1,16 +0,0 @@
|
||||
older verisons of glibc would build dl-sysdep as shared-only and dl-support as
|
||||
static-only. alpha hooks in a cache variable via dl-auxv.h. newer versions of
|
||||
glibc build dl-sysdep as both shared and static which means we now have symbol
|
||||
duplication for static builds with dl-sysdep and dl-support. since dl-sysdep
|
||||
is both shared/static, there is no point in hooking dl-support anymore, so we
|
||||
can punt it.
|
||||
|
||||
---
|
||||
sysdeps/unix/sysv/linux/alpha/dl-support.c | 1 -
|
||||
1 file changed, 1 deletion(-)
|
||||
|
||||
--- a/sysdeps/unix/sysv/linux/alpha/dl-support.c
|
||||
+++ b/sysdeps/unix/sysv/linux/alpha/dl-support.c
|
||||
@@ -1,2 +1 @@
|
||||
-#include "dl-auxv.h"
|
||||
#include <elf/dl-support.c>
|
@ -1,54 +0,0 @@
|
||||
2006-05-30 Falk Hueffner <falk@debian.org>
|
||||
|
||||
* sysdeps/unix/sysv/linux/alpha/ioperm.c: force the architecture
|
||||
to ev6 in assembly code.
|
||||
|
||||
{standard input}: Assembler messages:
|
||||
{standard input}:341: Error: macro requires $at register while noat in effect
|
||||
{standard input}:374: Error: macro requires $at register while noat in effect
|
||||
{standard input}:438: Error: macro requires $at register while noat in effect
|
||||
{standard input}:471: Error: macro requires $at register while noat in effect
|
||||
make[3]: *** [/tmp/buildd/glibc-2.3.6/build-tree/alpha-libc/misc/ioperm.o] Error 1
|
||||
|
||||
Hrm. gcc puts .arch ev4 into the .s, and this overrides -mev6 for as.
|
||||
I cannot really think of anything better than
|
||||
|
||||
sysdeps/unix/sysv/linux/alpha/ioperm.c | 8 ++++----
|
||||
1 file changed, 4 insertions(+), 4 deletions(-)
|
||||
|
||||
--- a/sysdeps/unix/sysv/linux/alpha/ioperm.c
|
||||
+++ b/sysdeps/unix/sysv/linux/alpha/ioperm.c
|
||||
@@ -177,13 +177,13 @@
|
||||
static inline void
|
||||
stb_mb(unsigned char val, unsigned long addr)
|
||||
{
|
||||
- __asm__("stb %1,%0; mb" : "=m"(*(vucp)addr) : "r"(val));
|
||||
+ __asm__(".arch ev6; stb %1,%0; mb" : "=m"(*(vucp)addr) : "r"(val));
|
||||
}
|
||||
|
||||
static inline void
|
||||
stw_mb(unsigned short val, unsigned long addr)
|
||||
{
|
||||
- __asm__("stw %1,%0; mb" : "=m"(*(vusp)addr) : "r"(val));
|
||||
+ __asm__(".arch ev6; stw %1,%0; mb" : "=m"(*(vusp)addr) : "r"(val));
|
||||
}
|
||||
|
||||
static inline void
|
||||
@@ -355,7 +355,7 @@
|
||||
unsigned long int addr = dense_port_to_cpu_addr (port);
|
||||
unsigned char r;
|
||||
|
||||
- __asm__ ("ldbu %0,%1" : "=r"(r) : "m"(*(vucp)addr));
|
||||
+ __asm__ (".arch ev6; ldbu %0,%1" : "=r"(r) : "m"(*(vucp)addr));
|
||||
return r;
|
||||
}
|
||||
|
||||
@@ -365,7 +365,7 @@
|
||||
unsigned long int addr = dense_port_to_cpu_addr (port);
|
||||
unsigned short r;
|
||||
|
||||
- __asm__ ("ldwu %0,%1" : "=r"(r) : "m"(*(vusp)addr));
|
||||
+ __asm__ (".arch ev6; ldwu %0,%1" : "=r"(r) : "m"(*(vusp)addr));
|
||||
return r;
|
||||
}
|
||||
|
@ -1,19 +0,0 @@
|
||||
2009-05-26 Aurelien Jarno <aurelien@aurel32.net>
|
||||
|
||||
* sysdeps/alpha/Makefile (CFLAGS-rtld.c): add $(PIC-ccflag).
|
||||
|
||||
sysdeps/alpha/Makefile | 3 ++-
|
||||
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||
|
||||
--- a/sysdeps/alpha/Makefile
|
||||
+++ b/sysdeps/alpha/Makefile
|
||||
@@ -34,7 +34,8 @@
|
||||
|
||||
ifeq ($(subdir),elf)
|
||||
# The ld.so startup code cannot use literals until it self-relocates.
|
||||
-CFLAGS-rtld.c = -mbuild-constants
|
||||
+# It uses more than 64k for the small data area.
|
||||
+CFLAGS-rtld.c = -mbuild-constants $(PIC-ccflag)
|
||||
endif
|
||||
|
||||
ifeq ($(subdir),math)
|
@ -1,25 +0,0 @@
|
||||
fix build error on arm like on hppa:
|
||||
|
||||
arm-unknown-linux-gnu-gcc ../nptl/sysdeps/unix/sysv/linux/libc-lowlevellock.c -c -std=gnu99 -fgnu89-inline -O2 -Wall -Winline -Wwrite-strings -fmerge-all-constants -fno-strict-aliasing -g -pipe -Wstrict-prototypes -fPIC -I../include -I/var/tmp/portage/cross-arm-unknown-linux-gnu/glibc-2.8_p20080602/work/build-default-arm-unknown-linux-gnu-nptl/nptl -I/var/tmp/portage/cross-arm-unknown-linux-gnu/glibc-2.8_p20080602/work/build-default-arm-unknown-linux-gnu-nptl -I../ports/sysdeps/arm/elf -I../ports/sysdeps/unix/sysv/linux/arm/nptl -I../ports/sysdeps/unix/sysv/linux/arm -I../nptl/sysdeps/unix/sysv/linux -I../nptl/sysdeps/pthread -I../sysdeps/pthread -I../ports/sysdeps/unix/sysv/linux -I../sysdeps/unix/sysv/linux -I../sysdeps/gnu -I../sysdeps/unix/common -I../sysdeps/unix/mman -I../sysdeps/unix/inet -I../nptl/sysdeps/unix/sysv -I../ports/sysdeps/unix/sysv -I../sysdeps/unix/sysv -I../ports/sysdeps/unix/arm -I../nptl/sysdeps/unix -I../ports/sysdeps/unix -I../sysdeps/unix -I../sysdeps/posix -I../ports/sysdeps/arm/fpu -I../ports/sysdeps/arm/nptl -I../ports/sysdeps/arm -I../sysdeps/wordsize-32 -I../sysdeps/ieee754/flt-32 -I../sysdeps/ieee754/dbl-64 -I../sysdeps/ieee754 -I../sysdeps/generic/elf -I../sysdeps/generic -I../nptl -I../ports -I.. -I../libio -I. -nostdinc -isystem /usr/lib/gcc/arm-unknown-linux-gnu/4.3.2/include -isystem /usr/lib/gcc/arm-unknown-linux-gnu/4.3.2/include-fixed -isystem /usr/arm-unknown-linux-gnu/usr/include -D_LIBC_REENTRANT -include ../include/libc-symbols.h -DPIC -DSHARED -o /var/tmp/portage/cross-arm-unknown-linux-gnu/glibc-2.8_p20080602/work/build-default-arm-unknown-linux-gnu-nptl/nptl/rtld-libc-lowlevellock.os -MD -MP -MF /var/tmp/portage/cross-arm-unknown-linux-gnu/glibc-2.8_p20080602/work/build-default-arm-unknown-linux-gnu-nptl/nptl/rtld-libc-lowlevellock.os.dt -MT /var/tmp/portage/cross-arm-unknown-linux-gnu/glibc-2.8_p20080602/work/build-default-arm-unknown-linux-gnu-nptl/nptl/rtld-libc-lowlevellock.os -DNOT_IN_libc=1 -DIS_IN_rtld=1
|
||||
In file included from ../nptl/sysdeps/unix/sysv/linux/libc-lowlevellock.c:21:
|
||||
../nptl/sysdeps/unix/sysv/linux/lowlevellock.c: In function '__lll_lock_wait_private':
|
||||
../nptl/sysdeps/unix/sysv/linux/lowlevellock.c:31: warning: implicit declaration of function 'THREAD_GETMEM'
|
||||
../nptl/sysdeps/unix/sysv/linux/lowlevellock.c:31: error: 'THREAD_SELF' undeclared (first use in this function)
|
||||
../nptl/sysdeps/unix/sysv/linux/lowlevellock.c:31: error: (Each undeclared identifier is reported only once
|
||||
../nptl/sysdeps/unix/sysv/linux/lowlevellock.c:31: error: for each function it appears in.)
|
||||
../nptl/sysdeps/unix/sysv/linux/lowlevellock.c:31: error: 'header' undeclared (first use in this function)
|
||||
|
||||
---
|
||||
sysdeps/unix/sysv/linux/arm/nptl/lowlevellock.h | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
--- a/sysdeps/unix/sysv/linux/arm/nptl/lowlevellock.h
|
||||
+++ b/sysdeps/unix/sysv/linux/arm/nptl/lowlevellock.h
|
||||
@@ -24,6 +24,7 @@
|
||||
#include <atomic.h>
|
||||
#include <sysdep.h>
|
||||
#include <kernel-features.h>
|
||||
+#include <tls.h> /* Need THREAD_*, and header.*. */
|
||||
|
||||
#define FUTEX_WAIT 0
|
||||
#define FUTEX_WAKE 1
|
@ -1,17 +0,0 @@
|
||||
http://sourceware.org/ml/libc-alpha/2002-10/msg00392.html
|
||||
|
||||
---
|
||||
sysdeps/mips/fpu_control.h | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
--- a/sysdeps/mips/fpu_control.h
|
||||
+++ b/sysdeps/mips/fpu_control.h
|
||||
@@ -85,7 +85,7 @@
|
||||
#define _FPU_RC_UP 0x2
|
||||
#define _FPU_RC_DOWN 0x3
|
||||
|
||||
-#define _FPU_RESERVED 0xfe3c0000 /* Reserved bits in cw */
|
||||
+#define _FPU_RESERVED 0xfebc0000 /* Reserved bits in cw */
|
||||
|
||||
|
||||
/* The fdlibm code requires strict IEEE double precision arithmetic,
|
12
packages/glibc-ports/2.16.0/chksum
vendored
12
packages/glibc-ports/2.16.0/chksum
vendored
@ -1,12 +0,0 @@
|
||||
md5 glibc-ports-2.16.0.tar.xz 9a2439641be7ca8b01a3175324013031
|
||||
sha1 glibc-ports-2.16.0.tar.xz 429b979b697a97befb56cce49b96ee47d708f20a
|
||||
sha256 glibc-ports-2.16.0.tar.xz 93a10ac3b9ab70ccc59dfe50a4747d48a7e92f9481656f8a37558a2767ac02f3
|
||||
sha512 glibc-ports-2.16.0.tar.xz 8653ad9f5cf239a55eb2e236f9510ba227e910168efefd74df8e4951f2e1e4bca69598bc23daa6581e0ba94fe334ac625524fb22f0d38c2a07e373eda1db821b
|
||||
md5 glibc-ports-2.16.0.tar.bz2 668bcd584718ff0c6aa2f14b668595b6
|
||||
sha1 glibc-ports-2.16.0.tar.bz2 957631d4a8553942e9cf88065b21bcaa51b12a95
|
||||
sha256 glibc-ports-2.16.0.tar.bz2 d56578a3e1b6ace86db170709d0ee8da296403178901bcfc40747a9cc3b18463
|
||||
sha512 glibc-ports-2.16.0.tar.bz2 bf3da5acc0d15e0ab22faaaa36e4721e72b1e6bdc8e3ae1b115a2087938499f455e4c348216b29c537c58fd0af0327d5edf4ae8611755399d70eaefde4eb113c
|
||||
md5 glibc-ports-2.16.0.tar.gz 20c689888d89f9c11dd7f91b48ca4f69
|
||||
sha1 glibc-ports-2.16.0.tar.gz 6020c8eecb3a0a22c8669b91f09276fecfcad98f
|
||||
sha256 glibc-ports-2.16.0.tar.gz 1092e81d0c9c1bc29343004c1d01fb0d89eb49dd0fd5339b2f2e64a44b582d10
|
||||
sha512 glibc-ports-2.16.0.tar.gz 00ad51d3e3ab2acdcc4978cfbd5d5e3ca0c41d4c684e621201557e9d48583fc0e69827f03fe10aaa6eb1e58373ecfced909abfdb23f3ee1825d6b6b50d25b23c
|
Loading…
x
Reference in New Issue
Block a user