Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 14 Jun 2003 17:36:33 +0200
From:      Dag-Erling Smorgrav <des@ofug.org>
To:        "Matt" <matt@xtaz.co.uk>
Cc:        current@freebsd.org
Subject:   Re: i386 Buildworld Failure alloca cdefs.h
Message-ID:  <xzpwufo4qny.fsf@flood.ping.uio.no>
In-Reply-To: <xzp65n866z8.fsf@flood.ping.uio.no> (Dag-Erling Smorgrav's message of "Sat, 14 Jun 2003 16:58:51 %2B0200")
References:  <53806.192.168.1.10.1055589910.squirrel@webmail.xtaz.co.uk> <xzp65n866z8.fsf@flood.ping.uio.no>

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

Dag-Erling Smorgrav <des@ofug.org> writes:
> The #error line he added is incorrect as it breaks compliant
> applications which do not use the nonstandard and nonportable
> alloca(3).

The attached patch *may* fix this.  It is currently undergoing
testing.

DES
-- 
Dag-Erling Smorgrav - des@ofug.org


--=-=-=
Content-Type: text/x-patch
Content-Disposition: attachment; filename=alloca.diff

Index: sys/sys/cdefs.h
===================================================================
RCS file: /home/ncvs/src/sys/sys/cdefs.h,v
retrieving revision 1.70
diff -u -r1.70 cdefs.h
--- sys/sys/cdefs.h	14 Jun 2003 06:01:35 -0000	1.70
+++ sys/sys/cdefs.h	14 Jun 2003 15:04:29 -0000
@@ -142,11 +142,6 @@
 #define	__section(x)	__attribute__((__section__(x)))
 #endif
 #endif
-#ifdef __GNUC__
-#define	alloca(sz)	__builtin_alloca(sz)
-#else
-#error FreeBSD alloca support needed for this compiler
-#endif
 
 /* XXX: should use `#if __STDC_VERSION__ < 199901'. */
 #if !(__GNUC__ == 2 && __GNUC_MINOR__ >= 7 || __GNUC__ >= 3)
Index: include/stdlib.h
===================================================================
RCS file: /home/ncvs/src/include/stdlib.h,v
retrieving revision 1.48
diff -u -r1.48 stdlib.h
--- include/stdlib.h	12 Mar 2003 20:29:58 -0000	1.48
+++ include/stdlib.h	14 Jun 2003 15:06:02 -0000
@@ -222,7 +222,12 @@
 extern void (*_malloc_message)(const char *, const char *, const char *,
 	    const char *);
 
-void	*alloca(size_t);		/* built-in for gcc */
+#ifdef __GNUC__
+#define alloca(sz)	__builtin_alloca(sz)
+#else
+void	*alloca(size_t);
+#endif
+
 __uint32_t
 	 arc4random(void);
 void	 arc4random_addrandom(unsigned char *dat, int datlen);

--=-=-=--



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