aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBruce Evans <bde@FreeBSD.org>2003-12-01 13:21:47 +0000
committerBruce Evans <bde@FreeBSD.org>2003-12-01 13:21:47 +0000
commit4214fd368836e55665c39d44af029e016bed8403 (patch)
tree2df9b8c5b886ed9049133f24e9e1346e8778688f
parent517121dc1fd2d2d48543f5deb3246e6311f1c317 (diff)
downloadsrc-4214fd368836e55665c39d44af029e016bed8403.tar.gz
src-4214fd368836e55665c39d44af029e016bed8403.zip
Avoid depending on a gas bug, so that this file works when assembled
by current versions of gas that don't have the bug as well as by the RELENG_3 version. A 32-bit load of %esp in 16-bit mode was mangled. The current version of gas still produces a different object file due to related (but harmless) bugs involving bogus operand size prefixes for segment registers.
Notes
Notes: svn path=/stable/3/; revision=123085
-rw-r--r--sys/i386/i386/mpboot.s3
1 files changed, 2 insertions, 1 deletions
diff --git a/sys/i386/i386/mpboot.s b/sys/i386/i386/mpboot.s
index b5127d696bd6..c76ab1e586e0 100644
--- a/sys/i386/i386/mpboot.s
+++ b/sys/i386/i386/mpboot.s
@@ -174,7 +174,8 @@ NON_GPROF_ENTRY(bootMP)
mov %ax, %fs
mov %ax, %gs
mov %ax, %ss
- mov $(boot_stk-_bootMP), %sp
+ data32
+ mov $boot_stk-_bootMP, %esp
/* Now load the global descriptor table */
addr32