Subject: Missing some floating point function?
To: None <port-cobalt@netbsd.org>
From: Markus W Kilbinger <kilbi@rad.rwth-aachen.de>
List: port-cobalt
Date: 10/16/2004 12:27:28
Hi!

I just tried to compile perl58 via pkgsrc on my qube 2 (running
-current kernel and userland):

  ===> Checking for vulnerabilities in perl-5.8.4nb1
  => Checksum OK for perl-5.8.4.tar.bz2.
  ===> Extracting for perl-5.8.4nb1
  ===> Patching for perl-5.8.4nb1
  ===> Applying pkgsrc patches for perl-5.8.4nb1
  [...]
  You have to use setpgrp(pid,pgrp) instead of setpgrp().
  bzero() found.
  You have void (*signal())().
  Checking whether your C compiler can cast large floats to int32.

This last test panics the kernel reproduceablely:

  trap: TLB miss (load or instr. fetch) in kernel mode
  status=0x20007c03, cause=0x8, epc=0x8019514c, vaddr=0x4
  pid=8414 cmd=try usp=0x7fffd068 ksp=0xc870be00
  Stopped in pid 8414.1 (try) at  netbsd:trapsignal+0x2c: lw      v0,0(a1)
  db> bt
  trapsignal+2c (8e65fcf8,4,4620010d,80243800) ra 800016ac sz 64
  MachFPTrap+cc (8e65fcf8,4,4620010d,80243800) ra 8023b3a4 sz 24
  8023acc4+6e0 (8e65fcf8,4,4620010d,80243800) ra 0 sz 0
  User-level: pid 8414.1
  db> ps
   PID           PPID     PGRP        UID S   FLAGS LWPS          COMMAND    WAIT
  >8414         25684     9563          0 2  0x4002    1              try

Is there a fp function/handling missing (kernel, libm?)? Is this a gcc
problem/bug?

Any hint appreciated,

Markus.