Signal 4 installing kernel/world built for different cputype

John Nielsen lists at jnielsen.net
Thu Sep 16 10:17:46 PDT 2004


I use a build machine to build world and kernels for other, slower
machines.  The build machine is an Athlon Thunderbird running 5.3-BETA4,
and I'd like to upgrade the other machines to 5.3 as well.  I have
compiled everything that runs on the build system with
CPUTYPE?=athlon-tbird.

When I do a buildworld/buildkernel for a pentium machine with CPUTYPE=i586
on make's command line, it looks like I get incompatible binaries in
obj/usr/src/i386/legacy/usr/bin.  I think that because when I try to do
an installkernel or installworld on the pentium machine, "install" dies
with a signal 4.  If I replace the binaries in that directory with ones
compiled on the pentium machine, the installkernel and instalworld run
just fine, and none of the other binaries (most notably the kernel) seem
to contain illegal instructions.  I did try just replacing the "install"
binary, but then some of the other binaries in that directory also exited
with a signal 4 later on in the installworld.

It seems like I had this problem with 5.2.1 as well, but I haven't tried
for a while because the build machine was temporarily relocated.

What is the best way to track this down?  Should I file a PR?  If so, what
should I include?  Is anyone else doing similar cross-cpu compiles?  I
don't know if this is particular to athlon-tbird -> i586 or not.

Any help or suggestions will be appreciated.

JN


More information about the freebsd-current mailing list