This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "uClibc-ng - small C library for embedded systems".
The branch, master has been updated
via 939014ddce98bd07c774815a7f0cf379c8bde38d (commit)
via de633ed60fca535f51a4f6af24c8899321a3d69c (commit)
from 3e40f9669279f005f7154892539166f5081fbcb2 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 939014ddce98bd07c774815a7f0cf379c8bde38d
Author: Waldemar Brodkorb <wbx(a)uclibc-ng.org>
Date: Thu Aug 25 23:32:43 2016 +0200
mips: add NaN support
commit de633ed60fca535f51a4f6af24c8899321a3d69c
Author: Waldemar Brodkorb <wbx(a)uclibc-ng.org>
Date: Tue Aug 23 05:47:00 2016 +0200
delete dead code, use -Wdeclaration-after-statement by default
Add -Wdeclaration-after-statement when EXTRA_WARNINGS is enabled.
-----------------------------------------------------------------------
Summary of changes:
Rules.mak | 11 ++++-------
extra/Configs/Config.mips | 15 +++++++++++++++
ldso/ldso/Makefile.in | 3 +++
3 files changed, 22 insertions(+), 7 deletions(-)
diff --git a/Rules.mak b/Rules.mak
index 8d0e66a..cd343f5 100644
--- a/Rules.mak
+++ b/Rules.mak
@@ -1,4 +1,4 @@
-# Rules.make for uClibc
+# Rules.mak for uClibc
#
# Copyright (C) 2000-2008 Erik Andersen <andersen(a)uclibc.org>
#
@@ -170,7 +170,6 @@ headers_dep := $(top_builddir)include/bits/sysnum.h \
$(top_builddir)include/bits/uClibc_config.h
sub_headers := $(headers_dep)
-#LIBS :=$(interp) -L$(top_builddir)lib -lc
LIBS := $(interp) -L$(top_builddir)lib $(libc:.$(ABI_VERSION)=)
# Make sure DESTDIR and PREFIX can be used to install
@@ -410,6 +409,8 @@ ifeq ($(TARGET_ARCH),mips)
CPU_CFLAGS-$(CONFIG_MIPS_N64_ABI)+=-mabi=64
CPU_CFLAGS-$(CONFIG_MIPS_O32_ABI)+=-mabi=32
CPU_CFLAGS-$(CONFIG_MIPS_N32_ABI)+=-mabi=n32
+ CPU_CFLAGS-$(CONFIG_MIPS_NAN_LEGACY)+=-mnan=legacy
+ CPU_CFLAGS-$(CONFIG_MIPS_NAN_2008)+=-mnan=2008
CPU_LDFLAGS-y += $(CPU_CFLAGS)
endif
@@ -593,10 +594,9 @@ WARNING_FLAGS += \
-Wnonnull \
-Wold-style-declaration \
-Wold-style-definition \
+ -Wdeclaration-after-statement \
-Wshadow \
-Wundef
-# Works only w/ gcc-3.4 and up, can't be checked for gcc-3.x w/ check_gcc()
-#WARNING_FLAGS-gcc-4 += -Wdeclaration-after-statement
endif
WARNING_FLAGS += $(WARNING_FLAGS-gcc-$(GCC_MAJOR_VER))
$(foreach w,$(WARNING_FLAGS),$(eval $(call check-gcc-var,$(w))))
@@ -638,9 +638,6 @@ $(eval $(call check-ld-var,--sort-common))
$(eval $(call check-ld-var,--discard-all))
LDFLAGS_NOSTRIP:=$(LDFLAG-fuse-ld) $(CPU_LDFLAGS-y) -shared \
-Wl,--warn-common $(CFLAG_-Wl--warn-once) -Wl,-z,combreloc
-# binutils-2.16.1 warns about ignored sections, 2.16.91.0.3 and newer are ok
-#$(eval $(call check-ld-var,--gc-sections))
-#LDFLAGS_NOSTRIP += $(LDFLAG_--gc-sections)
ifeq ($(UCLIBC_BUILD_RELRO),y)
LDFLAGS_NOSTRIP+=-Wl,-z,relro
diff --git a/extra/Configs/Config.mips b/extra/Configs/Config.mips
index 919e80c..8137d8b 100644
--- a/extra/Configs/Config.mips
+++ b/extra/Configs/Config.mips
@@ -32,6 +32,21 @@ config CONFIG_MIPS_N64_ABI
endchoice
+choice
+ prompt "Target NAN Encoding"
+ default CONFIG_MIPS_NAN_LEGACY
+ help
+ This is the NAN Encoding you want to use. Chose either Legacy
+ or 2008.
+
+config CONFIG_MIPS_NAN_LEGACY
+ bool "LEGACY"
+
+config CONFIG_MIPS_NAN_2008
+ bool "2008"
+
+endchoice
+
config UCLIBC_USE_MIPS_PREFETCH
bool "Use MIPS prefetch optimization for memcpy/memset"
default y
diff --git a/ldso/ldso/Makefile.in b/ldso/ldso/Makefile.in
index dde6a53..993aeb9 100644
--- a/ldso/ldso/Makefile.in
+++ b/ldso/ldso/Makefile.in
@@ -82,6 +82,9 @@ $(ldso:.$(ABI_VERSION)=): $($(UCLIBC_LDSO_NAME)_OUT)/$(UCLIBC_LDSO_NAME)_so.a
$(call link.so,$(ldso_FULL_NAME),$(ABI_VERSION))
# link for backward compatibility
(cd $(top_builddir)lib; ln -sf $(UCLIBC_LDSO_NAME).so.$(ABI_VERSION) $(UCLIBC_LDSO_NAME).so.0 )
+ifeq ($(CONFIG_MIPS_NAN_2008),y)
+ (cd $(top_builddir)lib; ln -sf $(UCLIBC_LDSO_NAME).so.$(ABI_VERSION) $(UCLIBC_LDSO_NAME)-mipsn8.so.0)
+endif
$($(UCLIBC_LDSO_NAME)_OUT)/$(UCLIBC_LDSO_NAME)_so.a: $(ldso-y)
$(Q)$(RM) $@
hooks/post-receive
--
uClibc-ng - small C library for embedded systems
Hello,
Today I was investigating a link issue that occurs in Buildroot with
the libarchive package. It turns out that the code of this package
uses pthread_mutex_lock/pthread_mutex_unlock in some places to be
thread-safe, but does *not* link with the libpthread library.
I was originally surprised that this could even work, but I discovered
that the libc intentionally provides a stub implementation of
pthread_mutex_lock/unlock. The idea behind this is that a library can
use pthread_mutex_lock/unlock without linking to libpthread. This way,
if the application using the library is single-threaded and doesn't
link with libpthread, pthread_mutex_lock/unlock are no-ops. On the
other hand, if the application using the library is multi-threaded, it
will link with libpthread, and therefore the libpthread versions of
pthread_mutex_lock/unlock will be used.
This all seems good, until you get to static linking. Indeed with
uClibc-ng, the following program:
#include <pthread.h>
int main(void)
{
pthread_mutex_t lock;
pthread_mutex_lock(&lock);
return 0;
}
will link perfectly fine with dynamic linking:
$ ./host/usr/bin/arm-linux-gcc -o foo foo.c
$ ./host/usr/bin/arm-linux-readelf -d foo | grep NEEDED
0x00000001 (NEEDED) Shared library: [libc.so.0]
but will fail to build with static linking:
$ ./host/usr/bin/arm-linux-gcc -o foo foo.c -static
/tmp/ccda8vkc.o: In function `main':
foo.c:(.text+0x14): undefined reference to `pthread_mutex_lock'
collect2: error: ld returned 1 exit status
And this explains the build failures like
http://autobuild.buildroot.net/results/01b/01b7088a06e7310c8773e78e8be4f6e8…
that we are seeing in Buildroot.
It is worth mentioning that using the musl C library, this test case
works fine in both dynamic linking and static linking cases (and the
libarchive error also does not occur).
Thomas
--
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com
The syscall ABI includes the gcc functional calling ABI since a syscall
implies userland caller and kernel callee.
The current gcc ABI (v3) for ARCv2 ISA required 64-bit data be passed in
even-odd register pairs, (potentially punching reg holes when passing such
values as args). This was partly driven by the fact that the double-word
LDD/STD instructions in ARCv2 expect the register alignment and thus gcc
forcing this avoids extra MOV at the cost of a few unused register (which we
have plenty anyways).
This however was rejected as part of upstreaming gcc port to HS. So the new
ABI v4 doesn't enforce the even-odd reg restriction.
Do note that for ARCompact ISA builds v3 and v4 are practically the same in
terms of gcc code generation.
This change is dormant for now (gcc 4.8.x based tools) and will only kick
in with switch to gcc 6.x based tools.
Signed-off-by: Vineet Gupta <vgupta(a)synopsys.com>
---
libc/sysdeps/linux/arc/bits/uClibc_arch_features.h | 10 ++++++++--
1 file changed, 8 insertions(+), 2 deletions(-)
diff --git a/libc/sysdeps/linux/arc/bits/uClibc_arch_features.h b/libc/sysdeps/linux/arc/bits/uClibc_arch_features.h
index 51607240cd82..94e089d5dfa8 100755
--- a/libc/sysdeps/linux/arc/bits/uClibc_arch_features.h
+++ b/libc/sysdeps/linux/arc/bits/uClibc_arch_features.h
@@ -41,8 +41,14 @@
/* The default ';' is a comment on ARC. */
#define __UCLIBC_ASM_LINE_SEP__ `
-/* does your target align 64bit values in register pairs ? (32bit arches only) */
-#if defined(__A7__)
+/* does your target align 64bit values in register pairs ? (32bit arches only)
+ * - ARC700 never had any constraint on reg pairs (even if ABI v3)
+ * - Inital HS ABI (v3: non upstream gcc) had 64-bit data aligned in even-odd
+ * reg pairs (thus allowed reg holes when passing such args to calls)
+ * - Upstream gcc (6.x) HS ABI doesn't have that restriction
+ */
+
+#if defined(__A7__) || (__GNUC__ > 4)
#undef __UCLIBC_SYSCALL_ALIGN_64BIT__
#else
#define __UCLIBC_SYSCALL_ALIGN_64BIT__
--
2.7.4
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "uClibc-ng - small C library for embedded systems".
The branch, master has been updated
via 3e40f9669279f005f7154892539166f5081fbcb2 (commit)
from 9725c0b6e4fda2db5c5aac0888d64dc97c69a332 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 3e40f9669279f005f7154892539166f5081fbcb2
Author: Vineet Gupta <Vineet.Gupta1(a)synopsys.com>
Date: Tue Aug 16 15:04:27 2016 -0700
ARC: Support syscall ABI v4
The syscall ABI includes the gcc functional calling ABI since a syscall
implies userland caller and kernel callee.
The current gcc ABI (v3) for ARCv2 ISA required 64-bit data be passed in
even-odd register pairs, (potentially punching reg holes when passing such
values as args). This was partly driven by the fact that the double-word
LDD/STD instructions in ARCv2 expect the register alignment and thus gcc
forcing this avoids extra MOV at the cost of a few unused register (which we
have plenty anyways).
This however was rejected as part of upstreaming gcc port to HS. So the new
ABI v4 doesn't enforce the even-odd reg restriction.
Do note that for ARCompact ISA builds v3 and v4 are practically the same in
terms of gcc code generation.
This change is dormant for now (gcc 4.8.x based tools) and will only kick
in with switch to gcc 6.x based tools.
Signed-off-by: Vineet Gupta <vgupta(a)synopsys.com>
-----------------------------------------------------------------------
Summary of changes:
libc/sysdeps/linux/arc/bits/uClibc_arch_features.h | 10 ++++++++--
1 file changed, 8 insertions(+), 2 deletions(-)
diff --git a/libc/sysdeps/linux/arc/bits/uClibc_arch_features.h b/libc/sysdeps/linux/arc/bits/uClibc_arch_features.h
index 5160724..94e089d 100755
--- a/libc/sysdeps/linux/arc/bits/uClibc_arch_features.h
+++ b/libc/sysdeps/linux/arc/bits/uClibc_arch_features.h
@@ -41,8 +41,14 @@
/* The default ';' is a comment on ARC. */
#define __UCLIBC_ASM_LINE_SEP__ `
-/* does your target align 64bit values in register pairs ? (32bit arches only) */
-#if defined(__A7__)
+/* does your target align 64bit values in register pairs ? (32bit arches only)
+ * - ARC700 never had any constraint on reg pairs (even if ABI v3)
+ * - Inital HS ABI (v3: non upstream gcc) had 64-bit data aligned in even-odd
+ * reg pairs (thus allowed reg holes when passing such args to calls)
+ * - Upstream gcc (6.x) HS ABI doesn't have that restriction
+ */
+
+#if defined(__A7__) || (__GNUC__ > 4)
#undef __UCLIBC_SYSCALL_ALIGN_64BIT__
#else
#define __UCLIBC_SYSCALL_ALIGN_64BIT__
hooks/post-receive
--
uClibc-ng - small C library for embedded systems
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "uClibc-ng - small C library for embedded systems".
The branch, master has been updated
via 9725c0b6e4fda2db5c5aac0888d64dc97c69a332 (commit)
from c61570ac32f052e050c46838ea5ab60de5836f8e (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 9725c0b6e4fda2db5c5aac0888d64dc97c69a332
Author: Waldemar Brodkorb <wbx(a)uclibc-ng.org>
Date: Tue Aug 16 22:08:25 2016 +0200
linuxthreads: install libpthread_nonshared.a
This is useful to build native gcc on targets supporting
Linuxthreads instead of NPTL.
-----------------------------------------------------------------------
Summary of changes:
libpthread/linuxthreads/Makefile.in | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/libpthread/linuxthreads/Makefile.in b/libpthread/linuxthreads/Makefile.in
index 5b7d559..47c45ef 100644
--- a/libpthread/linuxthreads/Makefile.in
+++ b/libpthread/linuxthreads/Makefile.in
@@ -67,10 +67,13 @@ libpthread-so-y += $(libpthread_OBJ:.o=.oS)
lib-a-$(UCLIBC_HAS_THREADS) += $(top_builddir)lib/libpthread.a
lib-so-$(UCLIBC_HAS_THREADS) += $(top_builddir)lib/libpthread.so
-$(top_builddir)lib/libpthread.so: $(libpthread_OUT)/libpthread_so.a $(libc.depend)
+$(top_builddir)lib/libpthread.so: $(libpthread_OUT)/libpthread_so.a $(libc.depend) $(top_builddir)lib/libpthread_nonshared.a
$(call link.so,$(libpthread_FULL_NAME),$(ABI_VERSION))
# link for backward compatibility
$(call link.so,$(libpthread_FULL_NAME),0)
+ $(Q)cat $(top_srcdir)extra/scripts/format.lds > $@.tmp
+ $(Q)echo "GROUP ( $(notdir $(a)).$(ABI_VERSION) libpthread_nonshared.a )" >> $@.tmp
+ $(Q)mv $@.tmp $@
ifeq ($(PTHREADS_DEBUG_SUPPORT),y)
$(libpthread_OUT)/libpthread_so.a: STRIP_FLAGS:=$(STRIP_FLAGS:-x=-X --strip-debug)
hooks/post-receive
--
uClibc-ng - small C library for embedded systems
This test uses OFD locks which are supported only by 64-bit ABI.
Thus OFD locks must be used with flock64 structure for sure in this
test. It is necessary because on some 32-bit targets (e.g. 32-bit
uClibc) flock is not mapped to flock64 when _FILE_OFFSET_BITS is not
set to 64.
Signed-off-by: Yuriy Kolerov <yuriy.kolerov(a)synopsys.com>
---
testcases/kernel/syscalls/fcntl/fcntl34.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "uClibc-ng - small C library for embedded systems".
The branch, master has been updated
via c61570ac32f052e050c46838ea5ab60de5836f8e (commit)
from bbd7151f7980c7d075fe652331f01d3aadc73e42 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit c61570ac32f052e050c46838ea5ab60de5836f8e
Author: Eric Le Bihan <eric.le.bihan.dev(a)free.fr>
Date: Tue Aug 9 18:48:47 2016 +0200
librt: fix path parsing in __spawni()
__spawni() loops forever when parsing the path variable due to incorrect
pointer update. This patch fixes the issue.
Signed-off-by: Eric Le Bihan <eric.le.bihan.dev(a)free.fr>
-----------------------------------------------------------------------
Summary of changes:
librt/spawn.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/librt/spawn.c b/librt/spawn.c
index 79f5b06..25e3994 100644
--- a/librt/spawn.c
+++ b/librt/spawn.c
@@ -203,9 +203,10 @@ __spawni(pid_t *pid, const char *file,
*--name = '/';
}
- char *p;
+ char *p = (char *)path;
do {
char *startp;
+ path = p;
p = strchrnul(path, ':');
/* Two adjacent colons, or a colon at the beginning or the end
@@ -233,7 +234,6 @@ __spawni(pid_t *pid, const char *file,
goto error;
}
- path = p;
} while (*p++ != '\0');
error:
hooks/post-receive
--
uClibc-ng - small C library for embedded systems
Hello,
According to getcontext(3), the *context functions and the ucontext_t
structure are defined in <ucontext.h>.
If you take this simple program:
"""
#define _GNU_SOURCE
#include <ucontext.h>
int main(void)
{
ucontext_t *ucontext;
return ucontext->uc_mcontext.uc_regs->gregs[0];
}
"""
and build it with a uClibc-ng PowerPC toolchain, it will fail with:
"""
foo.c: In function 'main':
foo.c:5:2: error: unknown type name 'ucontext_t'
ucontext_t *ucontext;
...
"""
And indeed <ucontext.h> in uClibc-ng only includes <sys/ucontext.h> if
__UCLIBC_HAS_CONTEXT_FUNCS__ is defined, which is not the case on
PowerPC. And since <sys/ucontext.h> is where ucontext_t is defined, the
build failure is expected.
However, now, change the program to:
"""
#define _GNU_SOURCE
#include <ucontext.h>
#include <signal.h>
int main(void)
{
ucontext_t *ucontext;
return ucontext->uc_mcontext.uc_regs->gregs[0];
}
"""
i.e with just <signal.h> included. And now, it builds fine!
Indeed <signal.h> includes <sys/ucontext.h> unconditionally, without
taking care of __UCLIBC_HAS_CONTEXT_FUNCS__. This seems broken to me,
as-is the fact that some ucontext structures are defined in a header
file even if the platform doesn't support context functions.
Thomas
--
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com
uclibc-ng & ARC developers:
I'm trying to use buildroot to build the latest ARC toolchain
(arc-2016.09-eng007) against our vendor-provided 2.6.35.12 ARC Linux
kernel. (Yes, it is an ancient kernel, but that's what I have to work
with for now, unfortunately.)
The buildroot config is:
BR2_arcle=y
BR2_arc750d=y
BR2_ENABLE_DEBUG=y
BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_REALLY_OLD=y
BR2_TOOLCHAIN_BUILDROOT_INET_RPC=y
BR2_TOOLCHAIN_BUILDROOT_WCHAR=y
BR2_TOOLCHAIN_BUILDROOT_LOCALE=y
BR2_PTHREAD_DEBUG=y
BR2_TOOLCHAIN_BUILDROOT_USE_SSP=y
BR2_TOOLCHAIN_BUILDROOT_CXX=y
BR2_LINUX_KERNEL=y
BR2_LINUX_KERNEL_CUSTOM_LOCAL=y
BR2_LINUX_KERNEL_CUSTOM_LOCAL_PATH="/path/to/vendor/2.6.35.12/kernel"
BR2_LINUX_KERNEL_VERSION="2.6.35.12"
With this setup, I'm running into various uclibc-ng 1.0.17 build errors:
1) ./include/sys/procfs.h:30:28: error: invalid application of
'sizeof' to incomplete type 'struct user_regs_struct'
#define ELF_NGREG (sizeof (struct user_regs_struct) / sizeof(elf_greg_t))
QUICK FIX:
Copied 'struct user_regs_struct' definition from corresponding
2.6.35.12 kernel header to libc/sysdeps/linux/arc/sys/user.h
2) ./include/sys/cachectl.h:13:26: fatal error: asm/cachectl.h: No
such file or directory
#include <asm/cachectl.h>
QUICK FIX:
Commented the above line out in libc/sysdeps/linux/arc/sys/cachectl.h
3) In file included from
.../buildroot/output/build/linux-headers-custom/usr/include/linux/posix_types.h:47:0,
from
.../buildroot/output/build/linux-headers-custom/usr/include/linux/types.h:8,
from
.../buildroot/output/build/linux-headers-custom/usr/include/linux/rtnetlink.h:4,
from libc/inet/netlinkaccess.h:26,
from libc/inet/ifaddrs.c:36:
.../buildroot/output/build/linux-headers-custom/usr/include/asm/posix_types.h:22:25:
error: conflicting types for '__kernel_mode_t'
typedef unsigned short __kernel_mode_t;
^
In file included from ./include/bits/types.h:30:0,
from ./include/sys/types.h:30,
from ./include/sys/uio.h:23,
from ./include/sys/socket.h:27,
from ./include/ifaddrs.h:23,
from libc/inet/ifaddrs.c:22:
./include/bits/kernel_types.h:25:23: note: previous declaration of
'__kernel_mode_t' was here
typedef unsigned int __kernel_mode_t;
^
QUICK FIX:
Added #include <asm/posix_types.h> on top of
libc/sysdeps/linux/arc/bits/kernel_types.h and wrapped the uclibc
definitions with #ifndef _ASM_ARC_POSIX_TYPES_H ... #define
_ASM_ARC_POSIX_TYPES_H ... #endif to match the kernel header wrappers.
Also, needed to add #ifndef ... #define ... #endif wraps to __FD_*
definitions in libc/sysdeps/linux/common/bits/select.h
4) /usr/bin/make -j1 -C .../buildroot/output/build/uclibc-1.0.17
CC=".../buildroot/output/host/usr/bin/arc-buildroot-linux-uclibc-gcc"
CPP=".../buildroot/output/host/usr/bin/arc-buildroot-linux-uclibc-cpp"
LD=".../buildroot/output/host/usr/bin/arc-buildroot-linux-uclibc-ld"
ARCH="arc" PREFIX=.../buildroot/output/target utils install_utils
make[3]: Nothing to be done for `locale_headers'.
CC utils/getconf
../lib/libc.so.1: undefined reference to `__xstat32_conv'
../lib/libc.so.1: undefined reference to `__xstat64_conv'
collect2: error: ld returned 1 exit status
make[3]: *** [../utils/getconf] Error 1
make[2]: *** [utils] Error 2
make[1]: *** [/usr/local/google/home/pgynther/clients/buildroot/output/build/uclibc-1.0.17/.stamp_target_installed]
Error 2
make: *** [_all] Error 2
QUICK FIX:
Created libc/sysdeps/linux/arc/bits/kernel_stat.h file from
corresponding kernel definitions and also added 'select
ARCH_HAS_DEPRECATED_SYSCALLS' in extra/Configs/Config.arc
After the above 4 patches have been applied, buildroot is able to
build the toolchain successfully.
And then, using this new toolchain, I'm able to build our internal
2.6.35.12 kernel + initramfs image.
However:
Once I boot the newly built image, the kernel boots fine, but /init
(busybox) crashes every time. And same happens with /bin/sh (dash).
Basically, no userland binary built with this toolchain runs on top of
2.6.35.12 kernel.
No matter what I provide on kernel command line parameter
"rdinit=/path/to/binary", the boot always ends with "Attempted to kill
init!" because the kernel doesn't like the userland binaries.
[ 2.070000] TCP cubic registered
[ 2.075000] NET: Registered protocol family 10
[ 2.080000] NET: Registered protocol family 17
[ 2.085000] 802.1Q VLAN Support v1.8 Ben Greear <greearb(a)candelatech.com>
[ 2.090000] All bugs added by David S. Miller <davem(a)redhat.com>
[ 2.100000] Freeing unused kernel memory: 19904k freed [84938000]
TO [85ca8000]
[ 2.105000] Common mmap addr-space starts 2c0f0000
[ 2.115000] Kernel panic - not syncing: Attempted to kill init!
Questions:
1) Does the latest ARC toolchain use some new ABI for binaries that
makes them incompatible with 2.6.35.12 kernel?
2) Is uclibc-ng 1.0.17 supposed to be compatible with 2.6.x kernel headers?
Any help is greatly appreciated. Thanks.
-- Petri