diff options
author | Ralf Corsepius <ralf.corsepius@rtems.org> | 2006-07-05 14:22:52 +0000 |
---|---|---|
committer | Ralf Corsepius <ralf.corsepius@rtems.org> | 2006-07-05 14:22:52 +0000 |
commit | 72f8c0c609b0b1ce3c7bbe425eb593183ef9073e (patch) | |
tree | 6c0a3bf0f4292993a2e1353e3ba7bae43d666537 /contrib | |
parent | Sync with other rtems4.7 targets. (diff) | |
download | rtems-72f8c0c609b0b1ce3c7bbe425eb593183ef9073e.tar.bz2 |
New.
Diffstat (limited to 'contrib')
-rw-r--r-- | contrib/crossrpms/patches/binutils-2.16.1-rtems-20050708.diff | 97 | ||||
-rw-r--r-- | contrib/crossrpms/patches/gcc-core-4.1.1-rtems-20060626.diff | 50 |
2 files changed, 147 insertions, 0 deletions
diff --git a/contrib/crossrpms/patches/binutils-2.16.1-rtems-20050708.diff b/contrib/crossrpms/patches/binutils-2.16.1-rtems-20050708.diff new file mode 100644 index 0000000000..37d102c8b9 --- /dev/null +++ b/contrib/crossrpms/patches/binutils-2.16.1-rtems-20050708.diff @@ -0,0 +1,97 @@ +--- binutils-2.16.1/bfd/config.bfd 31 Jan 2005 17:18:47 -0000 1.181 ++++ binutils-2.16.1/bfd/config.bfd 5 Jul 2005 15:32:00 -0000 +@@ -369,7 +369,12 @@ + targ_selvecs=bfd_elf32_frv_vec + ;; + +- h8300*-*-elf) ++ h8300*-*-rtemscoff*) ++ targ_defvec=h8300coff_vec ++ targ_underscore=yes ++ ;; ++ ++ h8300*-*-elf | h8300*-*-rtems*) + targ_defvec=bfd_elf32_h8300_vec + targ_underscore=yes + ;; +--- binutils-2.16.1/gas/configure.tgt 31 Jan 2005 17:18:51 -0000 1.3 ++++ binutils-2.16.1/gas/configure.tgt 5 Jul 2005 15:32:03 -0000 +@@ -163,9 +163,9 @@ + hppa-*-bsd*) fmt=som em=hppa ;; + hppa-*-hiux*) fmt=som em=hppa ;; + +- h8300-*-rtems*) fmt=coff ;; ++ h8300-*-rtemscoff*) fmt=coff ;; + h8300-*-coff) fmt=coff ;; +- h8300-*-elf) fmt=elf ;; ++ h8300-*-elf | h8300-*-rtems*) fmt=elf ;; + h8500-*-rtems*) fmt=coff ;; + h8500-*-coff) fmt=coff ;; + +--- binutils-2.16.1/ld/configure.tgt 8 Feb 2005 19:54:27 -0000 1.165 ++++ binutils-2.16.1/ld/configure.tgt 5 Jul 2005 15:32:18 -0000 +@@ -280,10 +280,10 @@ + targ_extra_ofiles="deffilep.o pe-dll.o" ;; + xscale-*-coff) targ_emul=armcoff ;; + xscale-*-elf) targ_emul=armelf ;; +-h8300-*-hms* | h8300-*-coff* | h8300-*-rtems*) ++h8300-*-hms* | h8300-*-coff* | h8300-*-rtemscoff*) + targ_emul=h8300; targ_extra_emuls="h8300h h8300s h8300hn h8300sn h8300sx h8300sxn" + ;; +-h8300-*-elf*) ++h8300-*-elf* | h8300-*-rtems*) + targ_emul=h8300elf; + targ_extra_emuls="h8300helf h8300self h8300hnelf h8300snelf h8300sxelf h8300sxnelf" + ;; +--- binutils-2.16.1/bfd/archive.c 3 Mar 2005 11:40:56 -0000 1.34 ++++ binutils-2.16.1/bfd/archive.c 8 Jul 2005 06:28:30 -0000 +@@ -1308,6 +1308,13 @@ + #define getgid() 0 + #endif + ++static void print_ar_size( struct ar_hdr* hdr, int val ) ++{ ++ char buffer[sizeof(hdr->ar_size)+1]; ++ sprintf(buffer,"%-10d", val); ++ memcpy(hdr->ar_size,buffer,sizeof(hdr->ar_size)); ++} ++ + /* Takes a filename, returns an arelt_data for it, or NULL if it can't + make one. The filename must refer to a filename in the filesystem. + The filename field of the ar_hdr will NOT be initialized. If member +@@ -1368,7 +1375,7 @@ + #endif + sprintf ((hdr->ar_gid), "%ld", (long) status.st_gid); + sprintf ((hdr->ar_mode), "%-8o", (unsigned int) status.st_mode); +- sprintf ((hdr->ar_size), "%-10ld", (long) status.st_size); ++ print_ar_size(hdr, (long) status.st_size); + /* Correct for a lossage in sprintf whereby it null-terminates. I cannot + understand how these C losers could design such a ramshackle bunch of + IO operations. */ +@@ -1660,7 +1667,7 @@ + memset (&hdr, 0, sizeof (struct ar_hdr)); + strcpy (hdr.ar_name, ename); + /* Round size up to even number in archive header. */ +- sprintf (&(hdr.ar_size[0]), "%-10d", ++ print_ar_size(&hdr, + (int) ((elength + 1) & ~(bfd_size_type) 1)); + strncpy (hdr.ar_fmag, ARFMAG, 2); + for (i = 0; i < sizeof (struct ar_hdr); i++) +@@ -1913,7 +1920,7 @@ + sprintf (hdr.ar_date, "%ld", bfd_ardata (arch)->armap_timestamp); + sprintf (hdr.ar_uid, "%ld", (long) getuid ()); + sprintf (hdr.ar_gid, "%ld", (long) getgid ()); +- sprintf (hdr.ar_size, "%-10d", (int) mapsize); ++ print_ar_size(&hdr, (int) mapsize); + strncpy (hdr.ar_fmag, ARFMAG, 2); + for (i = 0; i < sizeof (struct ar_hdr); i++) + if (((char *) (&hdr))[i] == '\0') +@@ -2068,7 +2075,7 @@ + + memset (&hdr, 0, sizeof (struct ar_hdr)); + hdr.ar_name[0] = '/'; +- sprintf (hdr.ar_size, "%-10d", (int) mapsize); ++ print_ar_size (&hdr, (int) mapsize); + sprintf (hdr.ar_date, "%ld", (long) time (NULL)); + /* This, at least, is what Intel coff sets the values to. */ + sprintf ((hdr.ar_uid), "%d", 0); diff --git a/contrib/crossrpms/patches/gcc-core-4.1.1-rtems-20060626.diff b/contrib/crossrpms/patches/gcc-core-4.1.1-rtems-20060626.diff new file mode 100644 index 0000000000..b9ba776edb --- /dev/null +++ b/contrib/crossrpms/patches/gcc-core-4.1.1-rtems-20060626.diff @@ -0,0 +1,50 @@ +--- gcc-4.1.1.orig/gcc/config.gcc (revision 114982) ++++ gcc-4.1.1/gcc/config.gcc (working copy) +@@ -1560,7 +1560,7 @@ + tm_defines="MIPS_ISA_DEFAULT=3 MIPS_ABI_DEFAULT=ABI_O64" + use_fixproto=yes + ;; +-mips*-*-rtems*) ++mips-*-rtems*) + tm_file="elfos.h ${tm_file} mips/elf.h mips/rtems.h rtems.h" + tmake_file="mips/t-elf t-rtems mips/t-rtems" + ;; +--- gcc-4.1.1.orig/gcc/config/c4x/rtems.h (revision 114982) ++++ gcc-4.1.1/gcc/config/c4x/rtems.h (working copy) +@@ -24,6 +24,5 @@ + #define TARGET_OS_CPP_BUILTINS() \ + do { \ + builtin_define ("__rtems__"); \ +- builtin_define ("__USE_INIT_FINI__"); \ + builtin_assert ("system=rtems"); \ + } while (0) +--- gcc-4.1.1.orig/gcc/config/mips/elf.h (revision 114982) ++++ gcc-4.1.1/gcc/config/mips/elf.h (working copy) +@@ -48,5 +48,3 @@ + + #undef ENDFILE_SPEC + #define ENDFILE_SPEC "crtend%O%s crtn%O%s" +- +-#define NO_IMPLICIT_EXTERN_C 1 +--- gcc-4.1.1.orig/gcc/config/mips/t-rtems (revision 114982) ++++ gcc-4.1.1/gcc/config/mips/t-rtems (working copy) +@@ -1,5 +1,16 @@ + # Custom multilibs for RTEMS + +-MULTILIB_OPTIONS = mips1/mips3/mips32 msoft-float/msingle-float +-MULTILIB_DIRNAMES = mips1 mips3 mips32 soft-float single +-MULTILIB_MATCHES = msingle-float=m4650 ++# default is mips1 EB hard-float ++MULTILIB_OPTIONS = mips1/mips3/mips32 EB/EL msoft-float ++MULTILIB_DIRNAMES = mips1 mips3 mips32 eb el soft-float ++MULTILIB_MATCHES = EL=mel EB=meb ++ ++MULTILIB_EXCEPTIONS = ++ ++# Big endian only ++MULTILIB_EXCEPTIONS += EL* ++MULTILIB_EXCEPTIONS += mips32/EL* ++ ++# Little endian only ++MULTILIB_EXCEPTIONS += mips3 ++MULTILIB_EXCEPTIONS += mips3/msoft-float |