[prev in list] [next in list] [prev in thread] [next in thread] 

List:       linux-arm-kernel
Subject:    Re: TOOLCHAIN: 2.5.75 and .incbin
From:       Jeff Sutherland <jeffs () netwinder ! org>
Date:       2003-07-12 13:49:07
[Download RAW message or body]

On Saturday 12 July 2003 09:51 am, Holger Schurig wrote:
> > Just wondering, but the binutils I am using (2.11.2) doesnt support
> > .incbin and it has snuck into 2.5.75.
>
> I'm at 2.11.2 as well (I downloaded the gcc-2.95.3 gcc from
> arm.linux.org.uk)
>
> For some external reasons I'm stuck to Mdk82 (which has a glibc-2.2.4) and
> therefore have trouble self-compiling a gcc-3.3 compiler. If some
> precompiled gcc-3.3 would be available somewhere, I'd switch. I think this
> could be true for a bunch of other people. This would make the transition
> to a newer binutils possible.

Man, you guys sure are doing a lot of work killing yourselves just for 2.95.3.  
I've built binutils-2.13.2.1 (with a small patch), gcc-3.3, and glibc-2.3.2 
(again with a small patch) and the latest 2.5.70-rmk1-pxa1 compiles out of 
the box, no errors at all.  I think if you guys are going to be doing 
development with 2.5.x, maybe you should upgrade your tools as well.  These 
you can find on the net:
binutils-2.13.2.1
gcc-3.3
glibc-2.3.2-200304020432

As for a prebuilt toolchain, if I get enough requests from the list, I'll put 
one someplace, built for an i386-pc-linux-gnu host, if there's sufficient 
demand (I don't like to casually consume many megs of disk space)..

Here's a binutils patch and a glibc patch, then just follow the standard 
config and install process (yeah, you still need the -Dinhibit_libc hack to 
gcc for the first pass build).

-Jeff
-- 
Kodachrome: After nearly 70 years, there's still
            no better way to preserve an image.

["binutils.patch" (text/x-diff)]

diff -BburN binutils-2.13.2.1-orig/ld/emultempl/armelf.em binutils-2.13.2.1/ld/emultempl/armelf.em
--- binutils-2.13.2.1-orig/ld/emultempl/armelf.em	2003-07-12 09:25:43.000000000 -0400
+++ binutils-2.13.2.1/ld/emultempl/armelf.em	2003-07-11 22:05:03.000000000 -0400
@@ -108,10 +108,16 @@
 	tem->output_has_begun = false;
 
       lang_for_each_statement (arm_elf_set_bfd_for_interworking);
-      ASSERT (bfd_for_interwork != NULL); 
+/*      ASSERT (bfd_for_interwork != NULL); */
       for (tem = link_info.input_bfds; tem != NULL; tem = tem->link_next)
     tem->output_has_begun = false;
 
+    /* If bfd_for_interwork is NULL, then there are no loadable sections
+    with real contents to be linked, so we are not going to have to
+    create any interworking stubs, so it is OK not to call
+    bfd_elf32_arm_get_bfd_for_interworking. */
+    
+    if (bfd_for_interwork != NULL)
       bfd_elf32_arm_get_bfd_for_interworking (bfd_for_interwork, &link_info);
     }
   /* We should be able to set the size of the interworking stub section.  */

["ralphs.patch" (text/x-diff)]

--- linuxthreads/sysdeps/unix/sysv/linux/arm/sysdep-cancel.h.orig	2003-05-27 20:25:22.000000000 -0400
+++ linuxthreads/sysdeps/unix/sysv/linux/arm/sysdep-cancel.h	2003-05-27 20:07:12.000000000 -0400
@@ -26,12 +26,14 @@
 
 /* We push lr onto the stack, so we have to use ldmib instead of ldmia
    to find the saved arguments.  */
+#ifdef PIC
 #undef DOARGS_5
 #undef DOARGS_6
 #undef DOARGS_7
 #define DOARGS_5 str r4, [sp, $-4]!; ldr r4, [sp, $8];
 #define DOARGS_6 mov ip, sp; stmfd sp!, {r4, r5}; ldmib ip, {r4, r5};
 #define DOARGS_7 mov ip, sp; stmfd sp!, {r4, r5, r6}; ldmib ip, {r4, r5, r6};
+#endif /* PIC */
 
 # undef PSEUDO_RET
 # define PSEUDO_RET			

-------------------------------------------------------------------
Subscription options: http://lists.arm.linux.org.uk/mailman/listinfo/linux-arm-kernel
FAQ/Etiquette:       http://www.arm.linux.org.uk/armlinux/mailinglists.php


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic