All apps now must link against parlib (XCC)
authorBarret Rhoden <brho@cs.berkeley.edu>
Tue, 13 Mar 2012 21:21:29 +0000 (14:21 -0700)
committerBarret Rhoden <brho@cs.berkeley.edu>
Tue, 13 Mar 2012 21:21:29 +0000 (14:21 -0700)
commitf188983041cc181a9c47ee90ad7d11b582ac4f9d
treefe90597c4b3cb2d63ab6073f33b61928d3331637
parent4662fa5d40e291d034dabbe2d0fa19d2d80c8bb6
All apps now must link against parlib (XCC)

Glibc calls out to a low-level parlib function (vcore_event_init(), used
to enable event delivery of *all* processes) that needs to be linked in
to every binary, regardless of whether or not the process will be an
MCP.

In addition to linking against parlib, applications need to be built
with " -u force_parlib_symbols ", which forces the linker to find the
strong version of symbols weakly used in glibc's start.c.

All test code has these flags/libraries set, but external apps need it
too.  Busybox, in particular, needs the patch in tools/patches to force
linking with parlib.

Rebuild your cross compiler, and install-libs (esp before rebuilding
busybox).  At a minimum, you need to copy start.c to the glibc-2.14.1/
tree and rebuild.  If that doesn't make sense, then just do a full
rebuild of glibc.
Documentation/glibc.txt
tests/Makefrag
tools/compilers/gcc-glibc/glibc-2.14.1-ros/sysdeps/ros/start.c
tools/patches/busybox-1.17.3-parlib.patch [new file with mode: 0644]
user/parlib/include/vcore.h
user/parlib/vcore.c