ppc bug.h namespace pollution
PATCH 1/1 ppc bug.h namespace pollution
DATA_TYPE is really not a good thing to put into header that
gets included all over the tree...
----
include/asm-powerpc/bug.h +4 -4
@@ -15,12 +15,12 @@#define BUG_TABLE_ENTRY (label, line, file, func) \ ".llong " #label "\n .long " #line "\n .llong " #file ", " #func "\n"#define TRAP_OP (ra, rb) "1: tdnei " #ra ", " #rb "\n" -#define DATA_TYPE long long +#define BUG_DATA_TYPE long long#else #define BUG_TABLE_ENTRY (label, line, file, func) \ ".long " #label ", " #line ", " #file ", " #func "\n"#define TRAP_OP (ra, rb) "1: twnei " #ra ", " #rb "\n" -#define DATA_TYPE int +#define BUG_DATA_TYPE int#endif /* __powerpc64__ */ struct bug_entry {
@@ -55,7 +55,7 @@".section __bug_table,\"a\"\n\t" \ BUG_TABLE_ENTRY(1b,%1,%2,%3) \ ".previous" \ - : : "r" ((DATA_TYPE)(x)), "i" (__LINE__), \ + : : "r" ((BUG_DATA_TYPE)(x)), "i" (__LINE__), \ "i" (__FILE__), "i" (__FUNCTION__)); \ }while (0 )
@@ -65,7 +65,7 @@".section __bug_table,\"a\"\n\t" \ BUG_TABLE_ENTRY(1b,%1,%2,%3) \ ".previous" \ - : : "r" ((DATA_TYPE)(x)), \ + : : "r" ((BUG_DATA_TYPE)(x)), \"i" (__LINE__ +BUG_WARNING_TRAP ), \ "i" (__FILE__), "i" (__FUNCTION__)); \ }while (0 )
Quoted 2 lines · Al Viro
DATA_TYPEis really not a good thing to put into header that
gets included all over the tree...
Very true. However, I don't see any reason why the cast shouldn't just be (long) on both 32-bit and 64-bit, so we can get rid of that define altogether.
Paul.
Quoted 8 lines · Paul Mackerras
Quoted 2 lines · Al Viro
DATA_TYPEis really not a good thing to put into header that
gets included all over the tree...Very true. However, I don't see any reason why the cast shouldn't just be (long) on both 32-bit and 64-bit, so we can get rid of that define altogether.
Should be OK...
----
include/asm-powerpc/bug.h +2 -4
@@ -15,12 +15,10 @@#define BUG_TABLE_ENTRY (label, line, file, func) \ ".llong " #label "\n .long " #line "\n .llong " #file ", " #func "\n"#define TRAP_OP (ra, rb) "1: tdnei " #ra ", " #rb "\n" -#define DATA_TYPE long long#else #define BUG_TABLE_ENTRY (label, line, file, func) \ ".long " #label ", " #line ", " #file ", " #func "\n"#define TRAP_OP (ra, rb) "1: twnei " #ra ", " #rb "\n" -#define DATA_TYPE int#endif /* __powerpc64__ */ struct bug_entry {
@@ -55,7 +53,7 @@".section __bug_table,\"a\"\n\t" \ BUG_TABLE_ENTRY(1b,%1,%2,%3) \ ".previous" \ - : : "r" ((DATA_TYPE)(x)), "i" (__LINE__), \ + : : "r" ((long)(x)), "i" (__LINE__), \ "i" (__FILE__), "i" (__FUNCTION__)); \ }while (0 )
@@ -65,7 +63,7 @@".section __bug_table,\"a\"\n\t" \ BUG_TABLE_ENTRY(1b,%1,%2,%3) \ ".previous" \ - : : "r" ((DATA_TYPE)(x)), \ + : : "r" ((long)(x)), \"i" (__LINE__ +BUG_WARNING_TRAP ), \ "i" (__FILE__), "i" (__FUNCTION__)); \ }while (0 )
Quoted 3 lines · Al Viro
Should be OK...
Signed-off-by Al Viro <[email protected]>
OK, I'll put that in my powerpc-merge tree and ask Linus to pull it. I want to do a few more cleanups on that file now that I look at it.
Thanks,
Paul.