This is the mail archive of the crossgcc@sources.redhat.com mailing list for the crossgcc project.

See the CrossGCC FAQ for lots more information.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

gcc-3.4.0 is coming soon! Here's a crosstool patch to support it


gcc-3.4.0 just had its first release candidate.  Here's
a patch to crosstool-0.28-rc4 that lets you build it.
Enjoy...

diff -Naur crosstool-0.28-rc4/ChangeLog crosstool-0.28-rc4h/ChangeLog
--- crosstool-0.28-rc4/ChangeLog	Mon Apr  5 19:00:49 2004
+++ crosstool-0.28-rc4h/ChangeLog	Fri Apr  9 05:56:41 2004
@@ -2,6 +2,13 @@
 *inside* the patch file at the top, so read the patch file
 for more info.

+     getandpatch.sh:
+     * added support for downloading gcc-3.4.0-20040406
+
+     glibc-2.3.2:
+     * added patches/glibc-2.3.2/fixup.patch to support gcc-3.4.0-20040406
+
+
 0.28-rc4:
      * common/bin/install-distccd.sh tested on Red Hat Linux, seems to work
        Not yet tested on cygwin or Mac
diff -Naur crosstool-0.28-rc4/demo-i686.sh crosstool-0.28-rc4h/demo-i686.sh
--- crosstool-0.28-rc4/demo-i686.sh	Sun Mar 14 09:51:57 2004
+++ crosstool-0.28-rc4h/demo-i686.sh	Wed Apr  7 22:26:09 2004
@@ -20,6 +20,7 @@
 #eval `cat i686.dat gcc-3.3-20040105-glibc-2.3.2.dat` sh all.sh --notest
 #eval `cat i686.dat gcc-3.3-20040112-glibc-2.3.2.dat` sh all.sh --notest
 #eval `cat i686.dat gcc-3.3-20040126-glibc-2.3.2.dat` sh all.sh --notest
- eval `cat i686.dat gcc-3.3.3-glibc-2.3.2.dat`  sh all.sh --notest
+#eval `cat i686.dat gcc-3.3.3-glibc-2.3.2.dat`  sh all.sh --notest
+ eval `cat i686.dat gcc-3.4.0-20040406-glibc-2.3.2.dat` sh all.sh --notest

 echo Done.
diff -Naur crosstool-0.28-rc4/gcc-3.4.0-20040406-glibc-2.3.2.dat crosstool-0.28-rc4h/gcc-3.4.0-20040406-glibc-2.3.2.dat
--- crosstool-0.28-rc4/gcc-3.4.0-20040406-glibc-2.3.2.dat	Wed Dec 31 16:00:00 1969
+++ crosstool-0.28-rc4h/gcc-3.4.0-20040406-glibc-2.3.2.dat	Wed Apr  7 22:25:53 2004
@@ -0,0 +1,6 @@
+BINUTILS_DIR=binutils-2.14.90.0.5
+BINUTILS_URL=http://www.kernel.org/pub/linux/devel/binutils
+GCC_DIR=gcc-3.4.0-20040406
+GLIBC_DIR=glibc-2.3.2
+LINUX_DIR=linux-2.4.21
+GLIBCTHREADS_FILENAME=glibc-linuxthreads-2.3.2
diff -Naur crosstool-0.28-rc4/getandpatch.sh crosstool-0.28-rc4h/getandpatch.sh
--- crosstool-0.28-rc4/getandpatch.sh	Fri Apr  9 06:01:47 2004
+++ crosstool-0.28-rc4h/getandpatch.sh	Wed Apr  7 22:26:02 2004
@@ -143,9 +143,9 @@

 getUnpackAndPatch $BINUTILS_URL/$BINUTILS_DIR.tar.bz2 $BINUTILS_URL/$BINUTILS_DIR.tar.gz
 case $GCC_DIR in
