From: Tom R. <tr...@ke...> - 2005-02-23 15:07:35
|
[ Please CC me, I'm not on this list. Thanks ] This fixes a slight issue in testcases/kernel/syscalls/swapon/swapon02.c. It erroniously includes <asm/atomic.h> (looking at ltp-full-20050107 and) if you try and compile it on i386 w/ an empty <linux/autoconf.h>, the testcase will not compile. Signed-off-by: Tom Rini <tr...@ke...> --- a/testcases/kernel/syscalls/swapon/swapon02.c +++ b/testcases/kernel/syscalls/swapon/swapon02.c @@ -84,7 +84,6 @@ #include <sys/stat.h> #include <sys/swap.h> #include <asm/page.h> -#include <asm/atomic.h> #ifdef OLDER_DISTRO_RELEASE #include <linux/swap.h> #endif -- Tom Rini http://gate.crashing.org/~trini/ |
From: Robert W. <ro...@us...> - 2005-02-24 17:43:44
|
Tom, We've come across this problem before. I believe I kept it in b/c some older kernels/distro installations needed it. I've recently retested w/o the include and the tests built and passes, so I'm going to take it back out...and see who screams :-) Thanks, Robbie Williamson Tom Rini <tr...@ke...a shing.org> To Sent by: ltp...@li... ltp-list-admin@li cc sts.sourceforge.n et Subject [LTP] Fix for testcases/kernel/syscalls/swapon/sw 02/23/2005 09:07 apon02.c AM [ Please CC me, I'm not on this list. Thanks ] This fixes a slight issue in testcases/kernel/syscalls/swapon/swapon02.c. It erroniously includes <asm/atomic.h> (looking at ltp-full-20050107 and) if you try and compile it on i386 w/ an empty <linux/autoconf.h>, the testcase will not compile. Signed-off-by: Tom Rini <tr...@ke...> --- a/testcases/kernel/syscalls/swapon/swapon02.c +++ b/testcases/kernel/syscalls/swapon/swapon02.c @@ -84,7 +84,6 @@ #include <sys/stat.h> #include <sys/swap.h> #include <asm/page.h> -#include <asm/atomic.h> #ifdef OLDER_DISTRO_RELEASE #include <linux/swap.h> #endif -- Tom Rini http://gate.crashing.org/~trini/ ------------------------------------------------------- SF email is sponsored by - The IT Product Guide Read honest & candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now. http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click _______________________________________________ Ltp-list mailing list Ltp...@li... https://lists.sourceforge.net/lists/listinfo/ltp-list |
From: Dan K. <da...@ke...> - 2005-02-25 17:42:08
|
Tom wrote: > This fixes a slight issue in testcases/kernel/syscalls/swapon/swapon02.c. > It erroniously includes <asm/atomic.h> (looking at ltp-full-20050107 > and) if you try and compile it on i386 w/ an empty <linux/autoconf.h>, > the testcase will not compile. I didn't think it was legal to compile with empty linux/autoconf.h when using real linux headers... - Dan -- Trying to get a job as a c++ developer? See http://kegel.com/academy/getting-hired.html |
From: Tom R. <tr...@ke...> - 2005-02-25 17:56:25
|
On Fri, Feb 25, 2005 at 08:47:53AM -0800, Dan Kegel wrote: > Tom wrote: > >This fixes a slight issue in testcases/kernel/syscalls/swapon/swapon02.c. > >It erroniously includes <asm/atomic.h> (looking at ltp-full-20050107 > >and) if you try and compile it on i386 w/ an empty <linux/autoconf.h>, > >the testcase will not compile. > > I didn't think it was legal to compile with empty linux/autoconf.h > when using real linux headers... Why wouldn't it be? Especially given the direction things seem to be going in, of saying here's what userland can use and here's what they can't, header-wise. Putting on my MontaVista hat, we've switched to this internally for upcoming stuff, and have seen only a small number of things break (stuff related to <asm-i386/processor.h>, which is the real problem of <asm-i386/atomic.h>) and only 1 thing was 'valid' (MIPS allows for page size to be configured, which is PAGE_SHIFT/etc which seems to be a valid thing to export to userland :)). -- Tom Rini http://gate.crashing.org/~trini/ |
From: David S. M. <da...@da...> - 2005-02-25 19:05:10
|
On Fri, 25 Feb 2005 10:56:03 -0700 Tom Rini <tr...@ke...> wrote: > Putting on my MontaVista hat, we've switched to this internally for > upcoming stuff, and have seen only a small number of things break (stuff > related to <asm-i386/processor.h>, which is the real problem of > <asm-i386/atomic.h>) and only 1 thing was 'valid' (MIPS allows for page > size to be configured, which is PAGE_SHIFT/etc which seems to be a valid > thing to export to userland :)). Precisely for this reason it is not. getpagesize() should be used for things that want to use the current system PAGE_SIZE. |
From: Tom R. <tr...@ke...> - 2005-02-25 19:09:51
|
On Fri, Feb 25, 2005 at 11:04:24AM -0800, David S. Miller wrote: > On Fri, 25 Feb 2005 10:56:03 -0700 > Tom Rini <tr...@ke...> wrote: > > > Putting on my MontaVista hat, we've switched to this internally for > > upcoming stuff, and have seen only a small number of things break (stuff > > related to <asm-i386/processor.h>, which is the real problem of > > <asm-i386/atomic.h>) and only 1 thing was 'valid' (MIPS allows for page > > size to be configured, which is PAGE_SHIFT/etc which seems to be a valid > > thing to export to userland :)). > > Precisely for this reason it is not. getpagesize() should be used > for things that want to use the current system PAGE_SIZE. A quick grep makes it look like only MIPS lets you configure the PAGE_SHIFT (and thus change PAGE_SIZE) and therefore need a non-empty <linux/autoconf.h>. Is there something I'm missing? Or are there other cases I'm not seeing? Thanks. -- Tom Rini http://gate.crashing.org/~trini/ |
From: David S. M. <da...@da...> - 2005-02-25 19:16:00
|
On Fri, 25 Feb 2005 12:09:39 -0700 Tom Rini <tr...@ke...> wrote: > A quick grep makes it look like only MIPS lets you configure the > PAGE_SHIFT (and thus change PAGE_SIZE) and therefore need a non-empty > <linux/autoconf.h>. Is there something I'm missing? Or are there other > cases I'm not seeing? Thanks. IA64 and Sparc64 allow page size to be configurable as well. It is even variable in another sense, in that some binaries can run on multiple kernel variants. For example, 32-bit Sparc binaries can run on sparc32 (which have 8K and 4K page sizes depending upon MMU) and sparc64 (which is 8K and larger, and variable based upon kernel configuration). Referencing PAGE_SIZE will only lead to a non-portable binary that will break in obscure ways. One should always therefore use getpagesize() from libc which was designed to provide this information at run time instead at compile time. |
From: Tom R. <tr...@ke...> - 2005-02-25 19:12:07
|
On Fri, Feb 25, 2005 at 12:09:39PM -0700, Tom Rini wrote: > On Fri, Feb 25, 2005 at 11:04:24AM -0800, David S. Miller wrote: > > On Fri, 25 Feb 2005 10:56:03 -0700 > > Tom Rini <tr...@ke...> wrote: > > > > > Putting on my MontaVista hat, we've switched to this internally for > > > upcoming stuff, and have seen only a small number of things break (stuff > > > related to <asm-i386/processor.h>, which is the real problem of > > > <asm-i386/atomic.h>) and only 1 thing was 'valid' (MIPS allows for page > > > size to be configured, which is PAGE_SHIFT/etc which seems to be a valid > > > thing to export to userland :)). > > > > Precisely for this reason it is not. getpagesize() should be used > > for things that want to use the current system PAGE_SIZE. > > A quick grep makes it look like only MIPS lets you configure the > PAGE_SHIFT (and thus change PAGE_SIZE) and therefore need a non-empty > <linux/autoconf.h>. Is there something I'm missing? Or are there other > cases I'm not seeing? Thanks. Or I'm mis-reading you and you're saying it is valid to have an empty <linux/autoconf.h> because some stuff like PAGE_SIZE can varry and needs to be grabbed at run-time. In which case I need to see why we had to kludge up what we did. -- Tom Rini http://gate.crashing.org/~trini/ |