buildroot+mips under cygwin
1.download buildroot,gcc,bintuils.uclibc linux-header2.upack buildroot3.mkdir /buildroot/dl4.put uclibc ,gcc,bintuils tarball in dl5.cd buildroot make menuconfigfailedfixed as follow---
1.download buildroot,gcc,bintuils.uclibc linux-header
2.upack buildroot
3.mkdir /buildroot/dl
4.put uclibc ,gcc,bintuils tarball in dl
5.cd buildroot make menuconfig
failed
fixed as follow
--- buildroot/package/config/Makefile 2007-08-04 15:15:44.000000000 +0800
+++ buildroot-old/package/config/Makefile 2007-09-09 15:58:06.728702400 +0800
@@ -20,7 +20,7 @@
$(HOSTCC) $(HOST_EXTRACFLAGS) $(HOSTCFLAGS) $(HOSTCFLAGS_$@) $(HOST_LOADLIBES) $< -o $@
$(host-cmulti): %: $(host-cobjs) $(host-cshlib)
- $(HOSTCC) $(HOST_EXTRACFLAGS) $(HOSTCFLAGS) $(HOSTCFLAGS_$@) $(HOST_LOADLIBES) $($@-objs) -o $@
+ $(HOSTCC) $(HOST_EXTRACFLAGS) $(HOSTCFLAGS) $(HOSTCFLAGS_$@) $(HOST_LOADLIBES) $($@-objs) -lintl -lncurses -o $@
$(host-cobjs): %.o: %.c
$(HOSTCC) $(HOST_EXTRACFLAGS) $(HOSTCFLAGS) $(HOSTCFLAGS_$@) -c $< -o $@
--- buildroot/toolchain/uClibc/uclibc.mk 2007-08-04 15:15:02.000000000 +0800
+++ buildroot-new/toolchain/uClibc/uclibc.mk 2007-10-22 09:49:39.721336200 +0800
@@ -347,14 +347,9 @@
fi; /
fi;
endif
- # Build the host utils. Need to add an install target...
- $(MAKE1) -C $(UCLIBC_DIR)/utils /
- PREFIX=$(STAGING_DIR) /
- HOSTCC="$(HOSTCC)" /
- hostutils
- install -c $(UCLIBC_DIR)/utils/ldd.host $(STAGING_DIR)/usr/bin/ldd
+# install -c $(UCLIBC_DIR)/utils/ldd.host $(STAGING_DIR)/usr/bin/ldd
ln -sf ldd $(STAGING_DIR)/usr/bin/$(REAL_GNU_TARGET_NAME)-ldd
- install -c $(UCLIBC_DIR)/utils/ldconfig.host $(STAGING_DIR)/usr/bin/ldconfig
+# install -c $(UCLIBC_DIR)/utils/ldconfig.host $(STAGING_DIR)/usr/bin/ldconfig
ln -sf ldconfig $(STAGING_DIR)/usr/bin/$(REAL_GNU_TARGET_NAME)-ldconfig
ln -sf ldconfig $(STAGING_DIR)/usr/bin/$(GNU_TARGET_NAME)-ldconfig
touch -c $@
6. buildroot
make menuconfig
note: not select locale,wchar support
7. make
8. failed at binutils-2.15
patched
--- binutils-2.15/ld/ldmain.c 2008-04-02 16:26:19.893733000 +0800
+++ binutils-2.15-patch/ld/ldmain.c 2007-10-11 16:47:59.282360000 +0800
@@ -398,13 +398,14 @@
lex_string = NULL;
}
/* NG horrible hack, but it works and I haven't the time to do this properly */
+/*
#ifdef bfd_set_link_info
bfd_set_link_info(&link_info);
#endif
#ifdef bfd_set_force_make_executable
bfd_set_force_make_executable(force_make_executable);
#endif
-
+*/
if (trace_file_tries)
{
8. continue make
failed at gcc
add patch
304-index_macro.patch
302-c99-snprintf.patch
9.make,failed at uClibc
10.collect some patch total as follow
diff -Nru uClibc-0.9.29/extra/config/Makefile uClibc-0.9.29-patch/extra/config/Makefile
--- uClibc-0.9.29/extra/config/Makefile 2007-09-07 14:44:50.000000000 +0800
+++ uClibc-0.9.29-patch/extra/config/Makefile 2007-09-11 10:26:41.000000000 +0800
@@ -21,7 +21,7 @@
$(HOSTCC) $(HOST_EXTRACFLAGS) $(HOSTCFLAGS) $(HOSTCFLAGS_$@) $(HOST_LOADLIBES) $< -o $@
$(host-cmulti): %: $(host-cobjs) $(host-cshlib)
- $(HOSTCC) $(HOST_EXTRACFLAGS) $(HOSTCFLAGS) $(HOSTCFLAGS_$@) $(HOST_LOADLIBES) $($@-objs) -lintl -o $@
+ $(HOSTCC) $(HOST_EXTRACFLAGS) $(HOSTCFLAGS) $(HOSTCFLAGS_$@) $(HOST_LOADLIBES) $($@-objs) -lintl -lncurses -o $@
$(host-cobjs): %.o: %.c
$(HOSTCC) $(HOST_EXTRACFLAGS) $(HOSTCFLAGS) $(HOSTCFLAGS_$@) -c $< -o $@
diff -Nru uClibc-0.9.29/libc/string/mips/memcpy.S uClibc-0.9.29-patch/libc/string/mips/memcpy.S
--- uClibc-0.9.29/libc/string/mips/memcpy.S 2006-11-05 03:48:12.000000000 +0800
+++ uClibc-0.9.29-patch/libc/string/mips/memcpy.S 2007-09-10 13:25:29.000000000 +0800
@@ -140,17 +140,17 @@
END (memcpy)
#else /* !__mips64 */
-
+#include <sys/asm.h>
#if __BYTE_ORDER == __BIG_ENDIAN
-# define LWHI lwl /* high part is left in big-endian */
-# define SWHI swl /* high part is left in big-endian */
-# define LWLO lwr /* low part is right in big-endian */
-# define SWLO swr /* low part is right in big-endian */
+#define LWHI lwl /* high part is left in big-endian */
+#define SWHI swl /* high part is left in big-endian */
+#define LWLO lwr /* low part is right in big-endian */
+#define SWLO swr /* low part is right in big-endian */
#else
-# define LWHI lwr /* high part is right in little-endian */
-# define SWHI swr /* high part is right in little-endian */
-# define LWLO lwl /* low part is left in little-endian */
-# define SWLO swl /* low part is left in little-endian */
+#define LWHI lwr /* high part is right in little-endian */
+#define SWHI swr /* high part is right in little-endian */
+#define LWLO lwl /* low part is left in little-endian */
+#define SWLO swl /* low part is left in little-endian */
#endif
ENTRY (memcpy)
diff -Nru uClibc-0.9.29/libc/string/mips/sysdep.h uClibc-0.9.29-patch/libc/string/mips/sysdep.h
--- uClibc-0.9.29/libc/string/mips/sysdep.h 2006-01-14 08:58:03.000000000 +0800
+++ uClibc-0.9.29-patch/libc/string/mips/sysdep.h 2007-09-10 13:46:19.000000000 +0800
@@ -29,7 +29,7 @@
.globl name; /
.align 2; /
.ent name,0; /
- name##:
+ name:
#undef END
#define END(function) /
diff -Nru uClibc-0.9.29/libc/sysdeps/linux/common/mmap64.c uClibc-0.9.29-patch/libc/sysdeps/linux/common/mmap64.c
--- uClibc-0.9.29/libc/sysdeps/linux/common/mmap64.c 2008-03-26 09:49:49.218842800 +0800
+++ uClibc-0.9.29-patch/libc/sysdeps/linux/common/mmap64.c 2007-09-10 12:02:02.000000000 +0800
@@ -63,7 +63,7 @@
fd,((__u_quad_t)offset >> MMAP2_PAGE_SHIFT));
#else
return __syscall_mmap2(addr, len, prot, flags,
- fd,((__ulong_t)offset >> MMAP2_PAGE_SHIFT));
+ fd,((unsigned long)offset >> MMAP2_PAGE_SHIFT));
#endif
}
diff -Nru uClibc-0.9.29/libc/sysdeps/linux/mips/crti.S uClibc-0.9.29-patch/libc/sysdeps/linux/mips/crti.S
--- uClibc-0.9.29/libc/sysdeps/linux/mips/crti.S 2006-11-05 03:53:15.000000000 +0800
+++ uClibc-0.9.29-patch/libc/sysdeps/linux/mips/crti.S 2007-09-10 13:56:50.000000000 +0800
@@ -4,10 +4,8 @@
.section .mdebug.abi32
.previous
.abicalls
-#APP
.section .init
-#NO_APP
.align 2
.globl _init
.ent _init
@@ -23,13 +21,11 @@
.cprestore 16
sw $31,28($sp)
sw $28,24($sp)
-#APP
.align 2
.end _init
.section .fini
-#NO_APP
.align 2
.globl _fini
.ent _fini
@@ -45,7 +41,6 @@
.cprestore 16
sw $31,28($sp)
sw $28,24($sp)
-#APP
.align 2
.end _fini
@@ -55,10 +50,8 @@
.section .mdebug.abiN32
.previous
.abicalls
-#APP
.section .init
-#NO_APP
.align 2
.align 3
.globl _init
@@ -74,13 +67,11 @@
addu $28,$28,$25
addiu $28,$28,%lo(%neg(%gp_rel(_init)))
sd $31,8($sp)
-#APP
.align 3
.end _init
.section .fini
-#NO_APP
.align 2
.align 3
.globl _fini
@@ -96,7 +87,6 @@
addu $28,$28,$25
addiu $28,$28,%lo(%neg(%gp_rel(_fini)))
sd $31,8($sp)
-#APP
.align 3
.end _fini
@@ -106,11 +96,9 @@
.section .mdebug.abi64
.previous
.abicalls
-#APP
.section .init
-#NO_APP
.align 2
.globl _init
.ent _init
@@ -127,13 +115,11 @@
addiu $1,$1,%lo(%neg(%gp_rel(_init)))
daddu $gp,$1,$25
.set at
-#APP
.align 2
.end _init
.section .fini
-#NO_APP
.align 2
.globl _fini
.ent _fini
@@ -150,7 +136,6 @@
addiu $1,$1,%lo(%neg(%gp_rel(_fini)))
daddu $gp,$1,$25
.set at
-#APP
.align 2
.end _fini
diff -Nru uClibc-0.9.29/libc/sysdeps/linux/mips/crtn.S uClibc-0.9.29-patch/libc/sysdeps/linux/mips/crtn.S
--- uClibc-0.9.29/libc/sysdeps/linux/mips/crtn.S 2006-11-05 03:53:15.000000000 +0800
+++ uClibc-0.9.29-patch/libc/sysdeps/linux/mips/crtn.S 2007-09-10 14:04:02.000000000 +0800
@@ -4,17 +4,14 @@
.section .mdebug.abi32
.previous
.abicalls
-#APP
.section .init
-#NO_APP
.align 2
.globl _init
.ent _init
.type _init, @function
-#NO_APP
lw $31,28($sp)
- #nop
+
.set noreorder
.set nomacro
j $31
@@ -23,17 +20,14 @@
.set reorder
.end _init
-#APP
.section .fini
-#NO_APP
.align 2
.globl _fini
.ent _fini
.type _fini, @function
-#NO_APP
lw $31,28($sp)
- #nop
+
.set noreorder
.set nomacro
j $31
@@ -42,7 +36,6 @@
.set reorder
.end _fini
-#APP
.ident "GCC: (GNU) 3.3.2"
#elif _MIPS_SIM == _MIPS_SIM_NABI32
@@ -50,16 +43,13 @@
.section .mdebug.abiN32
.previous
.abicalls
-#APP
.section .init
-#NO_APP
.align 2
.align 3
.globl _init
.ent _init
.type _init, @function
-#NO_APP
ld $31,8($sp)
ld $28,0($sp)
.set noreorder
@@ -70,16 +60,13 @@
.set reorder
.end _init
-#APP
.section .fini
-#NO_APP
.align 2
.align 3
.globl _fini
.ent _fini
.type _fini, @function
-#NO_APP
ld $31,8($sp)
ld $28,0($sp)
.set noreorder
@@ -90,7 +77,6 @@
.set reorder
.end _fini
-#APP
.ident "GCC: (GNU) 3.4.3"
#else /* N64 */
@@ -98,19 +84,16 @@
.section .mdebug.abi64
.previous
.abicalls
-#APP
.section .init
-#NO_APP
.align 2
.globl _init
.ent _init
.type _init, @function
-#NO_APP
ld $31,24($sp)
ld $28,16($sp)
- #nop
+
.set noreorder
.set nomacro
j $31
@@ -119,18 +102,15 @@
.set reorder
.end _init
-#APP
.section .fini
-#NO_APP
.align 2
.globl _fini
.ent _fini
.type _fini, @function
-#NO_APP
ld $31,24($sp)
ld $28,16($sp)
- #nop
+
.set noreorder
.set nomacro
j $31
@@ -139,7 +119,6 @@
.set reorder
.end _fini
-#APP
.ident "GCC: (GNU) 3.3.2"
#endif /* N64 */
diff -Nru uClibc-0.9.29/libpthread/linuxthreads/sysdeps/unix/sysv/linux/mips/sysdep-cancel.h uClibc-0.9.29-patch/libpthread/linuxthreads/sysdeps/unix/sysv/linux/mips/sysdep-cancel.h
--- uClibc-0.9.29/libpthread/linuxthreads/sysdeps/unix/sysv/linux/mips/sysdep-cancel.h 2006-01-31 13:05:15.000000000 +0800
+++ uClibc-0.9.29-patch/libpthread/linuxthreads/sysdeps/unix/sysv/linux/mips/sysdep-cancel.h 2007-09-10 14:41:48.000000000 +0800
@@ -17,7 +17,7 @@
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
02111-1307 USA. */
-#include <sysdep.h>
+
#ifndef __ASSEMBLER__
# include <linuxthreads/internals.h>
#endif
diff -Nru uClibc-0.9.29/utils/readelf.c uClibc-0.9.29-patch/utils/readelf.c
--- uClibc-0.9.29/utils/readelf.c 2006-10-07 14:01:37.000000000 +0800
+++ uClibc-0.9.29-patch/utils/readelf.c 2007-09-10 16:09:34.000000000 +0800
@@ -24,7 +24,7 @@
#include <sys/types.h>
#include "bswap.h"
-#include "link.h"
+#include "../include/link.h"
/* makefile will include elf.h for us */
int byteswap;
10. test build
hello in c
hello in c++
hello with pthread
build with shared libc, and -static
you will find some error at "***.os"
cd uClibc-xxx; rm the "**.os" then make; and cp -a lib/* to toolchain lib
11.test again
failed at link hello-thread static
in uClibc-*/libpthread/linuxthreads/Makefile.in, i add a libc-cancellation.o
i am not sure it correct, but it workes
libc-static-y += $(libpthread_OUT)/libc_pthread_init.o $(libpthread_OUT)/libc-cancellation.o
12.OK
更多推荐
所有评论(0)