Date: Sun, 22 Sep 2002 23:29:29 -0700 From: Alfred Perlstein <bright@mu.org> To: Peter Wemm <peter@wemm.org> Cc: cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org Subject: Re: cvs commit: src/sys/alpha/pci tsunamireg.h src/sys/boot/ia64/skiload main.c src/sys/i386/include npx.h src/sys/ia64/include reg.h signal.h src/sys/sys cdefs.h Message-ID: <20020923062929.GI6262@elvis.mu.org> In-Reply-To: <20020923062512.606A32A7D6@canning.wemm.org> References: <20020923061917.GG6262@elvis.mu.org> <20020923062512.606A32A7D6@canning.wemm.org>
next in thread | previous in thread | raw e-mail | index | archive | help
* Peter Wemm <peter@wemm.org> [020922 23:25] wrote: > Alfred Perlstein wrote: > > * Peter Wemm <peter@FreeBSD.org> [020922 22:55] wrote: > > > peter 2002/09/22 22:55:11 PDT > > > > > > Modified files: > > > sys/alpha/pci tsunamireg.h > > > sys/boot/ia64/skiload main.c > > > sys/i386/include npx.h > > > sys/ia64/include reg.h signal.h > > > sys/sys cdefs.h > > > Log: > > > At great personal risk, add a __packed and __aligned(x) define that > > > expand to __attribute__((packed)) and __attribute__((aligned(x))) > > > respectively. Replace the handful of gcc-ism's that use > > > __attribute__((aligned(16))) etc around the kernel with __aligned(16). > > > > > > There are over 400 __attribute__((packed)) to deal with, that can come > > > later. I just want to use __packed in new code rather than add more > > > gcc-ism's. > > > > I really like what you've done, however don't you think that the > > places that do not have __packed/__aligned shouldn't have it defined > > to nothing... therefore you can add: > > > > #ifndef __packed > > #error you must define __packed or bad things will happen > > #endif > > #ifndef __aligned > > #error you must define __aligned or bad things will happen > > #endif > > > > Otherwise people may get compiled but very broken code > > which most likely will be in critical things like device > > drivers. > > I agree, sort of. But we need a lint case because the correct thing there > is to define them to nothing. However, I think we should restrict this to > inside #ifdef _KERNEL where we do control things. > > Otherwise things like bcc or tendra will blow up on a simple > #include <sys/types.h> for a userland application that doesn't use any > of these things. > > Maybe the correct thing is to leave them undefined and let the compiler > cause the compile to blow up if they're used when they shouldn't be? That > would solve the tendra and bcc etc cases. Something like that. :) Can't you just #ifdef LINT #define __packed #define __aligned #endif ? -- -Alfred Perlstein [alfred@freebsd.org] 'Instead of asking why a piece of software is using "1970s technology," start asking why software is ignoring 30 years of accumulated wisdom.' To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe cvs-all" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20020923062929.GI6262>