uclibc, uClinux-dist-2008R1-RC8 and fork

Denys Vlasenko vda.linux at googlemail.com
Sat Jun 28 08:50:49 UTC 2008


Hi Mike,

I am building uClinux-dist-2008R1-RC8 from source,
and I am getting messages like

strace.o: In function `strace_popen':
../strace-4.5.15/strace.c:274: undefined reference to `_fork'

I think this is because my uclibc does not provide fork()
for blackfin. Which is totally expected.
On the other hand, uClinux-dist-2008R1-RC8 was successfully
built by others, without doubt. Which is a contradiction.

I downloaded blackfin-toolchain-uclibc-default-08r1-8.i386.tar.gz
and indeed, I see in
opt/uClinux/bfin-uclinux/bfin-uclinux/runtime/usr/include/unistd.h:

#if 1 || defined __ARCH_USE_MMU__
/* Clone the calling process, creating an exact copy.
   Return -1 for errors, 0 to the new process,
   and the process ID of the new process to the old process.  */
extern __pid_t fork (void) __THROW;
#endif

It also has libc.a::fork.o which seems to be a stub.


Current svn in the same spot in include/unistd.h says:

#ifdef __ARCH_USE_MMU__
/* Clone the calling process, creating an exact copy.
   Return -1 for errors, 0 to the new process,
   and the process ID of the new process to the old process.  */
extern __pid_t fork (void) __THROW;
#endif

Am I reading this correctly to mean that current uclibc svn can't be used
unmodified to build uClinux-dist-2008R1-RC8 on blackfin?
--
vda



More information about the uClibc mailing list