diff options
author | Kevin O'Connor <kevin@koconnor.net> | 2014-11-12 17:49:33 -0500 |
---|---|---|
committer | Kevin O'Connor <kevin@koconnor.net> | 2014-11-12 17:49:33 -0500 |
commit | 83c82769d1246a00e1773764505184cb95d4f663 (patch) | |
tree | 96bda1021f58c9f6859427cf66f0405affece30b /src | |
parent | b0d42bd03225ad61e5421e12b57f633f84637328 (diff) | |
download | seabios-83c82769d1246a00e1773764505184cb95d4f663.tar.gz |
Fix build issue on gcc34
Older versions of gcc may not inline on_extra_stack() and thus cause a
link error when compiling in 32bit segmented mode. Test for MODE16
explicitly in stack_hop_back() to prevent the problem.
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
Diffstat (limited to 'src')
-rw-r--r-- | src/stacks.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/stacks.c b/src/stacks.c index 6f40cbeb..0c033d14 100644 --- a/src/stacks.c +++ b/src/stacks.c @@ -430,7 +430,7 @@ stack_hop_back(u32 eax, u32 edx, void *func) { if (!MODESEGMENT) return call16_back(eax, edx, func); - if (!on_extra_stack()) + if (!MODE16 || !on_extra_stack()) return ((u32 (*)(u32, u32))func)(eax, edx); ASSERT16(); u16 bkup_ss; |