Ticket #999 (closed defect: notabug)

Opened 2 years ago

Last modified 20 months ago

(log 1217) returns 0.0 on trunk linuxARM32 (on raspbian on qemu-arm).

Reported by: informatimago Owned by:
Priority: normal Milestone: Clozure CL 1.9
Component: ANSI CL Compliance Version: trunk
Keywords: arm Cc:

Description

I'm trying ccl on raspbian (on qemu-arm, waiting for a real Raspberry Pi).  http://www.informatimago.com/articles/raspberrypi/ccl-sur-qemu.html

(log 1217) returns 0.0 instead of 7.104144.

CL-USER> (print-bug-report-info)


LISP-IMPLEMENTATION-TYPE     "Clozure Common Lisp"
LISP-IMPLEMENTATION-VERSION  "Version 1.9-dev-r15424M-trunk  (LinuxARM32)"
SOFTWARE-TYPE                "Linux"
SOFTWARE-VERSION             "3.1.9+"
MACHINE-INSTANCE             "raspberrypi"
MACHINE-TYPE                 "armv6l"
MACHINE-VERSION              "ARM-Versatile PB"
*FEATURES*                   (:CLX-EXT-RENDER :CLX-MIT-R5 :CLX-MIT-R4 :XLIB :CLX :CLX-ANSI-COMMON-LISP COM.INFORMATIMAGO.COMMON-LISP.PARSER.SCANNER::TAB COM.INFORMATIMAGO.COMMON-LISP.PARSER.SCANNER::PAGE :SWANK :QUICKLISP :ASDF2 :ASDF :ASDF-UNICODE :PRIMARY-CLASSES :COMMON-LISP :OPENMCL :CCL :CCL-1.2 :CCL-1.3 :CCL-1.4 :CCL-1.5 :CCL-1.6 :CCL-1.7 :CCL-1.8 :CLOZURE :CLOZURE-COMMON-LISP :ANSI-CL :UNIX :OPENMCL-UNICODE-STRINGS :OPENMCL-NATIVE-THREADS :OPENMCL-PARTIAL-MOP :MCL-COMMON-MOP-SUBSET :OPENMCL-MOP-2 :OPENMCL-PRIVATE-HASH-TABLES :EABI-TARGET :ARM :ARM-TARGET :LINUX-HOST :LINUX-TARGET :LINUXARM-TARGET :LINUXARM-HOST :32-BIT-TARGET :32-BIT-HOST :LINUX :LITTLE-ENDIAN-TARGET :LITTLE-ENDIAN-HOST)


; No value
CL-USER> (log 1217)
0.0
CL-USER> 

The VM is booted with:

./opt/bin/qemu-system-arm \
    -net nic,macaddr=52:54:0:0:0:77 -net tap \
    -kernel kernel-qemu \
    -cpu arm1136-r2 \
    -M versatilepb \
    -no-reboot \
    -append "root=/dev/sda2 panic=1" \
    -hda 2012-07-15-wheezy-raspbian.img  

/proc/cpuinfo:

Processor	: ARMv6-compatible processor rev 2 (v6l)
BogoMIPS	: 506.26
Features	: swp half thumb fastmult vfp edsp java 
CPU implementer	: 0x41
CPU architecture: 6TEJ
CPU variant	: 0x0
CPU part	: 0xb36
CPU revision	: 2

Hardware	: ARM-Versatile PB
Revision	: 0000
Serial		: 0000000000000000

It uses softmmu, there's a "NetWinder? Floating Point Emulator V0.97 (double precision)" line in dmesg.

/var/log/dmesg:

Linux version 3.1.9+ (shift@shift) (gcc version 4.5.2 (Sourcery G++ Lite 2011.03-41) ) #2 Mon Apr 16 04:53:15 EST 2012
CPU: ARMv6-compatible processor [4107b362] revision 2 (ARMv6TEJ), cr=00e5387d
CPU: VIPT aliasing data cache, unknown instruction cache
Machine: ARM-Versatile PB
Memory policy: ECC disabled, Data cache writeback
On node 0 totalpages: 32768
free_area_init_node: node 0, pgdat c04b6ac4, node_mem_map c04d4000
  Normal zone: 256 pages used for memmap
  Normal zone: 0 pages reserved
  Normal zone: 32512 pages, LIFO batch:7
sched_clock: 32 bits at 24MHz, resolution 41ns, wraps every 178956ms
pcpu-alloc: s0 r0 d32768 u32768 alloc=1*32768
pcpu-alloc: [0] 0 
Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 32512
Kernel command line: root=/dev/sda2 panic=1
PID hash table entries: 512 (order: -1, 2048 bytes)
Dentry cache hash table entries: 16384 (order: 4, 65536 bytes)
Inode-cache hash table entries: 8192 (order: 3, 32768 bytes)
Memory: 128MB = 128MB total
Memory: 124964k/124964k available, 6108k reserved, 0K highmem
Virtual kernel memory layout:
    vector  : 0xffff0000 - 0xffff1000   (   4 kB)
    fixmap  : 0xfff00000 - 0xfffe0000   ( 896 kB)
    DMA     : 0xffc00000 - 0xffe00000   (   2 MB)
    vmalloc : 0xc8800000 - 0xd8000000   ( 248 MB)
    lowmem  : 0xc0000000 - 0xc8000000   ( 128 MB)
    modules : 0xbf000000 - 0xc0000000   (  16 MB)
      .text : 0xc0008000 - 0xc047441c   (4530 kB)
      .init : 0xc0475000 - 0xc0496000   ( 132 kB)
      .data : 0xc0496000 - 0xc04b7340   ( 133 kB)
       .bss : 0xc04b7364 - 0xc04d3798   ( 114 kB)
NR_IRQS:192
VIC @f1140000: id 0x00041190, vendor 0x41
Console: colour dummy device 80x30
console [tty0] enabled
Calibrating delay loop... 506.26 BogoMIPS (lpj=2531328)
pid_max: default: 32768 minimum: 301
Mount-cache hash table entries: 512
CPU: Testing write buffer coherency: ok
devtmpfs: initialized
NET: Registered protocol family 16
Serial: AMBA PL011 UART driver
dev:f1: ttyAMA0 at MMIO 0x101f1000 (irq = 12) is a PL011 rev1
dev:f2: ttyAMA1 at MMIO 0x101f2000 (irq = 13) is a PL011 rev1
dev:f3: ttyAMA2 at MMIO 0x101f3000 (irq = 14) is a PL011 rev1
fpga:09: ttyAMA3 at MMIO 0x10009000 (irq = 38) is a PL011 rev1
PCI core found (slot 11)
pci 0000:00:0c.0: [1000:0012] type 0 class 0x000100
pci 0000:00:0c.0: reg 10: [io  0x0000-0x00ff]
pci 0000:00:0c.0: reg 14: [mem 0x00000000-0x000003ff]
pci 0000:00:0c.0: reg 18: [mem 0x00000000-0x00001fff]
PCI: bus0: Fast back to back transfers disabled
PCI map irq: slot 0, pin 1, devslot 12, irq: 27
pci 0000:00:0c.0: BAR 2: assigned [mem 0x50000000-0x50001fff]
pci 0000:00:0c.0: BAR 2: set to [mem 0x50000000-0x50001fff] (PCI address [0x50000000-0x50001fff])
pci 0000:00:0c.0: BAR 1: assigned [mem 0x50002000-0x500023ff]
pci 0000:00:0c.0: BAR 1: set to [mem 0x50002000-0x500023ff] (PCI address [0x50002000-0x500023ff])
pci 0000:00:0c.0: BAR 0: assigned [io  0x44000000-0x440000ff]
pci 0000:00:0c.0: BAR 0: set to [io  0x44000000-0x440000ff] (PCI address [0x44000000-0x440000ff])
bio: create slab <bio-0> at 0
vgaarb: loaded
SCSI subsystem initialized
Switching to clocksource timer3
NET: Registered protocol family 2
IP route cache hash table entries: 1024 (order: 0, 4096 bytes)
TCP established hash table entries: 4096 (order: 3, 32768 bytes)
TCP bind hash table entries: 4096 (order: 2, 16384 bytes)
TCP: Hash tables configured (established 4096 bind 4096)
TCP reno registered
UDP hash table entries: 256 (order: 0, 4096 bytes)
UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
NET: Registered protocol family 1
RPC: Registered named UNIX socket transport module.
RPC: Registered udp transport module.
RPC: Registered tcp transport module.
RPC: Registered tcp NFSv4.1 backchannel transport module.
PCI: CLS 32 bytes, default 32
NetWinder Floating Point Emulator V0.97 (double precision)
Installing knfsd (copyright (C) 1996 okir@monad.swb.de).
NTFS driver 2.1.30 [Flags: R/W].
JFFS2 version 2.2. (NAND) \xffffffc2\xffffffa9 2001-2006 Red Hat, Inc.
ROMFS MTD (C) 2007 Red Hat, Inc.
fuse init (API version 7.17)
msgmni has been set to 244
Block layer SCSI generic (bsg) driver version 0.4 loaded (major 254)
io scheduler noop registered
io scheduler deadline registered
io scheduler cfq registered (default)
clcd-pl11x dev:20: PL110 rev0 at 0x10120000
clcd-pl11x dev:20: Versatile hardware, VGA display
Console: switching to colour frame buffer device 80x30
brd: module loaded
PCI: enabling device 0000:00:0c.0 (0100 -> 0103)
sym0: <895a> rev 0x0 at pci 0000:00:0c.0 irq 27
sym0: No NVRAM, ID 7, Fast-40, LVD, parity checking
sym0: SCSI BUS has been reset.
scsi0 : sym-2.2.3
sym0: unknown interrupt(s) ignored, ISTAT=0x5 DSTAT=0x80 SIST=0x0
scsi 0:0:0:0: Direct-Access     QEMU     QEMU HARDDISK    1.1. PQ: 0 ANSI: 5
scsi target0:0:0: tagged command queuing enabled, command queue depth 16.
scsi target0:0:0: Beginning Domain Validation
scsi target0:0:0: Domain Validation skipping write tests
scsi target0:0:0: Ending Domain Validation
scsi 0:0:2:0: CD-ROM            QEMU     QEMU CD-ROM      1.1. PQ: 0 ANSI: 5
scsi target0:0:2: tagged command queuing enabled, command queue depth 16.
scsi target0:0:2: Beginning Domain Validation
scsi target0:0:2: Domain Validation skipping write tests
scsi target0:0:2: Ending Domain Validation
sr0: scsi3-mmc drive: 16x/50x cd/rw xa/form2 cdda tray
cdrom: Uniform CD-ROM driver Revision: 3.20
sr 0:0:2:0: Attached scsi CD-ROM sr0
physmap platform flash device: 04000000 at 34000000
physmap-flash.0: Found 1 x32 devices at 0x0 in 32-bit bank. Manufacturer ID 0x000000 Chip ID 0x000000
Intel/Sharp Extended Query Table at 0x0031
Using buffer write method
erase region 0: offset=0x0,size=0x40000,blocks=256
sd 0:0:0:0: [sda] 3788800 512-byte logical blocks: (1.93 GB/1.80 GiB)
sd 0:0:0:0: [sda] Write Protect is off
sd 0:0:0:0: [sda] Mode Sense: 63 00 00 08
sd 0:0:0:0: [sda] Write cache: disabled, read cache: enabled, doesn't support DPO or FUA
smc91x.c: v1.1, sep 22 2004 by Nicolas Pitre <nico@fluxnic.net>
eth0: SMC91C11xFD (rev 1) at c889a000 IRQ 25 [nowait]
eth0: Ethernet addr: 52:54:00:00:00:77
eth0: No PHY found
mousedev: PS/2 mouse device common for all mice
TCP cubic registered
NET: Registered protocol family 17
VFP support v0.3: implementor 41 architecture 1 part 20 variant b rev 4
 sda: sda1 sda2
sd 0:0:0:0: [sda] Attached SCSI disk
input: AT Raw Set 2 keyboard as /devices/fpga:06/serio0/input/input0
input: ImExPS/2 Generic Explorer Mouse as /devices/fpga:07/serio1/input/input1
EXT3-fs (sda2): error: couldn't mount because of unsupported optional features (240)
EXT2-fs (sda2): error: couldn't mount because of unsupported optional features (240)
EXT4-fs (sda2): mounted filesystem with ordered data mode. Opts: (null)
VFS: Mounted root (ext4 filesystem) readonly on device 8:2.
devtmpfs: mounted
Freeing init memory: 132K
udevd[114]: starting version 175
evdev: version magic '3.1.9+ preempt mod_unload modversions ARMv6 ' should be '3.1.9+ mod_unload ARMv6 '
evdev: version magic '3.1.9+ preempt mod_unload modversions ARMv6 ' should be '3.1.9+ mod_unload ARMv6 '
EXT4-fs (sda2): re-mounted. Opts: (null)
snd_page_alloc: version magic '3.1.9+ preempt mod_unload modversions ARMv6 ' should be '3.1.9+ mod_unload ARMv6 '
eth0: link up

Change History

comment:1 Changed 2 years ago by wws

I'm running a similar Qemu installation, but with the default user networking instead of tun/tap.

./opt/bin/qemu-system-arm \

-kernel kernel-qemu \ -cpu arm1136-r2 \ -M versatilepb \ -no-reboot \ -append "root=/dev/sda2 panic=1" \ -hda 2012-07-15-wheezy-raspbian.img

I get the same 0.0 result on (log 1217), or any integer.

Building the kernel gets an error with the standard setting of "FLOAT_ABI = softfp" in "lisp-kernel/linuxarm/float_abi.mk". Changing it to "FLOAT_ABI = hard" makes the build succeed and makes LOG work correctly.

comment:2 Changed 20 months ago by gb

  • Status changed from new to closed
  • Resolution set to notabug

There's enough variance in ARM Linux distributions (which may support the hard-float ABI, the soft-float ABI, or both, and which differ in how this support is provided) that I don't think that we can do much besides making people aware of the issues and requiring them to edit float_abi.mk.

Note: See TracTickets for help on using tickets.