powerpc: Fix BUG/WARN macros for 64-bit
The bug_entry struct had an int in the middle of pointers and unsigned longs, and the inline asm that generated the bug table entries didn't insert the necessary padding, so the fields following it didn't get initialized properly and an oops resulted. This changes the int field (the line number) to a long so that all the fields are the same size and no padding is required. Signed-off-by: Paul Mackerras <paulus@samba.org>
This commit is contained in:
parent
a0e60b2033
commit
89003ebf9e
@ -13,7 +13,7 @@
|
||||
|
||||
#ifdef __powerpc64__
|
||||
#define BUG_TABLE_ENTRY(label, line, file, func) \
|
||||
".llong " #label "\n .long " #line "\n .llong " #file ", " #func "\n"
|
||||
".llong " #label ", " #line ", " #file ", " #func "\n"
|
||||
#define TRAP_OP(ra, rb) "1: tdnei " #ra ", " #rb "\n"
|
||||
#define DATA_TYPE long long
|
||||
#else
|
||||
@ -25,7 +25,7 @@
|
||||
|
||||
struct bug_entry {
|
||||
unsigned long bug_addr;
|
||||
int line;
|
||||
long line;
|
||||
const char *file;
|
||||
const char *function;
|
||||
};
|
||||
|
Loading…
Reference in New Issue
Block a user