asm/resource.h
Hello friends,
Attached is a patch against 2.4.0-test10 that changes asm/resource.h to define RLIM_INFINITY insite the #ifdef __KERNEL__ on all architectures; previously, this was inconsistent between architecures. This breaks compilation with -Werror at least on i386 since <bits/resource.h> includes <asm/resource.h>, at least on glibc-2.1.2.
I have only been able to test this on i386 and glibc 2.1.2. If there are any places where this change is *not* appropriate, now would be a good time to holler...
-hpa
Signature · 3 lines
<[email protected]> at work, <[email protected]> in private! "Unix gives you enough rope to shoot yourself in the foot." http://www.zytor.com/~hpa/puzzle.txt
include/asm/resource.h +2 -2
@@ -19,13 +19,13 @@#define RLIM_NLIMITS 11 +#ifdef __KERNEL__ +/* * SuS says limits have to be unsigned. * Which makes a ton more sense anyway. */ #define RLIM_INFINITY (~0UL) - -#ifdef __KERNEL__#define INIT_RLIMITS \ { \
include/asm-alpha/resource.h +2 -2
@@ -19,14 +19,14 @@#define RLIM_NLIMITS 11 +#ifdef __KERNEL__ +/* * SuS says limits have to be unsigned. Fine, it's unsigned, but * we retain the old value for compatibility, especially with DU. * When you run into the 2^63 barrier, you call me. */ #define RLIM_INFINITY 0x7ffffffffffffffful - -#ifdef __KERNEL__#define INIT_RLIMITS \ { \
include/asm-i386/resource.h +2 -2
@@ -19,13 +19,13 @@#define RLIM_NLIMITS 11 +#ifdef __KERNEL__ +/* * SuS says limits have to be unsigned. * Which makes a ton more sense anyway. */ #define RLIM_INFINITY (~0UL) - -#ifdef __KERNEL__#define INIT_RLIMITS \ { \
include/asm-ia64/resource.h +2 -2
@@ -22,13 +22,13 @@#define RLIM_NLIMITS 11 +# ifdef __KERNEL__ +/* * SuS says limits have to be unsigned. * Which makes a ton more sense anyway. */ #define RLIM_INFINITY (~0UL) - -# ifdef __KERNEL__#define INIT_RLIMITS \ { \
include/asm-m68k/resource.h +2 -2
@@ -19,13 +19,13 @@#define RLIM_NLIMITS 11 +#ifdef __KERNEL__ +/* * SuS says limits have to be unsigned. * Which makes a ton more sense anyway. */ #define RLIM_INFINITY (~0UL) - -#ifdef __KERNEL__#define INIT_RLIMITS \ { \
include/asm-mips/resource.h +2 -2
@@ -26,13 +26,13 @@#define RLIM_NLIMITS 11/* Number of limit flavors. */ +#ifdef __KERNEL__ +/* * SuS says limits have to be unsigned. * Which makes a ton more sense anyway. */ #define RLIM_INFINITY 0x7fffffffUL - -#ifdef __KERNEL__#define INIT_RLIMITS \ { \
include/asm-mips64/resource.h +2 -2
@@ -27,13 +27,13 @@#define RLIM_NLIMITS 11/* Number of limit flavors. */ +#ifdef __KERNEL__ +/* * SuS says limits have to be unsigned. * Which makes a ton more sense anyway. */ #define RLIM_INFINITY (~0UL) - -#ifdef __KERNEL__#define INIT_RLIMITS \ { \
include/asm-s390/resource.h +2 -2
@@ -27,13 +27,13 @@#define RLIM_NLIMITS 11 +#ifdef __KERNEL__ +/* * SuS says limits have to be unsigned. * Which makes a ton more sense anyway. */ #define RLIM_INFINITY (~0UL) - -#ifdef __KERNEL__#define INIT_RLIMITS \ { \
include/asm-sparc/resource.h +2 -1
@@ -25,6 +25,8 @@#define RLIM_NLIMITS 11 +#ifdef __KERNEL__ +/* * SuS says limits have to be unsigned. * We make this unsigned, but keep the
@@ -32,7 +34,6 @@*/ #define RLIM_INFINITY 0x7fffffff -#ifdef __KERNEL__#define INIT_RLIMITS \ { \ {RLIM_INFINITY, RLIM_INFINITY}, \
include/asm-sparc64/resource.h +2 -1
@@ -25,13 +25,14 @@#define RLIM_NLIMITS 11 +#ifdef __KERNEL__ +/* * SuS says limits have to be unsigned. * Which makes a ton more sense anyway. */ #define RLIM_INFINITY (~0UL) -#ifdef __KERNEL__#define INIT_RLIMITS \ { \ {RLIM_INFINITY, RLIM_INFINITY}, \
hpa,
Is this what is causing the lockup problems on 2.4.0-pre-10 with PPro, or something else. Looks like something else.
Jeff
Quoted 203 lines · H. Peter Anvin
Hello friends,
Attached is a patch against 2.4.0-test10 that changes
asm/resource.hto defineRLIM_INFINITYinsite the #ifdef__KERNEL__on all architectures; previously, this was inconsistent between architecures. This breaks compilation with -Werror at least on i386 since <bits/resource.h> includes <asm/resource.h>, at least on glibc-2.1.2.I have only been able to test this on i386 and glibc 2.1.2. If there are any places where this change is *not* appropriate, now would be a good time to holler...
-hpa
--
<[email protected]> at work, <[email protected]> in private! "Unix gives you enough rope to shoot yourself in the foot."
http://www.zytor.com/~hpa/puzzle.txt------------------------------------------------------------------------
diff -urlinux-2.4.0-test10-orig/include/asm/resource.hlinux-2.4.0-test10/include/asm/resource.hinclude/asm/resource.h Fri Nov 3 13:11:12 2000 renamed from include/asm/resource.h Fri Sep 22 14:21:19 2000 +2
-2@@ -19,13 +19,13 @@ #define RLIM_NLIMITS 11 +#ifdef __KERNEL__ + /* * SuS says limits have to be unsigned. * Which makes a ton more sense anyway. */ #define RLIM_INFINITY (~0UL) - -#ifdef __KERNEL__ #define INIT_RLIMITS \ { \diff -ur
linux-2.4.0-test10-orig/include/asm-alpha/resource.hlinux-2.4.0-test10/include/asm-alpha/resource.hinclude/asm-alpha/resource.h Fri Nov 3 13:11:30 2000 renamed from include/asm-alpha/resource.h Wed Sep 27 13:39:23 2000 +2
-2@@ -19,14 +19,14 @@ #define RLIM_NLIMITS 11 +#ifdef __KERNEL__ + /* * SuS says limits have to be unsigned. Fine, it's unsigned, but * we retain the old value for compatibility, especially with DU. * When you run into the 2^63 barrier, you call me. */ #define RLIM_INFINITY 0x7ffffffffffffffful - -#ifdef __KERNEL__ #define INIT_RLIMITS \ { \diff -ur
linux-2.4.0-test10-orig/include/asm-i386/resource.hlinux-2.4.0-test10/include/asm-i386/resource.hinclude/asm-i386/resource.h Fri Nov 3 13:11:12 2000 renamed from include/asm-i386/resource.h Fri Sep 22 14:21:19 2000 +2
-2@@ -19,13 +19,13 @@ #define RLIM_NLIMITS 11 +#ifdef __KERNEL__ + /* * SuS says limits have to be unsigned. * Which makes a ton more sense anyway. */ #define RLIM_INFINITY (~0UL) - -#ifdef __KERNEL__ #define INIT_RLIMITS \ { \diff -ur
linux-2.4.0-test10-orig/include/asm-ia64/resource.hlinux-2.4.0-test10/include/asm-ia64/resource.hinclude/asm-ia64/resource.h Fri Nov 3 13:11:04 2000 renamed from include/asm-ia64/resource.h Fri Sep 22 14:21:19 2000 +2
-2@@ -22,13 +22,13 @@ #define RLIM_NLIMITS 11 +# ifdef __KERNEL__ + /* * SuS says limits have to be unsigned. * Which makes a ton more sense anyway. */ #define RLIM_INFINITY (~0UL) - -# ifdef __KERNEL__ #define INIT_RLIMITS \ { \diff -ur
linux-2.4.0-test10-orig/include/asm-m68k/resource.hlinux-2.4.0-test10/include/asm-m68k/resource.hinclude/asm-m68k/resource.h Fri Nov 3 13:10:54 2000 renamed from include/asm-m68k/resource.h Fri Sep 22 14:21:20 2000 +2
-2@@ -19,13 +19,13 @@ #define RLIM_NLIMITS 11 +#ifdef __KERNEL__ + /* * SuS says limits have to be unsigned. * Which makes a ton more sense anyway. */ #define RLIM_INFINITY (~0UL) - -#ifdef __KERNEL__ #define INIT_RLIMITS \ { \diff -ur
linux-2.4.0-test10-orig/include/asm-mips/resource.hlinux-2.4.0-test10/include/asm-mips/resource.hinclude/asm-mips/resource.h Fri Nov 3 13:10:44 2000 renamed from include/asm-mips/resource.h Fri Sep 22 14:21:20 2000 +2
-2@@ -26,13 +26,13 @@ #define RLIM_NLIMITS 11 /* Number of limit flavors. */ +#ifdef __KERNEL__ + /* * SuS says limits have to be unsigned. * Which makes a ton more sense anyway. */ #define RLIM_INFINITY 0x7fffffffUL - -#ifdef __KERNEL__ #define INIT_RLIMITS \ { \diff -ur
linux-2.4.0-test10-orig/include/asm-mips64/resource.hlinux-2.4.0-test10/include/asm-mips64/resource.hinclude/asm-mips64/resource.h Fri Nov 3 13:10:30 2000 renamed from include/asm-mips64/resource.h Fri Sep 22 14:21:20 2000 +2
-2@@ -27,13 +27,13 @@ #define RLIM_NLIMITS 11 /* Number of limit flavors. */ +#ifdef __KERNEL__ + /* * SuS says limits have to be unsigned. * Which makes a ton more sense anyway. */ #define RLIM_INFINITY (~0UL) - -#ifdef __KERNEL__ #define INIT_RLIMITS \ { \diff -ur
linux-2.4.0-test10-orig/include/asm-s390/resource.hlinux-2.4.0-test10/include/asm-s390/resource.hinclude/asm-s390/resource.h Fri Nov 3 13:10:13 2000 renamed from include/asm-s390/resource.h Fri Sep 22 14:21:21 2000 +2
-2@@ -27,13 +27,13 @@ #define RLIM_NLIMITS 11 +#ifdef __KERNEL__ + /* * SuS says limits have to be unsigned. * Which makes a ton more sense anyway. */ #define RLIM_INFINITY (~0UL) - -#ifdef __KERNEL__ #define INIT_RLIMITS \ { \diff -ur
linux-2.4.0-test10-orig/include/asm-sparc/resource.hlinux-2.4.0-test10/include/asm-sparc/resource.hinclude/asm-sparc/resource.h Fri Nov 3 13:09:46 2000 renamed from include/asm-sparc/resource.h Tue Oct 10 10:33:52 2000 +2
-1@@ -25,6 +25,8 @@ #define RLIM_NLIMITS 11 +#ifdef __KERNEL__ + /* * SuS says limits have to be unsigned. * We make this unsigned, but keep the@@ -32,7 +34,6 @@ */ #define RLIM_INFINITY 0x7fffffff -#ifdef __KERNEL__ #define INIT_RLIMITS \ { \ {RLIM_INFINITY, RLIM_INFINITY}, \diff -ur
linux-2.4.0-test10-orig/include/asm-sparc64/resource.hlinux-2.4.0-test10/include/asm-sparc64/resource.hinclude/asm-sparc64/resource.h Fri Nov 3 13:09:29 2000 renamed from include/asm-sparc64/resource.h Tue Oct 10 10:33:52 2000 +2
-0@@ -25,13 +25,14 @@ #define RLIM_NLIMITS 11 +#ifdef __KERNEL__ +
include/asm-sparc64/resource.h Fri Nov 3 13:09:29 2000 line 38
Quoted 10 lines
include/asm-sparc64/resource.h Fri Nov 3 13:09:29 2000 renamed from include/asm-sparc64/resource.h Tue Oct 10 10:33:52 2000 +0
-1/* * SuS says limits have to be unsigned. * Which makes a ton more sense anyway. */ #define RLIM_INFINITY (~0UL) -#ifdef __KERNEL__ #define INIT_RLIMITS \ { \ {RLIM_INFINITY, RLIM_INFINITY}, \
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected]
Please read the FAQ at http://www.tux.org/lkml/
[Jeff Merkey]
Quoted 2 lines
Is this what is causing the lockup problems on 2.4.0-pre-10 with PPro, or something else. Looks like something else.
Yeah, it does, doesn't it. If this particular patch cured a kernel-side lockup I would be very surprised. Because the only effect this patch is *supposed* to have is the visibility of certain kernel header code when compiling userspace programs.
HPA, for what it's worth, which isn't much, I think your patch is spot-on..
Peter
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected]
Please read the FAQ at http://www.tux.org/lkml/
Quoted 5 lines · Peter Samuelson
[Jeff Merkey]
Quoted 2 lines
Is this what is causing the lockup problems on 2.4.0-pre-10 with PPro, or something else. Looks like something else.
Quoted 7 lines
Yeah, it does, doesn't it. If this particular patch cured a kernel-side lockup I would be very surprised. Because the only effect this patch is *supposed* to have is the visibility of certain kernel header code when compiling userspace programs.
HPA, for what it's worth, which isn't much, I think your patch is spot-on..
I got a little further with the lock up problem, and it is related to MPS reporting a 2nd processor being present in some PPro systems when in fact only one CPU is really installed (but MPS is reporting default table entry 6 with a second CPU as present). What seems to be different here is that on this system, NT and NetWare both timeout on attempts to activate the non-existent CPU, while 2.4 hard hangs after sending a STARTUP_IPI command. hpa does some work on the APIC code I've noticed, so I thought I'd ask him about it.
Jeff
Quoted 2 lines
Peter
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected]
Please read the FAQ at http://www.tux.org/lkml/
[Jeff V. Merkey <[email protected]>]
Quoted 4 lines
I got a little further with the lock up problem, and it is related to MPS reporting a 2nd processor being present in some PPro systems when in fact only one CPU is really installed (but MPS is reporting default table entry 6 with a second CPU as present).
Wow, that's a lousy BIOS. You mean it actually *can't tell* if there's a CPU in the second socket or not?
I remember a couple years ago Linus remarked that *every time* Linux tried to rely on a BIOS feature, there'd be at least one bug report traceable to a buggy BIOS somewhere. Proven once again.... (:
Peter
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected]
Please read the FAQ at http://www.tux.org/lkml/