separated patches per toolchain

This commit is contained in:
Dave Murphy
2005-07-26 22:50:09 +00:00
parent 134a40df20
commit aa4d5fa610
14 changed files with 9188 additions and 13736 deletions

View File

@@ -0,0 +1,16 @@
diff -Nbaur --exclude=*.info* binutils-2.16.1/bfd/doc/chew.c binutils-2.16.1-new/bfd/doc/chew.c
--- binutils-2.16.1/bfd/doc/chew.c Thu Mar 3 11:41:02 2005
+++ binutils-2.16.1-new/bfd/doc/chew.c Mon Jun 20 00:14:07 2005
@@ -91,6 +91,12 @@
#define DEF_SIZE 5000
#define STACK 50
+#ifdef __MINGW32__
+/* Prevent \r\n\ line endings */
+#include <fcntl.h>
+unsigned int _CRT_fmode = _O_BINARY;
+#endif
+
int internal_wanted;
int internal_mode;

View File

@@ -0,0 +1,64 @@
diff -Naurb gcc-4.0.1/gcc/c-incpath.c gcc-4.0.1-new/gcc/c-incpath.c
--- gcc-4.0.1/gcc/c-incpath.c Sun Jan 23 15:05:27 2005
+++ gcc-4.0.1-new/gcc/c-incpath.c Fri Jul 8 11:32:20 2005
@@ -331,13 +331,18 @@
cpp_dir *p;
#if defined (HAVE_DOS_BASED_FILE_SYSTEM)
- /* Convert all backslashes to slashes. The native CRT stat()
- function does not recognize a directory that ends in a backslash
- (unless it is a drive root dir, such "c:\"). Forward slashes,
- trailing or otherwise, cause no problems for stat(). */
- char* c;
- for (c = path; *c; c++)
- if (*c == '\\') *c = '/';
+ /* Remove unnecessary trailing slashes. On some versions of MS
+ Windows, trailing _forward_ slashes cause no problems for stat().
+ On newer versions, stat() does not recognise a directory that ends
+ in a '\\' or '/', unless it is a drive root dir, such as "c:/",
+ where it is obligatory. */
+ int pathlen = strlen (path);
+ char* end = path + pathlen - 1;
+ /* Preserve the lead '/' or lead "c:/". */
+ char* start = path + (pathlen > 2 && path[1] == ':' ? 3 : 1);
+
+ for (; end > start && IS_DIR_SEPARATOR (*end); end--)
+ *end = 0;
#endif
p = xmalloc (sizeof (cpp_dir));
diff -Naurb gcc-4.0.1/gcc/version.c gcc-4.0.1-arm/gcc/version.c
--- gcc-4.0.1/gcc/version.c Thu Jul 7 19:41:54 2005
+++ gcc-4.0.1-arm/gcc/version.c Tue Jul 26 22:31:02 2005
@@ -14,4 +14,4 @@
forward us bugs reported to you, if you determine that they are
not bugs in your modifications.) */
-const char bug_report_url[] = "<URL:http://gcc.gnu.org/bugs.html>";
+const char bug_report_url[] = "<URL:http://devkitpro.sourceforge.net/bugs.shtml>";
diff -Naurb gcc-4.0.1/gcc/config/arm/t-arm-elf gcc-4.0.1-new/gcc/config/arm/t-arm-elf
--- gcc-4.0.1/gcc/config/arm/t-arm-elf Wed Sep 1 12:14:21 2004
+++ gcc-4.0.1-new/gcc/config/arm/t-arm-elf Wed Jul 20 23:25:14 2005
@@ -23,8 +23,8 @@
# MULTILIB_DIRNAMES += fpu soft
# MULTILIB_EXCEPTIONS += *mthumb/*mhard-float*
#
-# MULTILIB_OPTIONS += mno-thumb-interwork/mthumb-interwork
-# MULTILIB_DIRNAMES += normal interwork
+MULTILIB_OPTIONS += mno-thumb-interwork/mthumb-interwork
+MULTILIB_DIRNAMES += normal interwork
#
# MULTILIB_OPTIONS += fno-leading-underscore/fleading-underscore
# MULTILIB_DIRNAMES += elf under
diff -Naurb gcc-4.0.1/gcc/hwint.h gcc-4.0.1-new/gcc/hwint.h
--- gcc-4.0.1/gcc/hwint.h Wed Nov 24 04:31:57 2004
+++ gcc-4.0.1-new/gcc/hwint.h Thu Jul 21 14:37:06 2005
@@ -80,7 +80,7 @@
# define HOST_WIDE_INT_PRINT_DOUBLE_HEX "0x%lx%08lx"
# endif
#else
-# define HOST_WIDE_INT_PRINT "ll"
+# define HOST_WIDE_INT_PRINT HOST_LONG_LONG_FORMAT
# define HOST_WIDE_INT_PRINT_C "LL"
/* We can assume that 'long long' is at least 64 bits. */
# define HOST_WIDE_INT_PRINT_DOUBLE_HEX \

View File

@@ -0,0 +1,64 @@
diff -NBaur newlib-1.13.0/newlib/libc/sys/arm/Makefile.in newlib-1.13.0-new/newlib/libc/sys/arm/Makefile.in
--- newlib-1.13.0/newlib/libc/sys/arm/Makefile.in Wed Jun 9 20:05:09 2004
+++ newlib-1.13.0-new/newlib/libc/sys/arm/Makefile.in Wed Jul 6 09:09:25 2005
@@ -88,7 +88,7 @@
INCLUDES = $(NEWLIB_CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS)
noinst_LIBRARIES = lib.a
-@MAY_SUPPLY_SYSCALLS_TRUE@extra_objs = syscalls.o
+@MAY_SUPPLY_SYSCALLS_TRUE@extra_objs = syscalls.o malloc_vars.o
@MAY_SUPPLY_SYSCALLS_FALSE@extra_objs =
lib_a_SOURCES = libcfunc.c trap.S
diff -NBaur newlib-1.13.0/newlib/libc/sys/arm/malloc_vars.c newlib-1.13.0-new/newlib/libc/sys/arm/malloc_vars.c
--- newlib-1.13.0/newlib/libc/sys/arm/malloc_vars.c Thu Jan 1 00:00:00 1970
+++ newlib-1.13.0-new/newlib/libc/sys/arm/malloc_vars.c Wed Jul 6 09:09:25 2005
@@ -0,0 +1,2 @@
+char *fake_heap_end = (char*)0;
+char *fake_heap_start = (char*)0;
diff -NBaur newlib-1.13.0/newlib/libc/sys/arm/syscalls.c newlib-1.13.0-new/newlib/libc/sys/arm/syscalls.c
--- newlib-1.13.0/newlib/libc/sys/arm/syscalls.c Tue Jan 6 19:27:21 2004
+++ newlib-1.13.0-new/newlib/libc/sys/arm/syscalls.c Wed Jul 6 09:09:25 2005
@@ -474,19 +474,41 @@
n = n;
}
+extern char *fake_heap_end;
+extern char *fake_heap_start;
+
caddr_t
_sbrk (int incr)
{
extern char end asm ("end"); /* Defined by the linker. */
static char * heap_end;
char * prev_heap_end;
+ char * our_heap_end;
if (heap_end == NULL)
+ {
+ if (fake_heap_start == NULL)
+ {
heap_end = & end;
+ }
+ else
+ {
+ heap_end = fake_heap_start;
+ }
+ }
prev_heap_end = heap_end;
- if (heap_end + incr > stack_ptr)
+ if (fake_heap_end == NULL)
+ {
+ our_heap_end = stack_ptr;
+ }
+ else
+ {
+ our_heap_end = fake_heap_end;
+ }
+
+ if (heap_end + incr > our_heap_end)
{
/* Some of the libstdc++-v3 tests rely upon detecting
out of memory errors, so do not abort here. */