-   gcc-3.3.3|gcc-3.4.?)
+   gcc-3.3.3)
       getUnpackAndPatch ftp://ftp.gnu.org/pub/gnu/gcc/releases/$GCC_DIR/$GCC_DIR.tar.bz2 ;;
-   gcc-3.3.3-2004*)
+   gcc-3.4.0-20040406)
       dir=`echo $GCC_DIR | sed s/gcc-/prerelease-/`
       getUnpackAndPatch ftp://gcc.gnu.org/pub/gcc/$dir/$GCC_DIR.tar.gz ;;
    gcc-3.3-200*|gcc-3.4-200*)
diff -Naur crosstool-0.28-rc4/patches/glibc-2.3.2/fixup.patch crosstool-0.28-rc4h/patches/glibc-2.3.2/fixup.patch
--- crosstool-0.28-rc4/patches/glibc-2.3.2/fixup.patch	Wed Dec 31 16:00:00 1969
+++ crosstool-0.28-rc4h/patches/glibc-2.3.2/fixup.patch	Fri Apr  9 05:58:34 2004
@@ -0,0 +1,74 @@
+Fixes
+dl-runtime.c:56: error: conflicting types for 'fixup'
+../sysdeps/i386/dl-machine.h:158: error: previous declaration of 'fixup' was here
+when building with gcc-3.4.0
+
+First hunk:
+Define ARCH_FIXUP_ATTRIBUTE and use it in the fixup function declarations.
+http://sources.redhat.com/cgi-bin/cvsweb.cgi/libc/sysdeps/i386/dl-machine.h.diff?r1=1.124&r2=1.125&cvsroot=glibc
+
+Second hunk:
+If ARCH_FIXUP_ATTRIBUTE is not defined, provide dummy definition.
+Use macro in fixup function definitions.
+http://sources.redhat.com/cgi-bin/cvsweb.cgi/libc/elf/dl-runtime.c.diff?r1=1.64&r2=1.65&cvsroot=glibc
+[rediffed against glibc-2.3.2]
+
+===================================================================
+RCS file: /cvs/glibc/libc/sysdeps/i386/dl-machine.h,v
+retrieving revision 1.124
+retrieving revision 1.125
+diff -u -r1.124 -r1.125
+--- libc/sysdeps/i386/dl-machine.h	2004/03/05 10:14:49	1.124
++++ libc/sysdeps/i386/dl-machine.h	2004/03/09 07:42:29	1.125
+@@ -154,11 +154,14 @@
+    destroys the passed register information.  */
+ /* GKM FIXME: Fix trampoline to pass bounds so we can do
+    without the `__unbounded' qualifier.  */
+-static ElfW(Addr) fixup (struct link_map *__unbounded l, ElfW(Word) reloc_offset)
+-     __attribute__ ((regparm (2), unused));
++#define ARCH_FIXUP_ATTRIBUTE __attribute__ ((regparm (3), unused))
++
++static ElfW(Addr) fixup (struct link_map *__unbounded l,
++			 ElfW(Word) reloc_offset)
++     ARCH_FIXUP_ATTRIBUTE;
+ static ElfW(Addr) profile_fixup (struct link_map *l, ElfW(Word) reloc_offset,
+ 				 ElfW(Addr) retaddr)
+-     __attribute__ ((regparm (3), unused));
++     ARCH_FIXUP_ATTRIBUTE;
+ # endif
+
+ /* This code is used in dl-runtime.c to call the `fixup' function
+===================================================================
+--- /home/dank/downloads/glibc-2.3.2/elf/dl-runtime.c	Fri Feb  7 11:41:12 2003
++++ glibc-2.3.2/elf/dl-runtime.c	Thu Apr  8 22:24:26 2004
+@@ -36,6 +36,12 @@
+ # define VERSYMIDX(sym)	(DT_NUM + DT_THISPROCNUM + DT_VERSIONTAGIDX (sym))
+ #endif
+
++/* The fixup functions might have need special attributes.  If none
++   are provided define the macro as empty.  */
++#ifndef ARCH_FIXUP_ATTRIBUTE
++# define ARCH_FIXUP_ATTRIBUTE
++#endif
++
+
+ /* This function is called through a special trampoline from the PLT the
+    first time each PLT entry is called.  We must perform the relocation
+@@ -45,7 +51,7 @@
+    function.  */
+
+ #ifndef ELF_MACHINE_NO_PLT
+-static ElfW(Addr) __attribute_used__
++static ElfW(Addr) __attribute_used__ ARCH_FIXUP_ATTRIBUTE
+ fixup (
+ # ifdef ELF_MACHINE_RUNTIME_FIXUP_ARGS
+         ELF_MACHINE_RUNTIME_FIXUP_ARGS,
+@@ -132,7 +138,7 @@
+
+ #if !defined PROF && !defined ELF_MACHINE_NO_PLT && !__BOUNDED_POINTERS__
+
+-static ElfW(Addr) __attribute_used__
++static ElfW(Addr) __attribute_used__ ARCH_FIXUP_ATTRIBUTE
+ profile_fixup (
+ #ifdef ELF_MACHINE_RUNTIME_FIXUP_ARGS
+        ELF_MACHINE_RUNTIME_FIXUP_ARGS,
diff -Naur crosstool-0.28-rc4/patches/glibc-2.3.2/foo crosstool-0.28-rc4h/patches/glibc-2.3.2/foo
--- crosstool-0.28-rc4/patches/glibc-2.3.2/foo	Wed Dec 31 16:00:00 1969
+++ crosstool-0.28-rc4h/patches/glibc-2.3.2/foo	Thu Apr  8 22:19:45 2004
@@ -0,0 +1,38 @@
+===================================================================
+RCS file: /cvs/glibc/libc/elf/dl-runtime.c,v
+retrieving revision 1.64
+retrieving revision 1.65
+diff -u -r1.64 -r1.65
+--- libc/elf/dl-runtime.c	2004/03/07 05:21:01	1.64
++++ libc/elf/dl-runtime.c	2004/03/09 07:42:59	1.65
+@@ -36,6 +36,12 @@
+ # define VERSYMIDX(sym)	(DT_NUM + DT_THISPROCNUM + DT_VERSIONTAGIDX (sym))
+ #endif
+
++/* The fixup functions might have need special attributes.  If none
++   are provided define the macro as empty.  */
++#ifndef ARCH_FIXUP_ATTRIBUTE
++# define ARCH_FIXUP_ATTRIBUTE
++#endif
++
+
+ /* This function is called through a special trampoline from the PLT the
+    first time each PLT entry is called.  We must perform the relocation
+@@ -46,7 +52,7 @@
+
+ #ifndef ELF_MACHINE_NO_PLT
+ static ElfW(Addr)
+-__attribute ((used, noinline))
++__attribute ((used, noinline)) ARCH_FIXUP_ATTRIBUTE
+ fixup (
+ # ifdef ELF_MACHINE_RUNTIME_FIXUP_ARGS
+         ELF_MACHINE_RUNTIME_FIXUP_ARGS,
+@@ -122,7 +128,7 @@
+ #if !defined PROF && !defined ELF_MACHINE_NO_PLT && !__BOUNDED_POINTERS__
+
+ static ElfW(Addr)
+-__attribute ((used, noinline))
++__attribute ((used, noinline)) ARCH_FIXUP_ATTRIBUTE
+ profile_fixup (
+ #ifdef ELF_MACHINE_RUNTIME_FIXUP_ARGS
+        ELF_MACHINE_RUNTIME_FIXUP_ARGS,

--
My technical stuff: http://kegel.com
My politics: see http://www.misleader.org for examples of why I'm for regime change

------
Want more information?  See the CrossGCC FAQ, http://www.objsw.com/CrossGCC/
Want to unsubscribe? Send a note to crossgcc-unsubscribe@sources.redhat.com


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]