I dont' have an unstable system. So you need to run the strace and send me the log of:
strace -fF -vvv -o logfile.txt /bin/bash
|
|
|
|
Would you like to get all the new info from
PSX-Scene in your email each day?
Want to learn more about the team keeping you up to date with the latest scene news?
Read about them now! Check out our Developer bios, too! | ||
|
|
I dont' have an unstable system. So you need to run the strace and send me the log of:
strace -fF -vvv -o logfile.txt /bin/bash
logfile.txt - DONE!!!
First time strace not wanted to work. But if glibc's strace work then what? - problem in uClibc.
After this patch applied, i could launch strace. Please look at it - there are case with uClibc, largefile and syscalls!
BTW, please make ps2gs and vu0 devices available again. I not understand why you switched them off - ps2gs uses only in Xgsx and libps2dev with vu0, so no one program touch them. This action only provides harder testing of Xgsx.
Last edited by archicharmer; 02-19-2013 at 04:25 AM.
I thought that I told you that large file support is needed in uClibc.
Can you please use the parameters "-i -vvv" with strace. I need to know which code is executing SYS_5994, SYS_5995, SYS_5996, SYS_5997, SYS_5998 and SYS_5999. The syscalls seem to be out of range.I need the disassembly of the code which executes the syscalls (objdump -S).
vu0 is disabled, because it freezes the system when opened. ps2gs should be still available.
logfile2.txt
bashdump.tar.zip
Yes, you was. Also you told a warning, that cross-compilation may not detect whenever system is large.
UCLIBC_HAS_LFS=y
# UCLIBC_HAS_FOPEN_LARGEFILE_MODE is not set
Do not be fast in making conclusions. Maybe it is just a pare of syscalls of wrong emulation.
vu0 is disabled... for what? How test the unavailable device?! And again, no one linux-program touches vu0.
Last edited by archicharmer; 02-22-2013 at 09:17 PM.
vu0 is unstable. I thought Xgsx or some test program opens vu0.
It crashs, because rl_redisplay_function is NULL. The error is somewhere before. Please run it with gdb and use the following commands:
gdb /bin/bash
(gdb) run
You will see the exception.
(gdb) info registers
(gdb) bt
(gdb) info program
(gdb) info shared
(gdb) disass 0x2ac10150 0x2ac10170
(gdb) disass 0x2ac10070 0x2ac10090
Please post the output.
Last edited by Mega Man; 02-23-2013 at 03:35 PM.
Agreed, now i get this point of view - if Xgsx will crash because VUs - we will see related error. Ok, let ps2gs switched on while vu0 is off. When Xgsx will work (if it will), then there is no reason to disable vu0 anymore.Originally Posted by Mega Man
operation.tar.gz
And i assumed this will not enough, so i uploaded tsystem_loop
Apascan uses libdevmapper. The kernel supports devmapper. I think this was enabled in the last kernel for Fedora.
It was not possible to directly cross-compile apascan, because libdevmapper wasn't available. Now buildroot is working. It should be able to cross-compile it, but I didn't tried it.
I has remembered about buildroot existence and built it.
First thing is i can't chroot in it. I assume the output/target directory is the compiled target-system. So, i copied it into loop-file and tried to chroot. Unsuccessfully - it says about /bin/bash is absent nevertheless i created a symlink to busybox.
Second thing is all binaries are the symlinks to busybox! My opinion - busybox base is unacceptable!
Third thing is uClibc's config. Cross-compiler is mips64el, not mips64r5900el; of course it uses mips_isa=3 instead of r5900's default (which is mips3 thought); no use of march r5900.
About patches used while building. For uClibc they are in toolchain/uClibc. I assume if uClibc-0.9.33 then patches for 0.9.33. Here below - the difference between uClibc of simple-toolchain and buildroot's one (except r5900 additions):
Spoiler
diff -Naur uClibc-0.9.33.2/include/unistd.h broot/buildroot-2012.08/output/toolchain/uClibc-0.9.33.2/include/unistd.h
--- uClibc-0.9.33.2/include/unistd.h 2012-05-15 11:20:09.000000000 +0400
+++ broot/buildroot-2012.08/output/toolchain/uClibc-0.9.33.2/include/unistd.h 2013-04-04 08:14:45.090744449 +0400
@@ -513,6 +513,10 @@
extern int dup2 (int __fd, int __fd2) __THROW;
libc_hidden_proto(dup2)
+/* Duplicate FD to FD2, closing FD2 and making it open on the same file. */
+extern int dup3 (int __fd, int __fd2, int __flags) __THROW;
+libc_hidden_proto(dup3)
+
/* NULL-terminated array of "NAME=VALUE" environment variables. */
extern char **__environ;
#ifdef __USE_GNU
diff -Naur uClibc-0.9.33.2/ldso/libdl/libdl.c broot/buildroot-2012.08/output/toolchain/uClibc-0.9.33.2/ldso/libdl/libdl.c
--- uClibc-0.9.33.2/ldso/libdl/libdl.c 2013-02-14 18:11:30.800314475 +0400
+++ broot/buildroot-2012.08/output/toolchain/uClibc-0.9.33.2/ldso/libdl/libdl.c 2012-05-15 11:20:09.000000000 +0400
@@ -49,10 +49,6 @@
* perhaps RCU for the global structures */
__UCLIBC_MUTEX_STATIC(_dl_mutex, PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP);
-#if defined(USE_TLS) && USE_TLS && defined(__mips__) && !defined(SHARED)
-# include <dl-tls.h>
-#endif
-
#ifdef SHARED
# if defined(USE_TLS) && USE_TLS
# include <dl-tls.h>
diff -Naur uClibc-0.9.33.2/libc/sysdeps/linux/common/bits/socket.h broot/buildroot-2012.08/output/toolchain/uClibc-0.9.33.2/libc/sysdeps/linux/common/bits/socket.h
--- uClibc-0.9.33.2/libc/sysdeps/linux/common/bits/socket.h 2012-05-15 11:20:09.000000000 +0400
+++ broot/buildroot-2012.08/output/toolchain/uClibc-0.9.33.2/libc/sysdeps/linux/common/bits/socket.h 2013-04-04 08:14:43.982743363 +0400
@@ -235,8 +235,15 @@
#define MSG_ERRQUEUE MSG_ERRQUEUE
MSG_NOSIGNAL = 0x4000, /* Do not generate SIGPIPE. */
#define MSG_NOSIGNAL MSG_NOSIGNAL
- MSG_MORE = 0x8000 /* Sender will send more. */
+ MSG_MORE = 0x8000, /* Sender will send more. */
#define MSG_MORE MSG_MORE
+ MSG_WAITFORONE = 0x10000, /* Wait for at least one packet to return.*/
+#define MSG_WAITFORONE MSG_WAITFORONE
+
+ MSG_CMSG_CLOEXEC = 0x40000000 /* Set close_on_exit for file
+ descriptor received through
+ SCM_RIGHTS. */
+#define MSG_CMSG_CLOEXEC MSG_CMSG_CLOEXEC
};
diff -Naur uClibc-0.9.33.2/libc/sysdeps/linux/common/dup3.c broot/buildroot-2012.08/output/toolchain/uClibc-0.9.33.2/libc/sysdeps/linux/common/dup3.c
--- uClibc-0.9.33.2/libc/sysdeps/linux/common/dup3.c 1970-01-01 03:00:00.000000000 +0300
+++ broot/buildroot-2012.08/output/toolchain/uClibc-0.9.33.2/libc/sysdeps/linux/common/dup3.c 2013-04-04 08:14:45.091744394 +0400
@@ -0,0 +1,15 @@
+/* vi: set sw=4 ts=4: */
+/*
+ * dup3() for uClibc
+ *
+ * Copyright (C) 2000-2006 Erik Andersen <andersen@uclibc.org>
+ *
+ * Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
+ */
+
+#include <sys/syscall.h>
+#include <unistd.h>
+
+
+_syscall3(int, dup3, int, oldfd, int, newfd, int, flags)
+libc_hidden_def(dup3)
I did a rebuild of simple-toolchain,uClibc with buildroot's config both with mips64el and mips64r5900el targets. The bash is broken in each build.
As i can't test buildroot's target-system, i can't find the difference of bash work. However, there is no way to do it - bash of buildroot is a part of busybox.
So i still hope that you'll handle the bash debug from tsystem_loop and will have a success. Maybe you are waiting when GNU will accept the r5900 binutils patch to continue?..
Last edited by archicharmer; 04-04-2013 at 04:21 AM.
Busybox is small and uses less resources.
Did you used the following files and started build.sh?
SourceForge.net Repository - [kernelloader] Index of /linux/buildroot
The output should be usable as initrd. You should not use nfs, samba or swapon when testing.
I am still waiting for the replacement motherboard of my computer.
| « Previous Thread | Next Thread » |