mirror of
https://github.com/torvalds/linux.git
synced 2024-12-07 11:31:41 +00:00
[IA64] Simulator bootloader fails with gcc 4
After building a fresh tree with gcc 4 I can't boot the simulator as the bootloader loader dies with loading /home/ianw/kerntest/kerncomp//build/sim_defconfig/vmlinux... failed to read phdr After some investigation I believe this is do with differences between the alignment of variables on the stack between gcc 3 and 4 and the ski simulator. If you trace through with the simulator you can see that the disk_stat structure value returned from the SSC_WAIT_COMPLETION call seems to be only half loaded. I guess it doesn't like the alignment of the input. Signed-off-by: Ian Wienand <ianw@gelato.unsw.edu.au> Signed-off-by: Tony Luck <tony.luck@intel.com>
This commit is contained in:
parent
75e8727fbb
commit
4aec0fb122
@ -30,10 +30,14 @@ struct disk_req {
|
||||
unsigned len;
|
||||
};
|
||||
|
||||
/* SSC_WAIT_COMPLETION appears to want this large alignment. gcc < 4
|
||||
* seems to give it by default, however gcc > 4 is smarter and may
|
||||
* not.
|
||||
*/
|
||||
struct disk_stat {
|
||||
int fd;
|
||||
unsigned count;
|
||||
};
|
||||
} __attribute__ ((aligned (16)));
|
||||
|
||||
extern void jmp_to_kernel (unsigned long bp, unsigned long e_entry);
|
||||
extern struct ia64_boot_param *sys_fw_init (const char *args, int arglen);
|
||||
|
Loading…
Reference in New Issue
Block a user