Date: Wed, 17 Oct 2007 20:27:58 +0200 From: Ed Schouten <ed@fxq.nl> To: Abdullah Ibn Hamad Al-Marri <wearabnet@yahoo.ca> Cc: FreeBSD Current <freebsd-current@freebsd.org> Subject: Re: PCC and FreeBSD in the future? Message-ID: <20071017182758.GU5411@hoeg.nl> In-Reply-To: <20071017173941.GT5411@hoeg.nl> References: <132802.25776.qm@web33711.mail.mud.yahoo.com> <20071017173941.GT5411@hoeg.nl>
next in thread | previous in thread | raw e-mail | index | archive | help
--a8kRBn33jkh2Wtq5 Content-Type: multipart/mixed; boundary="8jcWiON1L7A8HfS7" Content-Disposition: inline --8jcWiON1L7A8HfS7 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable * Ed Schouten <ed@fxq.nl> wrote: > One of the major obstacles for PCC is that it didn't support a way to > pack structures in a comfortable way. Most of the FreeBSD userland just > built with it. Most of the stuff that didn't compile properly, was > related to kernel headers, using __attribute__ stuff, instead of the > cdef'd stuff, like __packed. It seems things have changed in the mean > time. Indeed; PCC now supports _Pragma("packed"). I've attached a patch for sys/cdefs.h that should make at least src/bin compile like it should. The patch is in no way meant to be complete. --=20 Ed Schouten <ed@fxq.nl> WWW: http://g-rave.nl/ --8jcWiON1L7A8HfS7 Content-Type: text/plain; charset=us-ascii Content-Disposition: attachment; filename=pcc-cdefs Content-Transfer-Encoding: quoted-printable --- src/sys/sys/cdefs.h 2006-09-21 03:38:58.000000000 +0200 +++ src/sys/sys/cdefs.h 2007-10-17 19:56:42.000000000 +0200 @@ -111,7 +111,7 @@ /* * Macro to test if we're using a specific version of gcc or later. */ -#if defined(__GNUC__) && !defined(__INTEL_COMPILER) +#if defined(__GNUC__) && !defined(__INTEL_COMPILER) && !defined(__PCC__) #define __GNUC_PREREQ__(ma, mi) \ (__GNUC__ > (ma) || __GNUC__ =3D=3D (ma) && __GNUC_MINOR__ >=3D (mi)) #else @@ -140,7 +140,7 @@ #define __const const /* define reserved names to standard */ #define __signed signed #define __volatile volatile -#if defined(__cplusplus) +#if defined(__cplusplus) || defined(__PCC__) #define __inline inline /* convert to C++ keyword */ #else #if !(defined(__CC_SUPPORTS___INLINE)) @@ -221,6 +221,15 @@ #define __aligned(x) __attribute__((__aligned__(x))) #define __section(x) __attribute__((__section__(x))) #endif +#if defined(__PCC__) +#define __dead2 +#define __pure2 +#define __unused +#define __used +#define __packed _Pragma("packed") +#define __aligned(x) +#define __section(x) +#endif #endif =20 #if __GNUC_PREREQ__(2, 96) --8jcWiON1L7A8HfS7-- --a8kRBn33jkh2Wtq5 Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.7 (FreeBSD) iD8DBQFHFlQu52SDGA2eCwURAmBpAJ4/tBT/yF3Y9s0XPp8PtIUKiYYe8gCeIHMH 9XE2KZ7oENzxyhwatUFGBHY= =oGhs -----END PGP SIGNATURE----- --a8kRBn33jkh2Wtq5--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20071017182758.GU5411>