Commit 89003ebf authored by Paul Mackerras's avatar Paul Mackerras

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: default avatarPaul Mackerras <paulus@samba.org>
parent a0e60b20
...@@ -13,7 +13,7 @@ ...@@ -13,7 +13,7 @@
#ifdef __powerpc64__ #ifdef __powerpc64__
#define BUG_TABLE_ENTRY(label, line, file, func) \ #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 TRAP_OP(ra, rb) "1: tdnei " #ra ", " #rb "\n"
#define DATA_TYPE long long #define DATA_TYPE long long
#else #else
...@@ -25,7 +25,7 @@ ...@@ -25,7 +25,7 @@
struct bug_entry { struct bug_entry {
unsigned long bug_addr; unsigned long bug_addr;
int line; long line;
const char *file; const char *file;
const char *function; const char *function;
}; };
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment