Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 27 Mar 2000 05:34:46 +0200 (CEST)
From:      assar@stacken.kth.se
To:        FreeBSD-gnats-submit@freebsd.org
Cc:        assar@stacken.kth.se
Subject:   kern/17614: impossible to CURSIG when compiling with optimization
Message-ID:  <200003270334.FAA15545@hunahpu.sics.se>

next in thread | raw e-mail | index | archive | help


>Number:         17614
>Category:       kern
>Synopsis:       impossible to CURSIG when compiling with optimization
>Confidential:   no
>Severity:       serious
>Priority:       high
>Responsible:    freebsd-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Sun Mar 26 19:40:01 PST 2000
>Closed-Date:
>Last-Modified:
>Originator:     Assar
>Release:        FreeBSD 5.0-CURRENT i386
>Organization:
none
>Environment:

5.0-current with sys/signalvar.h 1.34

>Description:

It's not possible to build a KLD without optimization if it uses the
CURSIG macro since this expand to a call to an `extern inline' function.

>How-To-Repeat:

write code that calls CURSIG
compile it without -O
kldload it

>Fix:

make the function `static __inline' instead of `extern __inline'

--- signalvar.h.orig	Mon Mar 27 05:30:33 2000
+++ signalvar.h	Mon Mar 27 05:33:50 2000
@@ -209,7 +209,6 @@
 void	sigexit __P((struct proc *p, int signum));
 void	siginit __P((struct proc *p));
 void	trapsignal __P((struct proc *p, int sig, u_long code));
-int	__cursig __P((struct proc *p));
 
 /*
  * Machine-dependent functions:
@@ -226,7 +225,7 @@
  * process, 0 if none.  If there is a pending stop signal with default
  * action, the process stops in issignal().
  */
-extern __inline int __cursig(struct proc *p)
+static __inline int __cursig(struct proc *p)
 {
 	sigset_t tmpset;
 

>Release-Note:
>Audit-Trail:
>Unformatted:


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-bugs" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200003270334.FAA15545>