forked from Imagelibrary/rtems
New.
This commit is contained in:
@@ -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);
|
||||
50
contrib/crossrpms/patches/gcc-core-4.1.1-rtems-20060626.diff
Normal file
50
contrib/crossrpms/patches/gcc-core-4.1.1-rtems-20060626.diff
Normal file
@@ -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
|
||||
Reference in New Issue
Block a user