From owner-freebsd-current@FreeBSD.ORG Fri Jun 4 05:58:49 2004 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 424CB16A4CE for ; Fri, 4 Jun 2004 05:58:49 -0700 (PDT) Received: from critter.freebsd.dk (critter.freebsd.dk [212.242.86.163]) by mx1.FreeBSD.org (Postfix) with ESMTP id 630D143D2D for ; Fri, 4 Jun 2004 05:58:48 -0700 (PDT) (envelope-from phk@phk.freebsd.dk) Received: from critter.freebsd.dk (localhost [127.0.0.1]) by critter.freebsd.dk (8.12.11/8.12.11) with ESMTP id i54CwJ9j017037 for ; Fri, 4 Jun 2004 14:58:20 +0200 (CEST) (envelope-from phk@phk.freebsd.dk) To: current@freebsd.org From: Poul-Henning Kamp Date: Fri, 04 Jun 2004 14:58:19 +0200 Message-ID: <17036.1086353899@critter.freebsd.dk> Subject: [REVIEW] panic file+line backout patch X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 04 Jun 2004 12:58:49 -0000 Could the platform people please check that this patch does the right thing in the assembler code ? Poul-Henning Index: alpha/alpha/support.s =================================================================== RCS file: /home/ncvs/src/sys/alpha/alpha/support.s,v retrieving revision 1.16 diff -u -r1.16 support.s --- alpha/alpha/support.s 19 Jan 2004 21:27:10 -0000 1.16 +++ alpha/alpha/support.s 4 Jun 2004 12:55:08 -0000 @@ -680,10 +680,8 @@ longjmp_botch: lda a0, longjmp_botchmsg - mov 0, a1 - mov 0, a2 - mov ra, a3 - CALL(__panic) + mov ra, a1 + CALL(panic) call_pal PAL_bugchk .data Index: arm/arm/exception.S =================================================================== RCS file: /home/ncvs/src/sys/arm/arm/exception.S,v retrieving revision 1.1 diff -u -r1.1 exception.S --- arm/arm/exception.S 14 May 2004 11:46:42 -0000 1.1 +++ arm/arm/exception.S 4 Jun 2004 12:56:31 -0000 @@ -65,14 +65,10 @@ */ ASENTRY_NP(reset_entry) adr r0, Lreset_panicmsg - adr r1, Lfile - mov r2, #__LINE__ - bl _C_LABEL(__panic) + bl _C_LABEL(panic) /* NOTREACHED */ Lreset_panicmsg: .asciz "Reset vector called, LR = 0x%08x" -Lfile: - .asciz __FILE__ .balign 4 /* @@ -122,12 +118,7 @@ .text abortprefetch: adr r0, abortprefetchmsg - adr r1, filee - mov r2, #__LINE__ - b _C_LABEL(__panic) - -filee: - .asciz __FILE__ + b _C_LABEL(panic) abortprefetchmsg: .asciz "abortprefetch" @@ -164,14 +155,10 @@ .text abortdata: adr r0, abortdatamsg - adr r1, file - mov r2, #__LINE__ - b _C_LABEL(__panic) + b _C_LABEL(panic) abortdatamsg: .asciz "abortdata" -file: - .asciz __FILE__ .align 0 /* Index: arm/arm/in_cksum_arm.S =================================================================== RCS file: /home/ncvs/src/sys/arm/arm/in_cksum_arm.S,v retrieving revision 1.1 diff -u -r1.1 in_cksum_arm.S --- arm/arm/in_cksum_arm.S 14 May 2004 11:46:42 -0000 1.1 +++ arm/arm/in_cksum_arm.S 4 Jun 2004 12:55:08 -0000 @@ -221,11 +221,7 @@ .Lin4_cksum_whoops: adr r0, .Lin4_cksum_whoops_str - adr r1, .LFile - mov r2, #__LINE__ - bl _C_LABEL(__panic) -.LFile: - .asciz __FILE__ + bl _C_LABEL(panic) .Lin4_cksum_whoops_str: .asciz "in4_cksum: out of mbufs\n" .align 5 Index: arm/arm/locore.S =================================================================== RCS file: /home/ncvs/src/sys/arm/arm/locore.S,v retrieving revision 1.1 diff -u -r1.1 locore.S --- arm/arm/locore.S 14 May 2004 11:46:42 -0000 1.1 +++ arm/arm/locore.S 4 Jun 2004 12:55:08 -0000 @@ -153,9 +153,7 @@ bl _C_LABEL(mi_startup) /* call mi_startup()! */ adr r0, .Lmainreturned - adr r1, .LFile - mov r2, #__LINE__ - b _C_LABEL(__panic) + b _C_LABEL(anic) /* NOTEACHED */ #ifdef STARTUP_PAGETABLE_ADDR #define MMU_INIT(va,pa,n_sec,attr) \ @@ -181,8 +179,6 @@ .word _end .word svcstk + INIT_ARM_STACK_SIZE -.LFile: - .asciz __FILE__ .Lmainreturned: .asciz "main() returned" .align 0 Index: i386/i386/swtch.s =================================================================== RCS file: /home/ncvs/src/sys/i386/i386/swtch.s,v retrieving revision 1.145 diff -u -r1.145 swtch.s --- i386/i386/swtch.s 7 Apr 2004 20:46:04 -0000 1.145 +++ i386/i386/swtch.s 4 Jun 2004 12:56:05 -0000 @@ -299,26 +299,20 @@ #ifdef INVARIANTS badsw1: pushal - pushl $0 - pushl $0 pushl $sw0_1 - call __panic + call panic sw0_1: .asciz "cpu_throw: no newthread supplied" badsw2: pushal - pushl $0 - pushl $0 pushl $sw0_2 - call __panic + call panic sw0_2: .asciz "cpu_switch: no curthread supplied" badsw3: pushal - pushl $0 - pushl $0 pushl $sw0_3 - call __panic + call panic sw0_3: .asciz "cpu_switch: no newthread supplied" #endif Index: kern/kern_shutdown.c =================================================================== RCS file: /home/ncvs/src/sys/kern/kern_shutdown.c,v retrieving revision 1.149 diff -u -r1.149 kern_shutdown.c --- kern/kern_shutdown.c 5 Apr 2004 21:03:35 -0000 1.149 +++ kern/kern_shutdown.c 4 Jun 2004 12:55:08 -0000 @@ -474,7 +474,7 @@ * MPSAFE */ void -__panic(const char *file, int line, const char *fmt, ...) +panic(const char *fmt, ...) { struct thread *td = curthread; int bootopt, newpanic; @@ -508,11 +508,11 @@ if (newpanic) { (void)vsnprintf(buf, sizeof(buf), fmt, ap); panicstr = buf; - printf("panic: %s\nat line %d in file %s\n", buf, line, file); + printf("panic: %s\n", buf); } else { printf("panic: "); vprintf(fmt, ap); - printf("\nat line %d in file %s", line, file); + printf("\n"); } va_end(ap); #ifdef SMP Index: sparc64/include/asmacros.h =================================================================== RCS file: /home/ncvs/src/sys/sparc64/include/asmacros.h,v retrieving revision 1.18 diff -u -r1.18 asmacros.h --- sparc64/include/asmacros.h 27 Jan 2004 15:02:18 -0000 1.18 +++ sparc64/include/asmacros.h 4 Jun 2004 12:55:08 -0000 @@ -101,10 +101,8 @@ .sect .rodata ; \ 9: .asciz msg ; \ .previous ; \ - SET(9b, r1, %o2) ; \ - clr %o1 ; \ - clr %o0 ; \ - call __panic ; \ + SET(9b, r1, %o0) ; \ + call panic ; \ nop #ifdef INVARIANTS Index: sys/systm.h =================================================================== RCS file: /home/ncvs/src/sys/sys/systm.h,v retrieving revision 1.205 diff -u -r1.205 systm.h --- sys/systm.h 7 Apr 2004 04:19:49 -0000 1.205 +++ sys/systm.h 4 Jun 2004 12:55:08 -0000 @@ -132,13 +132,11 @@ void *phashinit(int count, struct malloc_type *type, u_long *nentries); #ifdef RESTARTABLE_PANICS -void __panic(const char *file, int line, const char *, ...) __printflike(3, 4); +void panic(const char *, ...) __printflike(1, 2); #else -void __panic(const char *file, int line, const char *, ...) __dead2 __printflike(3, 4); +void panic(const char *, ...) __dead2 __printflike(1, 2); #endif -#define panic(...) __panic(__FILE__, __LINE__, __VA_ARGS__) - void backtrace(void); void cpu_boot(int); void cpu_rootconf(void); -- Poul-Henning Kamp | UNIX since Zilog Zeus 3.20 phk@FreeBSD.ORG | TCP/IP since RFC 956 FreeBSD committer | BSD since 4.3-tahoe Never attribute to malice what can adequately be explained by incompetence.