parisc: Unbreak bootloader due to gcc-7 optimizations
gcc-7 optimizes the byte-wise accesses of get_unaligned_le32() into word-wise accesses if the 32-bit integer output_len is declared as external. This panics then the bootloader since we don't have the unaligned access fault trap handler installed during boot time. Avoid this optimization by declaring output_len as byte-aligned and thus unbreak the bootloader code. Additionally, compile the boot code optimized for size. Signed-off-by: Helge Deller <deller@gmx.de>
This commit is contained in:
@@ -24,7 +24,8 @@
|
||||
/* Symbols defined by linker scripts */
|
||||
extern char input_data[];
|
||||
extern int input_len;
|
||||
extern __le32 output_len; /* at unaligned address, little-endian */
|
||||
/* output_len is inserted by the linker possibly at an unaligned address */
|
||||
extern __le32 output_len __aligned(1);
|
||||
extern char _text, _end;
|
||||
extern char _bss, _ebss;
|
||||
extern char _startcode_end;
|
||||
|
Reference in New Issue
Block a user