Greetings. I'm running into an issue with crunchgen. The following
simplified test case works perfectly on the latest 5.7-stable amd64
and 5.6-stable i386:

# cat kcopy.conf
srcdirs /usr/src/bin

progs echo
# crunchgen -Em Makefile kcopy.conf
# make clean && make objs && make
rm -f kcopy *.lo *.o *_stub.c
cd /usr/src/bin/echo && exec make -f Makefile echo.o
`echo.o' is up to date.
cc -O2 -pipe  -fno-pie  -c kcopy.c
cc -O2 -pipe  -fno-pie  -c echo_stub.c
ld -dc -r  -nopie -o echo.lo echo_stub.o /usr/src/bin/echo/obj/echo.o
crunchgen -h  -k _crunched_echo_stub echo.lo
cc -static -L.  -nopie -o kcopy kcopy.o echo.lo -L/usr/lib
strip kcopy
# ./kcopy
Usage: kcopy <prog> <args> ..., where <prog> is one of:
 echo kcopy
# ./kcopy echo

#

However, the same on 5.7-stable i386 segfaults:

# cat kcopy.conf
srcdirs /usr/src/bin

progs echo
# crunchgen -Em Makefile kcopy.conf
# make clean && make objs && make
rm -f kcopy *.lo *.o *_stub.c
cd /usr/src/bin/echo && exec make -f Makefile echo.o
`echo.o' is up to date.
cc -O2 -pipe  -fno-pie  -c kcopy.c
cc -O2 -pipe  -fno-pie  -c echo_stub.c
ld -dc -r  -nopie -o echo.lo echo_stub.o /usr/src/bin/echo/obj/echo.o
crunchgen -h  -k _crunched_echo_stub echo.lo
cc -static -L.  -nopie -o kcopy kcopy.o echo.lo -L/usr/lib
strip kcopy
# ./kcopy
Usage: kcopy <prog> <args> ..., where <prog> is one of:
 echo kcopy
# ./kcopy echo
Segmentation fault (core dumped)
#

I get similar results when swapping in ls, pax, and so on. However,
the make release process generates a working instbin binary as used by
bsd.rd, so it's working elsewhere and it's not clear if there's a user
step I'm missing.

Dmesg of the affected system is below, thanks.

OpenBSD 5.7-stable (GENERIC.MP) #0: Thu Mar 26 03:06:57 UTC 2015
    r...@buildi386.int.example.com:/usr/src/sys/arch/i386/compile/GENERIC.MP
cpu0: Intel(R) Core(TM) i7-3615QM CPU @ 2.30GHz ("GenuineIntel"
686-class) 2.31 GHz
cpu0: 
FPU,V86,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,MMX,FXSR,SSE,SSE2,HT
T,NXE,LONG,SSE3,SSSE3,LAHF,PERF
real mem  = 804732928 (767MB)
avail mem = 779182080 (743MB)
mpath0 at root
scsibus0 at mpath0: 256 targets
mainbus0 at root
bios0 at mainbus0: date 06/23/99, BIOS32 rev. 0 @ 0xfda00, SMBIOS rev.
2.5 @ 0xe1000 (10 entries)
bios0: vendor innotek GmbH version "VirtualBox" date 12/01/2006
bios0: innotek GmbH VirtualBox
acpi0 at bios0: rev 2
acpi0: sleep states S0 S5
acpi0: tables DSDT FACP APIC SSDT
acpi0: wakeup devices
acpitimer0 at acpi0: 3579545 Hz, 32 bits
acpimadt0 at acpi0 addr 0xfee00000: PC-AT compat
cpu0 at mainbus0: apid 0 (boot processor)
mtrr: CPU supports MTRRs but not enabled by BIOS
cpu0: apic clock running at 1000MHz
cpu1 at mainbus0: apid 1 (application processor)
cpu1: Intel(R) Core(TM) i7-3615QM CPU @ 2.30GHz ("GenuineIntel"
686-class) 2.31 GHz
cpu1: 
FPU,V86,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,MMX,FXSR,SSE,SSE2,HT
T,NXE,LONG,SSE3,SSSE3,LAHF,PERF
cpu2 at mainbus0: apid 2 (application processor)
cpu2: Intel(R) Core(TM) i7-3615QM CPU @ 2.30GHz ("GenuineIntel"
686-class) 2.31 GHz
cpu2: 
FPU,V86,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,MMX,FXSR,SSE,SSE2,HT
T,NXE,LONG,SSE3,SSSE3,LAHF,PERF
ioapic0 at mainbus0: apid 3 pa 0xfec00000, version 11, 24 pins
acpiprt0 at acpi0: bus 0 (PCI0)
acpicpu0 at acpi0
acpicpu1 at acpi0
acpicpu2 at acpi0
acpibat0 at acpi0: BAT0 model "1" serial 0 type VBOX oem "innotek"
acpiac0 at acpi0: AC unit online
acpivideo0 at acpi0: GFX0
bios0: ROM list: 0xc0000/0x8000 0xe2000/0xd400
pci0 at mainbus0 bus 0: configuration mode 1 (bios)
pchb0 at pci0 dev 0 function 0 "Intel 82441FX" rev 0x02
pcib0 at pci0 dev 1 function 0 "Intel 82371SB ISA" rev 0x00
vga1 at pci0 dev 2 function 0 "InnoTek VirtualBox Graphics Adapter" rev 0x00
wsdisplay0 at vga1 mux 1: console (80x25, vt100 emulation)
wsdisplay0: screen 1-5 added (80x25, vt100 emulation)
em0 at pci0 dev 3 function 0 "Intel 82540EM" rev 0x02: apic 3 int 19,
address 08:00:27:04:f5:74
"InnoTek VirtualBox Guest Service" rev 0x00 at pci0 dev 4 function 0
not configured
piixpm0 at pci0 dev 7 function 0 "Intel 82371AB Power" rev 0x08: SMBus disabled
ahci0 at pci0 dev 13 function 0 "Intel 82801HBM AHCI" rev 0x02: apic 3
int 21, AHCI 1.1
ahci0: device on port 0 didn't come ready, TFD: 0x171<ERR>
ahci0: device on port 1 didn't come ready, TFD: 0x131<ERR>
scsibus1 at ahci0: 32 targets
sd0 at scsibus1 targ 0 lun 0: <ATA, VBOX HARDDISK, 1.0> SCSI3 0/direct
fixed t10.ATA_VBOX_HARDDISK_VBa149
b0f9-94ca1219_
sd0: 8192MB, 512 bytes/sector, 16777216 sectors
cd0 at scsibus1 targ 1 lun 0: <VBOX, CD-ROM, 1.0> ATAPI 5/cdrom removable
isa0 at pcib0
isadma0 at isa0
pckbc0 at isa0 port 0x60/5
pckbd0 at pckbc0 (kbd slot)
pckbc0: using irq 1 for kbd slot
wskbd0 at pckbd0: console keyboard, using wsdisplay0
pms0 at pckbc0 (aux slot)
pckbc0: using irq 12 for aux slot
wsmouse0 at pms0 mux 0
pcppi0 at isa0 port 0x61
spkr0 at pcppi0
npx0 at isa0 port 0xf0/16: reported by CPUID; using exception 16
vscsi0 at root
scsibus2 at vscsi0: 256 targets
softraid0 at root
scsibus3 at softraid0: 256 targets
root on sd0a (b44646522fd3f596.a) swap on sd0b dump on sd0b

Brian Conway

Reply via email to