NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

port-sgimips/53519: aoutboot is broken since old NetBSD release.



>Number:         53519
>Category:       port-sgimips
>Synopsis:       aoutboot is broken since old NetBSD release.
>Confidential:   no
>Severity:       critical
>Priority:       high
>Responsible:    port-sgimips-maintainer
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Mon Aug 13 18:45:00 +0000 2018
>Originator:     Naruaki Etomi
>Release:        NetBSD/sgimips 8.99.21
>Organization:
Japan
>Environment:
NetBSD  8.99.21 NetBSD 8.99.21 (GENERIC32_IP12) #1: Sun Aug 12 14:48:19 UTC 2018  naruaki@xserve:/usr/obj.sgimips/sys/arch/sgimips/compile/GENERIC32_IP2x sgimips

>Description:
Old Sgi machine (Indigo or Indy) don't understand ELF, so we may need an ECOFF binary.
However, "objcopy -O ecoff-bigmips" is broken.
As a result, aoutboot is broken.

# file aoutboot 
aoutboot: MIPSEB ECOFF executable (impure) stripped - version 0.0

>> hinv
                   System: IP22
                Processor: 180 Mhz R5000, with FPU
     Primary I-cache size: 32 Kbytes
     Primary D-cache size: 32 Kbytes
     Secondary cache size: 512 Kbytes
              Memory size: 192 Mbytes
                 Graphics: Indy 24-bit
                SCSI Disk: scsi(0)disk(4)
                    Audio: Iris Audio Processor: version A2 revision 4.1.0
>> 

Option? 5
Command Monitor.  Type "exit" to return to the menu.
>> bootp()aoutboot 
Obtaining aoutboot  from server xserve
49268+5136   
Exception: <vector=UTLB Miss>
Status register: 0x30004803<CU1,CU0,IM7,IM4,IPL=???,MODE=KERNEL,EXL,IE>
Cause register: 0x800c<CE=0,IP8,EXC=WMISS>
Exception PC: 0x9fc3ddac, Exception RA: 0x9fc2a528
exception, bad address: 0x0
Local I/O interrupt register 0: 0x8 <ENET>
Local I/O interrupt register 1: 0x80 <VR/GIO2>
  Saved user regs in hex (&gpda 0xa8740e48, &_regs 0xa8741048):
  arg: a8740000 0 382e3939 c400
  tmp: a8740000 1cc a8743ed8 1410 1410 a87487e0 0 887feca0
  sve: a8740000 3 400000 8000000 16 3f80 0 c000000
  t8 a8740000 t9 0 at 0 v0 0 v1 0 k1 0
  gp a8740000 fp 0 sp 0 ra 0

PANIC: Unexpected exception

>How-To-Repeat:

>Fix:
---------------------------------------------------------------------------------------------

diff -Naru src.orig/sys/arch/sgimips/stand/boot/Makefile src/sys/arch/sgimips/stand/boot/Makefile
--- src.orig/sys/arch/sgimips/stand/boot/Makefile	2011-02-28 04:54:52.000000000 +0000
+++ src/sys/arch/sgimips/stand/boot/Makefile	2018-08-12 05:34:29.870322920 +0000
@@ -12,10 +12,8 @@
 PROG=	aoutboot
 ${PROG}: ip2xboot ip3xboot
 .if ${MACHINE_ARCH} == "mipseb"
-	${OBJCOPY} --impure -O ecoff-bigmips \
-		-R .pdr -R .mdebug.nabi32 -R .mdebug.abi32 \
-		-R .comment -R .ident \
-		ip2xboot ${.TARGET}
+	cp ip2xboot ip2xboot.tmp
+	${ELF2ECOFF} ip2xboot.tmp ${.TARGET}
 .else
 	touch ${.TARGET}
 .endif
@@ -26,6 +24,8 @@
 
 CLEANFILES+=	ip2xboot.map ip3xboot.map
 
+CLEANFILES+=	ip2xboot.tmp
+
 .include "../Makefile.booters"
 
 ip3xboot: ${OBJS} ${LIBS}

---------------------------------------------------------------------------------------------

# file aoutboot 
aoutboot: MIPSEB ECOFF executable (impure) not stripped - version 2.10

>> bootp()aoutboot 
Obtaining aoutboot from server xserve
54400+0+1792 entry: 0x88002000

NetBSD/sgimips 8.99.21 Bootstrap, Revision 1.5 (Sun Aug 12 15:55:30 UTC 2018)


Please set the OSLoadPartition environment variable.
Error freeing load list node.
Unable to execute bootp()aoutboot 


*Tested on Indy and Indigo R4000.



Home | Main Index | Thread Index | Old Index