I'm porting an application from ARM architecture to PowerPC, which is
going quite well. I've encountered an odd problem with some open
source code I'm using - a daemon process won't background as it
should. After comparing the process's system calls, it looks like the
PowerPC binary is not calling clone() after a MSG_NOSIGNAL. Also,
comparing the strings from the binaries (both identical code
revisions), I notice that the ARM binary links with /lib/ld-linux.so.
3, whereas the PPC one uses /lib/ld.so.1 (however, both of these
symlink to ld-2.11.3.so) . A few of the pthread strings in the
binaries also differ, such as pthread_mutexattr_destroy and
pthread_cond_signal. So, I think I've found roughly where the problem
is occurring, however I know very little about pthreads and signals.
Recompiling this software is a pain (30 or so dependencies that aren't
stable), although I am preparing to do it. What I'm wondering is if
anyone has had similar experiences, and what particular fix they used.
Also, I'll be happy to submit patches upstream since the package
maintainer doesn't seem to know/care about PPC Linux. Thanks for any
help, and BTW Debian PPC distro is excellent!