Open Kirkman opened 5 years ago
There is one big problem, which is that we don't use those OSes on our own. And the "please install it in VM" suggestions inevitably generate the "I don't have time for that" reply, as we really don't have time even for the activities for which the VM setup is not needed. So I can see the following possible solutions:
MacOS doesn't seem to have the KVM-compatible API, but for BBS the cpu simulator is more than enough, and that should be possible to build. So please assist us with the porting efforts, and that will happen.
I'd be happy to set up an SSH account on my machine if it helps the cause. Can I email you at stsp@users.sourceforge.net?
My knowledge of C and compiling is minimal. I have been able to work around problems compiling other projects, but with dosemu2 I know up front that the Mac issues are beyond than anything I could figure out on my own. That's why I opened the ticket. But I'm happy to describe two current places where I'm finding problems.
The touch
command used in git-rev.sh
uses syntax or parameters unavailable with the Mac's touch
. I think this same issue exists for FreeBSD.
When running make
, clang fails with:
isemu.S:29:junk `(44)%al' after expression
isemu.S:29:suffix or operands invalid for `mov'
I'd be happy to set up an SSH account on my machine if it helps the cause. Can I email you at stsp@users.sourceforge.net?
Yes, but it should be set up for quite some time, as I can't promise to do that right now. I can try to visit this machine at a week-end, or maybe sooner.
The touch command used in git-rev.sh uses syntax or parameters unavailable with the Mac's
This should not be critical. If it really fails the build - this is a bug.
When running make, clang fails with:
Are you on an up-to-date branch devel?
Because currently as
is called to compile that, not clang.
The touch command used in git-rev.sh uses syntax or parameters unavailable with the Mac's
This should not be critical. If it really fails the build - this is a bug.
make
stops with this error:
touch: illegal option -- -
usage:
touch [-A [-][[hh]mm]SS] [-acfhm] [-r file] [-t [[CC]YY]MMDDhhmm[.SS]] file ...
touch: illegal option -- -
usage:
touch [-A [-][[hh]mm]SS] [-acfhm] [-r file] [-t [[CC]YY]MMDDhhmm[.SS]] file ...
make[1]: *** No rule to make target `../.tstamp', needed by `../src/include/version.hh'. Stop.
make: *** [default] Error 2
I worked around it temporarily by wrapping lines 8-9 of git-rev.sh with an if [ -z "$TSTAMP" ];
clause.
Are you on an up-to-date branch devel? Because currently
as
is called to compile that, not clang.
I just did git stash
and git pull
to update. git status
shows I'm on branch devel
.
After doing that (and the workaround above), make is stopping with:
ld -static --section-start=.text=0x100 -e _start16 -o isemu.com.elf isemu.o
ld: unknown option: --section-start=.text=0x100
make[2]: *** [isemu.com.elf] Error 1
make[1]: *** [env/commands] Error 2
make: *** [default] Error 2
I added the touch work-around.
As for ld - what ld is that? Please show ld -v
.
Is there a gold linker available for macos-X?
Output of ld -v
:
@(#)PROGRAM:ld PROJECT:ld64-409.12
BUILD 17:47:51 Sep 25 2018
configured to support archs: armv6 armv7 armv7s arm64 i386 x86_64 x86_64h armv6m armv7k armv7m armv7em arm64e arm64_32
LTO support using: LLVM version 10.0.0, (clang-1000.11.45.5) (static support for 21, runtime is 21)
TAPI support using: Apple TAPI version 10.0.0 (tapi-1000.11.8.2)
Should now be fixed.
I think it still doesn't like "--section-start":
gcc -E -MMD -DCFLAGS_STR="-Wall -Wstrict-prototypes -Wmissing-declarations -Wnested-externs -fms-extensions -pthread -imacros config.hh -Wno-unused-result -Wcast-qual -Wwrite-strings -fno-stack-protector -Wno-microsoft -Wno-incompatible-pointer-types -Wno-address-of-packed-member -fpie -O2 " -I../../../src/include -I../../../src/plugin/include -I/Users/kirkman/repos/dosemu2/src/include isemu.S | as -o isemu.o
ld -static --section-start .text=0x100 -e _start16 -o isemu.com.elf isemu.o
ld: unknown option: --section-start
make[2]: *** [isemu.com.elf] Error 1
make[1]: *** [env/commands] Error 2
make: *** [default] Error 2```
Please run the following command:
ld --section-start .text=0 -melf_i386
What it says?
Same:
ld: unknown option: --section-start
Then you need GNU toolchain for i386: https://github.com/nativeos/homebrew-i386-elf-toolchain
At what point do I need i386-elf-gcc? Is it for compiling the entire dosemu package, or only certain parts within it?
Not gcc, i386-elf-as and i386-elf-ld are needed to build DOS executables that are shipped with dosemu.
Okay. And will the make
process invoke them with the i386-elf
prefix automatically, or do I need to export environment variables to help it find these tools? (something like export LD=/usr/local/bin/i386-elf-ld
)
I think for now neither will work. But if you get the things installed and tried (like making sure compilation fails, making sure the needed parameters are now accepted etc), then we can go on (including the ssh access possibility). Its an uncharted territory for both of us, so first you try and then I think. :)
Correct. Neither works.
I now have i386-elf-as
and i386-elf-ld
installed via homebrew, but make
still stops at:
gcc -E -MMD -DCFLAGS_STR="-Wall -Wstrict-prototypes -Wmissing-declarations -Wnested-externs -fms-extensions -pthread -imacros config.hh -Wno-unused-result -Wcast-qual -Wwrite-strings -fno-stack-protector -Wno-microsoft -Wno-incompatible-pointer-types -Wno-address-of-packed-member -fpie -O2 " -I../../../src/include -I../../../src/plugin/include -I/Users/kirkman/repos/dosemu2/src/include isemu.S | as -o isemu.o
ld -static --section-start .text=0x100 -e _start16 -o isemu.com.elf isemu.o
ld: unknown option: --section-start
Also, even with your previous change, there are still errors on the console related to touch
:
touch: illegal option -- -
usage:
touch [-A [-][[hh]mm]SS] [-acfhm] [-r file] [-t [[CC]YY]MMDDhhmm[.SS]] file ...
touch: illegal option -- -
usage:
touch [-A [-][[hh]mm]SS] [-acfhm] [-r file] [-t [[CC]YY]MMDDhhmm[.SS]] file ...
echo "Updating version.h"; \
echo "#ifndef VERSION_H" > ../src/include/version.hh; \
echo "#define VERSION_H" >> ../src/include/version.hh; \
echo "#define VERSTR \"2.0pre8-687-g72777149\"" >> ../src/include/version.hh; \
echo "#define VERSION_NUM 2" >> ../src/include/version.hh; \
echo "#define SUBLEVEL 0" >> ../src/include/version.hh; \
echo "#define PATCHLEVEL1 \"pre8\"" >> ../src/include/version.hh; \
echo "#define REVISION 4386" >> ../src/include/version.hh; \
echo "#define VERDATE \""2018-12-04"\"" >> ../src/include/version.hh; \
echo "#endif /* VERSION_H */" >> ../src/include/version.hh
Updating version.h
touch: illegal option -- -
usage:
touch [-A [-][[hh]mm]SS] [-acfhm] [-r file] [-t [[CC]YY]MMDDhhmm[.SS]] file ...
Also, I'm working through ./configure
to make sure I have everything I need.
I'm stumped by this:
=== configuring in sdl1
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking for sdl-config... /usr/local/bin/sdl-config
checking for SDL - version >= 1.2.0... no
*** Could not run SDL test program, checking why...
*** The test program failed to compile or link. See the file config.log for the
*** exact error that occured. This usually means SDL was incorrectly installed
*** or that you have moved SDL since it was installed. In the latter case, you
*** may want to edit the sdl-config script: /usr/local/bin/sdl-config
configure: error: *** SDL version 1.2.0 not found!
Configuration for sdl1 failed, disabling
I have sdl 1.2.15 installed, as well as sdl2 2.0.9. The /usr/local/bin/sdl-config
and /usr/local/bin/sdl2-config
commands work. Not sure what I need to do.
Other errors:
configure: error: gpm development libs not found
configure: error: alsa development libs not found
configure: error: *** ladspa not found!
configure: error: X development libraries not installed
configure: error: munt development libs not found
configure: error: fdpp installation not found
Can I live without these, or are any of them required?
I now have i386-elf-as and i386-elf-ld installed
Please check that they work as expected with
ld --section-start .text=0
in command line.
Also, even with your previous change, there are still errors on the console related to touch:
Silenced them now.
You don't need sdl1. In fact, if something very bad arises, configure will write additional warning at the end of the process. For example it will complain about missing fdpp. But lets live without fdpp for now. ladspa may be good to have if you work with sound a lot, otherwise you don't need it. The rest is not needed.
So as the next step, we need to bind i386 toolchain in, which I really hate to do with autoconf...
I have an interesting idea. We can get rid of the dos commands completely if we hook ae00 of int2f, and run our builtins from there. Of course this will make comcom32 incompatible again, but who cares. And of course we still need to build .sys drivers, but then they should be moved (back) to plugins and built there. They are somewhat optional, i.e. less required than lredir2. You can still run dosemu w/o ems.sys, with some limitations. Maybe later we can hide ems.sys in bios.S with some fdpp hack? Which leads to a question: is building bios.S any simpler than the DOS cmds? This needs to be verified. So could you please go to src/base/bios and run make from there? If this can be compiled w/o cross toolchain, then we have a plan, difficult but possible.
ld --section-start .text=0
still gives ld: unknown option: --section-start
.
If, on the other hand, I do i386-elf-ld --section-start .text=0
, it says i386-elf-ld: no input files
Yes, thats the correct behaviour. Please check the bios build too.
Output of make
from within src/base/bios/
:
echo "Updating version.h"; \
echo "#ifndef VERSION_H" > ../../../src/include/version.hh; \
echo "#define VERSION_H" >> ../../../src/include/version.hh; \
echo "#define VERSTR \"2.0pre8-698-g21bd3909\"" >> ../../../src/include/version.hh; \
echo "#define VERSION_NUM 2" >> ../../../src/include/version.hh; \
echo "#define SUBLEVEL 0" >> ../../../src/include/version.hh; \
echo "#define PATCHLEVEL1 \"pre8\"" >> ../../../src/include/version.hh; \
echo "#define REVISION 4397" >> ../../../src/include/version.hh; \
echo "#define VERDATE \""2018-12-08"\"" >> ../../../src/include/version.hh; \
echo "#endif /* VERSION_H */" >> ../../../src/include/version.hh
Updating version.h
gcc -c -MMD -DCFLAGS_STR="-Wall -Wstrict-prototypes -Wmissing-declarations -Wnested-externs -fms-extensions -pthread -imacros config.hh -Wno-unused-result -Wcast-qual -Wwrite-strings -fno-stack-protector -Wno-microsoft -Wno-incompatible-pointer-types -Wno-address-of-packed-member -fpie -O2 " -I../../../src/include -I../../../src/plugin/include -I/Users/kirkman/repos/dosemu2/src/include -Wall -Wstrict-prototypes -Wmissing-declarations -Wnested-externs -fms-extensions -pthread -imacros config.hh -Wno-unused-result -Wcast-qual -Wwrite-strings -fno-stack-protector -Wno-microsoft -Wno-incompatible-pointer-types -Wno-address-of-packed-member -fpie -O2 -o int10.o int10.c
In file included from int10.c:53:
In file included from ../../../src/include/emu.h:13:
In file included from ../../../src/include/cpu.h:12:
../../../src/include/sig.h:6:10: fatal error: 'syscall.h' file not found
#include <syscall.h>
^~~~~~~~~~~
1 error generated.
make: *** [int10.o] Error 1
Should now be fixed.
Okay, getting a little farther now:
echo "Updating version.h"; \
echo "#ifndef VERSION_H" > ../../../src/include/version.hh; \
echo "#define VERSION_H" >> ../../../src/include/version.hh; \
echo "#define VERSTR \"2.0pre8-700-g14e07978\"" >> ../../../src/include/version.hh; \
echo "#define VERSION_NUM 2" >> ../../../src/include/version.hh; \
echo "#define SUBLEVEL 0" >> ../../../src/include/version.hh; \
echo "#define PATCHLEVEL1 \"pre8\"" >> ../../../src/include/version.hh; \
echo "#define REVISION 4399" >> ../../../src/include/version.hh; \
echo "#define VERDATE \""2018-12-08"\"" >> ../../../src/include/version.hh; \
echo "#endif /* VERSION_H */" >> ../../../src/include/version.hh
Updating version.h
gcc -c -MMD -DCFLAGS_STR="-Wall -Wstrict-prototypes -Wmissing-declarations -Wnested-externs -fms-extensions -pthread -imacros config.hh -Wno-unused-result -Wcast-qual -Wwrite-strings -fno-stack-protector -Wno-microsoft -Wno-incompatible-pointer-types -Wno-address-of-packed-member -fpie -O2 " -I../../../src/include -I../../../src/plugin/include -I/Users/kirkman/repos/dosemu2/src/include -Wall -Wstrict-prototypes -Wmissing-declarations -Wnested-externs -fms-extensions -pthread -imacros config.hh -Wno-unused-result -Wcast-qual -Wwrite-strings -fno-stack-protector -Wno-microsoft -Wno-incompatible-pointer-types -Wno-address-of-packed-member -fpie -O2 -o int10.o int10.c
In file included from int10.c:53:
In file included from ../../../src/include/emu.h:13:
../../../src/include/cpu.h:63:3: error: unknown type name 'greg_t'
greg_t reg;
^
../../../src/include/cpu.h:182:8: error: unknown type name 'fpregset_t'
extern fpregset_t vm86_fpu_state;
^
In file included from int10.c:59:
../../../src/include/utilities.h:104:8: error: expected parameter declarator
size_t strlcpy(char *dst, const char *src, size_t dsize);
^
/usr/include/secure/_string.h:108:47: note: expanded from macro 'strlcpy'
__builtin___strlcpy_chk (dest, __VA_ARGS__, __darwin_obsz (dest))
^
/usr/include/secure/_common.h:39:62: note: expanded from macro '__darwin_obsz'
#define __darwin_obsz(object) __builtin_object_size (object, _USE_FORTIFY_LEVEL > 1 ? 1 : 0)
^
/usr/include/secure/_common.h:30:32: note: expanded from macro '_USE_FORTIFY_LEVEL'
# define _USE_FORTIFY_LEVEL 2
^
In file included from int10.c:59:
../../../src/include/utilities.h:104:8: error: expected ')'
/usr/include/secure/_string.h:108:47: note: expanded from macro 'strlcpy'
__builtin___strlcpy_chk (dest, __VA_ARGS__, __darwin_obsz (dest))
^
/usr/include/secure/_common.h:39:62: note: expanded from macro '__darwin_obsz'
#define __darwin_obsz(object) __builtin_object_size (object, _USE_FORTIFY_LEVEL > 1 ? 1 : 0)
^
/usr/include/secure/_common.h:30:32: note: expanded from macro '_USE_FORTIFY_LEVEL'
# define _USE_FORTIFY_LEVEL 2
^
../../../src/include/utilities.h:104:8: note: to match this '('
/usr/include/secure/_string.h:108:47: note: expanded from macro 'strlcpy'
__builtin___strlcpy_chk (dest, __VA_ARGS__, __darwin_obsz (dest))
^
/usr/include/secure/_common.h:39:53: note: expanded from macro '__darwin_obsz'
#define __darwin_obsz(object) __builtin_object_size (object, _USE_FORTIFY_LEVEL > 1 ? 1 : 0)
^
In file included from int10.c:59:
../../../src/include/utilities.h:104:8: warning: type specifier missing, defaults to 'int' [-Wimplicit-int]
size_t strlcpy(char *dst, const char *src, size_t dsize);
^
/usr/include/secure/_string.h:108:47: note: expanded from macro 'strlcpy'
__builtin___strlcpy_chk (dest, __VA_ARGS__, __darwin_obsz (dest))
^
/usr/include/secure/_common.h:39:31: note: expanded from macro '__darwin_obsz'
#define __darwin_obsz(object) __builtin_object_size (object, _USE_FORTIFY_LEVEL > 1 ? 1 : 0)
^
In file included from int10.c:59:
../../../src/include/utilities.h:104:8: error: conflicting types for '__builtin___strlcpy_chk'
/usr/include/secure/_string.h:108:3: note: expanded from macro 'strlcpy'
__builtin___strlcpy_chk (dest, __VA_ARGS__, __darwin_obsz (dest))
^
../../../src/include/utilities.h:104:8: note: '__builtin___strlcpy_chk' is a builtin with type 'unsigned long (char *, const char *, unsigned long, unsigned long)'
/usr/include/secure/_string.h:108:3: note: expanded from macro 'strlcpy'
__builtin___strlcpy_chk (dest, __VA_ARGS__, __darwin_obsz (dest))
^
1 warning and 5 errors generated.
make: *** [int10.o] Error 1
I disabled strlcpy.
Okay.
echo "Updating version.h"; \
echo "#ifndef VERSION_H" > ../../../src/include/version.hh; \
echo "#define VERSION_H" >> ../../../src/include/version.hh; \
echo "#define VERSTR \"2.0pre8-702-g08c1d1dd\"" >> ../../../src/include/version.hh; \
echo "#define VERSION_NUM 2" >> ../../../src/include/version.hh; \
echo "#define SUBLEVEL 0" >> ../../../src/include/version.hh; \
echo "#define PATCHLEVEL1 \"pre8\"" >> ../../../src/include/version.hh; \
echo "#define REVISION 4401" >> ../../../src/include/version.hh; \
echo "#define VERDATE \""2018-12-08"\"" >> ../../../src/include/version.hh; \
echo "#endif /* VERSION_H */" >> ../../../src/include/version.hh
Updating version.h
gcc -c -MMD -DCFLAGS_STR="-Wall -Wstrict-prototypes -Wmissing-declarations -Wnested-externs -fms-extensions -pthread -imacros config.hh -Wno-unused-result -Wcast-qual -Wwrite-strings -fno-stack-protector -Wno-microsoft -Wno-incompatible-pointer-types -Wno-address-of-packed-member -fpie -O2 " -I../../../src/include -I../../../src/plugin/include -I/Users/kirkman/repos/dosemu2/src/include -Wall -Wstrict-prototypes -Wmissing-declarations -Wnested-externs -fms-extensions -pthread -imacros config.hh -Wno-unused-result -Wcast-qual -Wwrite-strings -fno-stack-protector -Wno-microsoft -Wno-incompatible-pointer-types -Wno-address-of-packed-member -fpie -O2 -o int10.o int10.c
In file included from int10.c:53:
In file included from ../../../src/include/emu.h:13:
../../../src/include/cpu.h:63:3: error: unknown type name 'greg_t'
greg_t reg;
^
../../../src/include/cpu.h:182:8: error: unknown type name 'fpregset_t'
extern fpregset_t vm86_fpu_state;
^
2 errors generated.
make: *** [int10.o] Error 1
Please try again.
Now we're getting down to bios. Here's where it errors out:
gcc -E -MMD -DCFLAGS_STR="-Wall -Wstrict-prototypes -Wmissing-declarations -Wnested-externs -fms-extensions -pthread -imacros config.hh -Wno-unused-result -Wcast-qual -Wwrite-strings -fno-stack-protector -Wno-microsoft -Wno-incompatible-pointer-types -Wno-address-of-packed-member -fpie -O2 " -I../../../src/include -I../../../src/plugin/include -I/Users/kirkman/repos/dosemu2/src/include bios.S | as -o bios.o
bios.S:48:2: error: unknown directive
.REPT 0x8000
^
bios.S:50:2: error: unknown directive
.ENDR
^
bios.S:126:9: error: invalid instruction mnemonic 'retf'
retf
^~~~
bios.S:170:9: error: non-local symbol required in directive
.globl LFN_short_name
^
bios.S:1094:19: error: unexpected token in '.section' directive
.section .note.GNU-stack,"",%progbits
^
make: *** [bios.o] Error 1
All fixed.
By the way, the lack of greg_t
means we won't
port DPMI. So while the port is possible, it will be
quite limited.
Hmmm... I am not a DOS expert (my interest mainly is getting BBS door games running), but I believe DPMI is pretty important, right?
Anyway, now the main issue is a bunch of invalid offsets:
gcc -E -MMD -DCFLAGS_STR="-Wall -Wstrict-prototypes -Wmissing-declarations -Wnested-externs -fms-extensions -pthread -imacros config.hh -Wno-unused-result -Wcast-qual -Wwrite-strings -fno-stack-protector -Wno-microsoft -Wno-incompatible-pointer-types -Wno-address-of-packed-member -fpie -O2 " -I../../../src/include -I../../../src/plugin/include -I/Users/kirkman/repos/dosemu2/src/include bios.S | as -o bios.o
bios.S:250:6: error: invalid .org offset '57344' (at offset '65728')
.org 0xe000
^
bios.S:256:6: error: invalid .org offset '57435' (at offset '65815')
.org 0xe05b
^
bios.S:298:6: error: invalid .org offset '58032' (at offset '65867')
.org 0xe2b0
^
bios.S:306:6: error: invalid .org offset '58054' (at offset '65872')
.org 0xe2c6
^
bios.S:317:7: error: invalid .org offset '58079' (at offset '65883')
.org ((0xf800 - 0xf000) << 4) + 0x62df
^
bios.S:321:14: error: invalid .org offset '58080' (at offset '65884')
.org (((0xf000 -1) - 0xf000) << 4)+(0xe2e0+0x10)
^
bios.S:335:7: error: invalid .org offset '58128' (at offset '65901')
.org ((0xf800 - 0xf000) << 4) + 0x6310
^
bios.S:343:7: error: invalid .org offset '58144' (at offset '65904')
.org ((0xf800 -0xf000) << 4)+0x6320
^
bios.S:355:7: error: invalid .org offset '58160' (at offset '65916')
.org ((0xf800 -0xf000) << 4)+0x6330
^
bios.S:401:14: error: invalid .org offset '58272' (at offset '65991')
.org (0xe3a0)
^
bios.S:417:7: error: invalid .org offset '58352' (at offset '66023')
.org ((0xf800 -0xf000) << 4)+0x63f0
^
bios.S:435:7: error: invalid .org offset '58369' (at offset '66034')
.org ((0xf800 - 0xf000) << 4) + 0x6401
^
bios.S:453:7: error: invalid .org offset '58400' (at offset '66050')
.org ((0xf800 - 0xf000) << 4) + 0x6420
^
bios.S:473:7: error: invalid .org offset '59125' (at offset '66066')
.org 0xe6f5
^
bios.S:492:7: error: invalid .org offset '59783' (at offset '66076')
.org ((0xf000 -0xf000) << 4)+0xe987
^
bios.S:647:7: error: invalid .org offset '61383' (at offset '66298')
.org ((0xf800 - 0xf000) << 4) + 0x6fc7
^
bios.S:666:7: error: invalid .org offset '61397' (at offset '66312')
.org ((0xf800 - 0xf000) << 4) + 0x6fc7 + 14
^
bios.S:684:7: error: invalid .org offset '61541' (at offset '66326')
.org ((0xf800 - 0xf000) << 4) + 0x7065
^
bios.S:697:7: error: invalid .org offset '61696' (at offset '66327')
.org 0xf100
^
bios.S:705:7: error: invalid .org offset '61712' (at offset '66334')
.org 0xf110
^
bios.S:716:7: error: invalid .org offset '61760' (at offset '66343')
.org (((0xf000) - 0xf000) << 4) + 0xf140
^
bios.S:750:7: error: invalid .org offset '62000' (at offset '66388')
.org ((0xf000 -0xf000) << 4)+0xf230
^
bios.S:769:7: error: invalid .org offset '62256' (at offset '66411')
.org ((0xf000 - 0xf000) << 4) + 0xf330
^
bios.S:805:7: error: invalid .org offset '62464' (at offset '66468')
.org ((0xf000 - 0xf000) << 4) + 0xF400
^
bios.S:865:7: error: invalid .org offset '62624' (at offset '66580')
.org ((0xf000 - 0xf000) << 4) + 0xF4A0
^
bios.S:982:7: error: invalid .org offset '62720' (at offset '66692')
.org ((0xf000 - 0xf000) << 4) + 0xF500
^
bios.S:985:7: error: invalid .org offset '62848' (at offset '66798')
.org ((0xf000 - 0xf000) << 4) + 0xF580
^
bios.S:988:7: error: invalid .org offset '62976' (at offset '66904')
.org ((0xf000 - 0xf000) << 4) + 0xF600
^
bios.S:991:7: error: invalid .org offset '64110' (at offset '67010')
.org 0xfa6e
^
bios.S:1001:7: error: invalid .org offset '65176' (at offset '68034')
.org ((0xf800 -0xf000) << 4)+0x7e98
^
bios.S:1012:7: error: invalid .org offset '65189' (at offset '68047')
.org ((0xf800 -0xf000) << 4)+0x7ea5
^
bios.S:298:6: error: invalid .org offset '58032' (at offset '65870')
.org 0xe2b0
^
bios.S:306:6: error: invalid .org offset '58054' (at offset '65875')
.org 0xe2c6
^
bios.S:317:7: error: invalid .org offset '58079' (at offset '65886')
.org ((0xf800 - 0xf000) << 4) + 0x62df
^
bios.S:321:14: error: invalid .org offset '58080' (at offset '65887')
.org (((0xf000 -1) - 0xf000) << 4)+(0xe2e0+0x10)
^
bios.S:335:7: error: invalid .org offset '58128' (at offset '65904')
.org ((0xf800 - 0xf000) << 4) + 0x6310
^
bios.S:343:7: error: invalid .org offset '58144' (at offset '65907')
.org ((0xf800 -0xf000) << 4)+0x6320
^
bios.S:355:7: error: invalid .org offset '58160' (at offset '65919')
.org ((0xf800 -0xf000) << 4)+0x6330
^
bios.S:401:14: error: invalid .org offset '58272' (at offset '65994')
.org (0xe3a0)
^
bios.S:417:7: error: invalid .org offset '58352' (at offset '66027')
.org ((0xf800 -0xf000) << 4)+0x63f0
^
bios.S:435:7: error: invalid .org offset '58369' (at offset '66038')
.org ((0xf800 - 0xf000) << 4) + 0x6401
^
bios.S:453:7: error: invalid .org offset '58400' (at offset '66054')
.org ((0xf800 - 0xf000) << 4) + 0x6420
^
bios.S:473:7: error: invalid .org offset '59125' (at offset '66070')
.org 0xe6f5
^
bios.S:492:7: error: invalid .org offset '59783' (at offset '66080')
.org ((0xf000 -0xf000) << 4)+0xe987
^
bios.S:647:7: error: invalid .org offset '61383' (at offset '66332')
.org ((0xf800 - 0xf000) << 4) + 0x6fc7
^
bios.S:666:7: error: invalid .org offset '61397' (at offset '66346')
.org ((0xf800 - 0xf000) << 4) + 0x6fc7 + 14
^
bios.S:684:7: error: invalid .org offset '61541' (at offset '66360')
.org ((0xf800 - 0xf000) << 4) + 0x7065
^
bios.S:697:7: error: invalid .org offset '61696' (at offset '66361')
.org 0xf100
^
bios.S:705:7: error: invalid .org offset '61712' (at offset '66368')
.org 0xf110
^
bios.S:716:7: error: invalid .org offset '61760' (at offset '66377')
.org (((0xf000) - 0xf000) << 4) + 0xf140
^
bios.S:750:7: error: invalid .org offset '62000' (at offset '66420')
.org ((0xf000 -0xf000) << 4)+0xf230
^
bios.S:769:7: error: invalid .org offset '62256' (at offset '66445')
.org ((0xf000 - 0xf000) << 4) + 0xf330
^
bios.S:805:7: error: invalid .org offset '62464' (at offset '66502')
.org ((0xf000 - 0xf000) << 4) + 0xF400
^
bios.S:865:7: error: invalid .org offset '62624' (at offset '66628')
.org ((0xf000 - 0xf000) << 4) + 0xF4A0
^
bios.S:982:7: error: invalid .org offset '62720' (at offset '66740')
.org ((0xf000 - 0xf000) << 4) + 0xF500
^
bios.S:985:7: error: invalid .org offset '62848' (at offset '66847')
.org ((0xf000 - 0xf000) << 4) + 0xF580
^
bios.S:988:7: error: invalid .org offset '62976' (at offset '66954')
.org ((0xf000 - 0xf000) << 4) + 0xF600
^
bios.S:991:7: error: invalid .org offset '64110' (at offset '67061')
.org 0xfa6e
^
bios.S:1001:7: error: invalid .org offset '65176' (at offset '68085')
.org ((0xf800 -0xf000) << 4)+0x7e98
^
bios.S:1012:7: error: invalid .org offset '65189' (at offset '68098')
.org ((0xf800 -0xf000) << 4)+0x7ea5
^
bios.S:1054:7: error: invalid .org offset '65255' (at offset '68170')
.org ((0xf800 -0xf000) << 4)+0x7ee7
^
bios.S:1070:7: error: invalid .org offset '65504' (at offset '68179')
.org 0xffe0
^
bios.S:1077:7: error: invalid .org offset '65520' (at offset '68191')
.org 0xfff0
^
bios.S:250:6: error: invalid .org offset '57344' (at offset '65728')
.org 0xe000
^
bios.S:256:6: error: invalid .org offset '57435' (at offset '65815')
.org 0xe05b
^
bios.S:298:6: error: invalid .org offset '58032' (at offset '65870')
.org 0xe2b0
^
bios.S:306:6: error: invalid .org offset '58054' (at offset '65875')
.org 0xe2c6
^
bios.S:317:7: error: invalid .org offset '58079' (at offset '65886')
.org ((0xf800 - 0xf000) << 4) + 0x62df
^
bios.S:321:14: error: invalid .org offset '58080' (at offset '65887')
.org (((0xf000 -1) - 0xf000) << 4)+(0xe2e0+0x10)
^
bios.S:335:7: error: invalid .org offset '58128' (at offset '65904')
.org ((0xf800 - 0xf000) << 4) + 0x6310
^
bios.S:343:7: error: invalid .org offset '58144' (at offset '65907')
.org ((0xf800 -0xf000) << 4)+0x6320
^
bios.S:355:7: error: invalid .org offset '58160' (at offset '65919')
.org ((0xf800 -0xf000) << 4)+0x6330
^
bios.S:401:14: error: invalid .org offset '58272' (at offset '65994')
.org (0xe3a0)
^
bios.S:417:7: error: invalid .org offset '58352' (at offset '66027')
.org ((0xf800 -0xf000) << 4)+0x63f0
^
bios.S:435:7: error: invalid .org offset '58369' (at offset '66038')
.org ((0xf800 - 0xf000) << 4) + 0x6401
^
bios.S:453:7: error: invalid .org offset '58400' (at offset '66054')
.org ((0xf800 - 0xf000) << 4) + 0x6420
^
bios.S:473:7: error: invalid .org offset '59125' (at offset '66070')
.org 0xe6f5
^
bios.S:492:7: error: invalid .org offset '59783' (at offset '66080')
.org ((0xf000 -0xf000) << 4)+0xe987
^
bios.S:647:7: error: invalid .org offset '61383' (at offset '66332')
.org ((0xf800 - 0xf000) << 4) + 0x6fc7
^
bios.S:666:7: error: invalid .org offset '61397' (at offset '66346')
.org ((0xf800 - 0xf000) << 4) + 0x6fc7 + 14
^
bios.S:684:7: error: invalid .org offset '61541' (at offset '66360')
.org ((0xf800 - 0xf000) << 4) + 0x7065
^
bios.S:697:7: error: invalid .org offset '61696' (at offset '66361')
.org 0xf100
^
bios.S:705:7: error: invalid .org offset '61712' (at offset '66368')
.org 0xf110
^
bios.S:716:7: error: invalid .org offset '61760' (at offset '66377')
.org (((0xf000) - 0xf000) << 4) + 0xf140
^
bios.S:750:7: error: invalid .org offset '62000' (at offset '66420')
.org ((0xf000 -0xf000) << 4)+0xf230
^
bios.S:769:7: error: invalid .org offset '62256' (at offset '66445')
.org ((0xf000 - 0xf000) << 4) + 0xf330
^
bios.S:805:7: error: invalid .org offset '62464' (at offset '66502')
.org ((0xf000 - 0xf000) << 4) + 0xF400
^
bios.S:865:7: error: invalid .org offset '62624' (at offset '66628')
.org ((0xf000 - 0xf000) << 4) + 0xF4A0
^
bios.S:982:7: error: invalid .org offset '62720' (at offset '66740')
.org ((0xf000 - 0xf000) << 4) + 0xF500
^
bios.S:985:7: error: invalid .org offset '62848' (at offset '66847')
.org ((0xf000 - 0xf000) << 4) + 0xF580
^
bios.S:988:7: error: invalid .org offset '62976' (at offset '66954')
.org ((0xf000 - 0xf000) << 4) + 0xF600
^
bios.S:991:7: error: invalid .org offset '64110' (at offset '67061')
.org 0xfa6e
^
bios.S:1001:7: error: invalid .org offset '65176' (at offset '68085')
.org ((0xf800 -0xf000) << 4)+0x7e98
^
bios.S:1012:7: error: invalid .org offset '65189' (at offset '68098')
.org ((0xf800 -0xf000) << 4)+0x7ea5
^
bios.S:1054:7: error: invalid .org offset '65255' (at offset '68170')
.org ((0xf800 -0xf000) << 4)+0x7ee7
^
bios.S:1070:7: error: invalid .org offset '65504' (at offset '68179')
.org 0xffe0
^
bios.S:1077:7: error: invalid .org offset '65520' (at offset '68191')
.org 0xfff0
^
make: *** [bios.o] Error 1
DPMI is pretty important, right?
Yes. Even if you use golded for BBS mailing, you'd need that. But any portability efforts are better than nothing. Please try again.
I pulled your changes, but I'm seeing the exact same error chain as before.
Even this one?
bios.S:250:6: error: invalid .org offset '57344' (at offset '65728')
.org 0xe000
That's the first one, right? Yes, it's still there.
Line numbers look wrong, do you really have the specified text at these lines? As I don't have what it says here on line 250.
I'm not at my local machine to pull it up in Sublime Text, but remotely via nano, line 250 of bios.S
appears to be:
/* ======================= Addr = F000:E2E0 (FE2E0) */
Indeed.
And .org 0xe000
is at line 178.
Confused...
Here's full output, in case any of the top stuff is useful:
echo "Updating version.h"; \
echo "#ifndef VERSION_H" > ../../../src/include/version.hh; \
echo "#define VERSION_H" >> ../../../src/include/version.hh; \
echo "#define VERSTR \"2.0pre8-711-g97f75c24\"" >> ../../../src/include/version.hh; \
echo "#define VERSION_NUM 2" >> ../../../src/include/version.hh; \
echo "#define SUBLEVEL 0" >> ../../../src/include/version.hh; \
echo "#define PATCHLEVEL1 \"pre8\"" >> ../../../src/include/version.hh; \
echo "#define REVISION 4410" >> ../../../src/include/version.hh; \
echo "#define VERDATE \""2018-12-08"\"" >> ../../../src/include/version.hh; \
echo "#endif /* VERSION_H */" >> ../../../src/include/version.hh
Updating version.h
gcc -c -MMD -DCFLAGS_STR="-Wall -Wstrict-prototypes -Wmissing-declarations -Wnested-externs -fms-extensions -pthread -imacros config.hh -Wno-unused-result -Wcast-qual -Wwrite-strings -fno-stack-protector -Wno-microsoft -Wno-incompatible-pointer-types -Wno-address-of-packed-member -fpie -O2 " -I../../../src/include -I../../../src/plugin/include -I/Users/kirkman/repos/dosemu2/src/include -Wall -Wstrict-prototypes -Wmissing-declarations -Wnested-externs -fms-extensions -pthread -imacros config.hh -Wno-unused-result -Wcast-qual -Wwrite-strings -fno-stack-protector -Wno-microsoft -Wno-incompatible-pointer-types -Wno-address-of-packed-member -fpie -O2 -o int10.o int10.c
gcc -c -MMD -DCFLAGS_STR="-Wall -Wstrict-prototypes -Wmissing-declarations -Wnested-externs -fms-extensions -pthread -imacros config.hh -Wno-unused-result -Wcast-qual -Wwrite-strings -fno-stack-protector -Wno-microsoft -Wno-incompatible-pointer-types -Wno-address-of-packed-member -fpie -O2 " -I../../../src/include -I../../../src/plugin/include -I/Users/kirkman/repos/dosemu2/src/include -Wall -Wstrict-prototypes -Wmissing-declarations -Wnested-externs -fms-extensions -pthread -imacros config.hh -Wno-unused-result -Wcast-qual -Wwrite-strings -fno-stack-protector -Wno-microsoft -Wno-incompatible-pointer-types -Wno-address-of-packed-member -fpie -O2 -o int16.o int16.c
gcc -c -MMD -DCFLAGS_STR="-Wall -Wstrict-prototypes -Wmissing-declarations -Wnested-externs -fms-extensions -pthread -imacros config.hh -Wno-unused-result -Wcast-qual -Wwrite-strings -fno-stack-protector -Wno-microsoft -Wno-incompatible-pointer-types -Wno-address-of-packed-member -fpie -O2 " -I../../../src/include -I../../../src/plugin/include -I/Users/kirkman/repos/dosemu2/src/include -Wall -Wstrict-prototypes -Wmissing-declarations -Wnested-externs -fms-extensions -pthread -imacros config.hh -Wno-unused-result -Wcast-qual -Wwrite-strings -fno-stack-protector -Wno-microsoft -Wno-incompatible-pointer-types -Wno-address-of-packed-member -fpie -O2 -o int17.o int17.c
gcc -c -MMD -DCFLAGS_STR="-Wall -Wstrict-prototypes -Wmissing-declarations -Wnested-externs -fms-extensions -pthread -imacros config.hh -Wno-unused-result -Wcast-qual -Wwrite-strings -fno-stack-protector -Wno-microsoft -Wno-incompatible-pointer-types -Wno-address-of-packed-member -fpie -O2 " -I../../../src/include -I../../../src/plugin/include -I/Users/kirkman/repos/dosemu2/src/include -Wall -Wstrict-prototypes -Wmissing-declarations -Wnested-externs -fms-extensions -pthread -imacros config.hh -Wno-unused-result -Wcast-qual -Wwrite-strings -fno-stack-protector -Wno-microsoft -Wno-incompatible-pointer-types -Wno-address-of-packed-member -fpie -O2 -o hlt.o hlt.c
gcc -c -MMD -DCFLAGS_STR="-Wall -Wstrict-prototypes -Wmissing-declarations -Wnested-externs -fms-extensions -pthread -imacros config.hh -Wno-unused-result -Wcast-qual -Wwrite-strings -fno-stack-protector -Wno-microsoft -Wno-incompatible-pointer-types -Wno-address-of-packed-member -fpie -O2 " -I../../../src/include -I../../../src/plugin/include -I/Users/kirkman/repos/dosemu2/src/include -Wall -Wstrict-prototypes -Wmissing-declarations -Wnested-externs -fms-extensions -pthread -imacros config.hh -Wno-unused-result -Wcast-qual -Wwrite-strings -fno-stack-protector -Wno-microsoft -Wno-incompatible-pointer-types -Wno-address-of-packed-member -fpie -O2 -o setup.o setup.c
gcc -c -MMD -DCFLAGS_STR="-Wall -Wstrict-prototypes -Wmissing-declarations -Wnested-externs -fms-extensions -pthread -imacros config.hh -Wno-unused-result -Wcast-qual -Wwrite-strings -fno-stack-protector -Wno-microsoft -Wno-incompatible-pointer-types -Wno-address-of-packed-member -fpie -O2 " -I../../../src/include -I../../../src/plugin/include -I/Users/kirkman/repos/dosemu2/src/include -Wall -Wstrict-prototypes -Wmissing-declarations -Wnested-externs -fms-extensions -pthread -imacros config.hh -Wno-unused-result -Wcast-qual -Wwrite-strings -fno-stack-protector -Wno-microsoft -Wno-incompatible-pointer-types -Wno-address-of-packed-member -fpie -O2 -o vgabios.o vgabios.c
gcc -E -MMD -DCFLAGS_STR="-Wall -Wstrict-prototypes -Wmissing-declarations -Wnested-externs -fms-extensions -pthread -imacros config.hh -Wno-unused-result -Wcast-qual -Wwrite-strings -fno-stack-protector -Wno-microsoft -Wno-incompatible-pointer-types -Wno-address-of-packed-member -fpie -O2 " -I../../../src/include -I../../../src/plugin/include -I/Users/kirkman/repos/dosemu2/src/include bios.S | as -o bios.o
bios.S:250:6: error: invalid .org offset '57344' (at offset '65728')
.org 0xe000
^
bios.S:256:6: error: invalid .org offset '57435' (at offset '65815')
.org 0xe05b
^
bios.S:298:6: error: invalid .org offset '58032' (at offset '65867')
.org 0xe2b0
^
bios.S:306:6: error: invalid .org offset '58054' (at offset '65872')
.org 0xe2c6
^
bios.S:317:7: error: invalid .org offset '58079' (at offset '65883')
.org ((0xf800 - 0xf000) << 4) + 0x62df
^
bios.S:321:14: error: invalid .org offset '58080' (at offset '65884')
.org 0xe2e0
^
bios.S:335:7: error: invalid .org offset '58128' (at offset '65901')
.org ((0xf800 - 0xf000) << 4) + 0x6310
^
bios.S:343:7: error: invalid .org offset '58144' (at offset '65904')
.org ((0xf800 -0xf000) << 4)+0x6320
^
bios.S:355:7: error: invalid .org offset '58160' (at offset '65916')
.org ((0xf800 -0xf000) << 4)+0x6330
^
bios.S:401:14: error: invalid .org offset '58272' (at offset '65991')
.org (0xe3a0)
^
bios.S:417:7: error: invalid .org offset '58352' (at offset '66023')
.org ((0xf800 -0xf000) << 4)+0x63f0
^
bios.S:435:7: error: invalid .org offset '58369' (at offset '66034')
.org ((0xf800 - 0xf000) << 4) + 0x6401
^
bios.S:453:7: error: invalid .org offset '58400' (at offset '66050')
.org ((0xf800 - 0xf000) << 4) + 0x6420
^
bios.S:473:7: error: invalid .org offset '59125' (at offset '66066')
.org 0xe6f5
^
bios.S:492:7: error: invalid .org offset '59783' (at offset '66076')
.org ((0xf000 -0xf000) << 4)+0xe987
^
bios.S:647:7: error: invalid .org offset '61383' (at offset '66298')
.org ((0xf800 - 0xf000) << 4) + 0x6fc7
^
bios.S:666:7: error: invalid .org offset '61397' (at offset '66312')
.org ((0xf800 - 0xf000) << 4) + 0x6fc7 + 14
^
bios.S:684:7: error: invalid .org offset '61541' (at offset '66326')
.org ((0xf800 - 0xf000) << 4) + 0x7065
^
bios.S:697:7: error: invalid .org offset '61696' (at offset '66327')
.org 0xf100
^
bios.S:705:7: error: invalid .org offset '61712' (at offset '66334')
.org 0xf110
^
bios.S:716:7: error: invalid .org offset '61760' (at offset '66343')
.org (((0xf000) - 0xf000) << 4) + 0xf140
^
bios.S:750:7: error: invalid .org offset '62000' (at offset '66388')
.org ((0xf000 -0xf000) << 4)+0xf230
^
bios.S:769:7: error: invalid .org offset '62256' (at offset '66411')
.org ((0xf000 - 0xf000) << 4) + 0xf330
^
bios.S:805:7: error: invalid .org offset '62464' (at offset '66468')
.org ((0xf000 - 0xf000) << 4) + 0xF400
^
bios.S:865:7: error: invalid .org offset '62624' (at offset '66580')
.org ((0xf000 - 0xf000) << 4) + 0xF4A0
^
bios.S:982:7: error: invalid .org offset '62720' (at offset '66692')
.org ((0xf000 - 0xf000) << 4) + 0xF500
^
bios.S:985:7: error: invalid .org offset '62848' (at offset '66798')
.org ((0xf000 - 0xf000) << 4) + 0xF580
^
bios.S:988:7: error: invalid .org offset '62976' (at offset '66904')
.org ((0xf000 - 0xf000) << 4) + 0xF600
^
bios.S:991:7: error: invalid .org offset '64110' (at offset '67010')
.org 0xfa6e
^
bios.S:1001:7: error: invalid .org offset '65176' (at offset '68034')
.org ((0xf800 -0xf000) << 4)+0x7e98
^
bios.S:1012:7: error: invalid .org offset '65189' (at offset '68047')
.org ((0xf800 -0xf000) << 4)+0x7ea5
^
bios.S:298:6: error: invalid .org offset '58032' (at offset '65870')
.org 0xe2b0
^
bios.S:306:6: error: invalid .org offset '58054' (at offset '65875')
.org 0xe2c6
^
bios.S:317:7: error: invalid .org offset '58079' (at offset '65886')
.org ((0xf800 - 0xf000) << 4) + 0x62df
^
bios.S:321:14: error: invalid .org offset '58080' (at offset '65887')
.org 0xe2e0
^
bios.S:335:7: error: invalid .org offset '58128' (at offset '65904')
.org ((0xf800 - 0xf000) << 4) + 0x6310
^
bios.S:343:7: error: invalid .org offset '58144' (at offset '65907')
.org ((0xf800 -0xf000) << 4)+0x6320
^
bios.S:355:7: error: invalid .org offset '58160' (at offset '65919')
.org ((0xf800 -0xf000) << 4)+0x6330
^
bios.S:401:14: error: invalid .org offset '58272' (at offset '65994')
.org (0xe3a0)
^
bios.S:417:7: error: invalid .org offset '58352' (at offset '66027')
.org ((0xf800 -0xf000) << 4)+0x63f0
^
bios.S:435:7: error: invalid .org offset '58369' (at offset '66038')
.org ((0xf800 - 0xf000) << 4) + 0x6401
^
bios.S:453:7: error: invalid .org offset '58400' (at offset '66054')
.org ((0xf800 - 0xf000) << 4) + 0x6420
^
bios.S:473:7: error: invalid .org offset '59125' (at offset '66070')
.org 0xe6f5
^
bios.S:492:7: error: invalid .org offset '59783' (at offset '66080')
.org ((0xf000 -0xf000) << 4)+0xe987
^
bios.S:647:7: error: invalid .org offset '61383' (at offset '66332')
.org ((0xf800 - 0xf000) << 4) + 0x6fc7
^
bios.S:666:7: error: invalid .org offset '61397' (at offset '66346')
.org ((0xf800 - 0xf000) << 4) + 0x6fc7 + 14
^
bios.S:684:7: error: invalid .org offset '61541' (at offset '66360')
.org ((0xf800 - 0xf000) << 4) + 0x7065
^
bios.S:697:7: error: invalid .org offset '61696' (at offset '66361')
.org 0xf100
^
bios.S:705:7: error: invalid .org offset '61712' (at offset '66368')
.org 0xf110
^
bios.S:716:7: error: invalid .org offset '61760' (at offset '66377')
.org (((0xf000) - 0xf000) << 4) + 0xf140
^
bios.S:750:7: error: invalid .org offset '62000' (at offset '66420')
.org ((0xf000 -0xf000) << 4)+0xf230
^
bios.S:769:7: error: invalid .org offset '62256' (at offset '66445')
.org ((0xf000 - 0xf000) << 4) + 0xf330
^
bios.S:805:7: error: invalid .org offset '62464' (at offset '66502')
.org ((0xf000 - 0xf000) << 4) + 0xF400
^
bios.S:865:7: error: invalid .org offset '62624' (at offset '66628')
.org ((0xf000 - 0xf000) << 4) + 0xF4A0
^
bios.S:982:7: error: invalid .org offset '62720' (at offset '66740')
.org ((0xf000 - 0xf000) << 4) + 0xF500
^
bios.S:985:7: error: invalid .org offset '62848' (at offset '66847')
.org ((0xf000 - 0xf000) << 4) + 0xF580
^
bios.S:988:7: error: invalid .org offset '62976' (at offset '66954')
.org ((0xf000 - 0xf000) << 4) + 0xF600
^
bios.S:991:7: error: invalid .org offset '64110' (at offset '67061')
.org 0xfa6e
^
bios.S:1001:7: error: invalid .org offset '65176' (at offset '68085')
.org ((0xf800 -0xf000) << 4)+0x7e98
^
bios.S:1012:7: error: invalid .org offset '65189' (at offset '68098')
.org ((0xf800 -0xf000) << 4)+0x7ea5
^
bios.S:1054:7: error: invalid .org offset '65255' (at offset '68170')
.org ((0xf800 -0xf000) << 4)+0x7ee7
^
bios.S:1070:7: error: invalid .org offset '65504' (at offset '68179')
.org 0xffe0
^
bios.S:1077:7: error: invalid .org offset '65520' (at offset '68191')
.org 0xfff0
^
bios.S:250:6: error: invalid .org offset '57344' (at offset '65728')
.org 0xe000
^
bios.S:256:6: error: invalid .org offset '57435' (at offset '65815')
.org 0xe05b
^
bios.S:298:6: error: invalid .org offset '58032' (at offset '65870')
.org 0xe2b0
^
bios.S:306:6: error: invalid .org offset '58054' (at offset '65875')
.org 0xe2c6
^
bios.S:317:7: error: invalid .org offset '58079' (at offset '65886')
.org ((0xf800 - 0xf000) << 4) + 0x62df
^
bios.S:321:14: error: invalid .org offset '58080' (at offset '65887')
.org 0xe2e0
^
bios.S:335:7: error: invalid .org offset '58128' (at offset '65904')
.org ((0xf800 - 0xf000) << 4) + 0x6310
^
bios.S:343:7: error: invalid .org offset '58144' (at offset '65907')
.org ((0xf800 -0xf000) << 4)+0x6320
^
bios.S:355:7: error: invalid .org offset '58160' (at offset '65919')
.org ((0xf800 -0xf000) << 4)+0x6330
^
bios.S:401:14: error: invalid .org offset '58272' (at offset '65994')
.org (0xe3a0)
^
bios.S:417:7: error: invalid .org offset '58352' (at offset '66027')
.org ((0xf800 -0xf000) << 4)+0x63f0
^
bios.S:435:7: error: invalid .org offset '58369' (at offset '66038')
.org ((0xf800 - 0xf000) << 4) + 0x6401
^
bios.S:453:7: error: invalid .org offset '58400' (at offset '66054')
.org ((0xf800 - 0xf000) << 4) + 0x6420
^
bios.S:473:7: error: invalid .org offset '59125' (at offset '66070')
.org 0xe6f5
^
bios.S:492:7: error: invalid .org offset '59783' (at offset '66080')
.org ((0xf000 -0xf000) << 4)+0xe987
^
bios.S:647:7: error: invalid .org offset '61383' (at offset '66332')
.org ((0xf800 - 0xf000) << 4) + 0x6fc7
^
bios.S:666:7: error: invalid .org offset '61397' (at offset '66346')
.org ((0xf800 - 0xf000) << 4) + 0x6fc7 + 14
^
bios.S:684:7: error: invalid .org offset '61541' (at offset '66360')
.org ((0xf800 - 0xf000) << 4) + 0x7065
^
bios.S:697:7: error: invalid .org offset '61696' (at offset '66361')
.org 0xf100
^
bios.S:705:7: error: invalid .org offset '61712' (at offset '66368')
.org 0xf110
^
bios.S:716:7: error: invalid .org offset '61760' (at offset '66377')
.org (((0xf000) - 0xf000) << 4) + 0xf140
^
bios.S:750:7: error: invalid .org offset '62000' (at offset '66420')
.org ((0xf000 -0xf000) << 4)+0xf230
^
bios.S:769:7: error: invalid .org offset '62256' (at offset '66445')
.org ((0xf000 - 0xf000) << 4) + 0xf330
^
bios.S:805:7: error: invalid .org offset '62464' (at offset '66502')
.org ((0xf000 - 0xf000) << 4) + 0xF400
^
bios.S:865:7: error: invalid .org offset '62624' (at offset '66628')
.org ((0xf000 - 0xf000) << 4) + 0xF4A0
^
bios.S:982:7: error: invalid .org offset '62720' (at offset '66740')
.org ((0xf000 - 0xf000) << 4) + 0xF500
^
bios.S:985:7: error: invalid .org offset '62848' (at offset '66847')
.org ((0xf000 - 0xf000) << 4) + 0xF580
^
bios.S:988:7: error: invalid .org offset '62976' (at offset '66954')
.org ((0xf000 - 0xf000) << 4) + 0xF600
^
bios.S:991:7: error: invalid .org offset '64110' (at offset '67061')
.org 0xfa6e
^
bios.S:1001:7: error: invalid .org offset '65176' (at offset '68085')
.org ((0xf800 -0xf000) << 4)+0x7e98
^
bios.S:1012:7: error: invalid .org offset '65189' (at offset '68098')
.org ((0xf800 -0xf000) << 4)+0x7ea5
^
bios.S:1054:7: error: invalid .org offset '65255' (at offset '68170')
.org ((0xf800 -0xf000) << 4)+0x7ee7
^
bios.S:1070:7: error: invalid .org offset '65504' (at offset '68179')
.org 0xffe0
^
bios.S:1077:7: error: invalid .org offset '65520' (at offset '68191')
.org 0xfff0
^
make: *** [bios.o] Error 1
C preprocessor piping into as?
C preprocessor piping into as?
Indeed! Will fix, that's a bug.
Please try again.
So, I git pulled, which changed many files, but make
in /src/base/bios
still yields the same error output.
Even the line numbers are still wrong? Please post the beginning of output.
gcc -c -MMD -DCFLAGS_STR="-Wall -Wstrict-prototypes -Wmissing-declarations -Wnested-externs
-fms-extensions -pthread -imacros config.hh -Wno-unused-result -Wcast-qual -Wwrite-strings
-fno-stack-protector -Wno-microsoft -Wno-incompatible-pointer-types
-Wno-address-of-packed-member -fpie -O2
" -I../../../src/include -I../../../src/plugin/include
-I/Users/kirkman/repos/dosemu2/src/include
-x assembler-with-cpp -o bios.o bios.S
bios.S:250:6: error: invalid .org offset '57344' (at offset '65728')
.org 0xe000
^
bios.S:256:6: error: invalid .org offset '57435' (at offset '65815')
.org 0xe05b
^
bios.S:298:6: error: invalid .org offset '58032' (at offset '65867')
.org 0xe2b0
^
bios.S:306:6: error: invalid .org offset '58054' (at offset '65872')
.org 0xe2c6
^
bios.S:317:7: error: invalid .org offset '58079' (at offset '65883')
.org ((0xf800 - 0xf000) << 4) + 0x62df
^
bios.S:321:14: error: invalid .org offset '58080' (at offset '65884')
.org 0xe2e0
^
bios.S:335:7: error: invalid .org offset '58128' (at offset '65901')
.org ((0xf800 - 0xf000) << 4) + 0x6310
^
bios.S:343:7: error: invalid .org offset '58144' (at offset '65904')
.org ((0xf800 -0xf000) << 4)+0x6320
^
bios.S:355:7: error: invalid .org offset '58160' (at offset '65916')
.org ((0xf800 -0xf000) << 4)+0x6330
^
bios.S:401:14: error: invalid .org offset '58272' (at offset '65991')
.org (0xe3a0)
^
bios.S:417:7: error: invalid .org offset '58352' (at offset '66023')
.org ((0xf800 -0xf000) << 4)+0x63f0
^
bios.S:435:7: error: invalid .org offset '58369' (at offset '66034')
.org ((0xf800 - 0xf000) << 4) + 0x6401
^
bios.S:453:7: error: invalid .org offset '58400' (at offset '66050')
.org ((0xf800 - 0xf000) << 4) + 0x6420
^
bios.S:473:7: error: invalid .org offset '59125' (at offset '66066')
.org 0xe6f5
^
bios.S:492:7: error: invalid .org offset '59783' (at offset '66076')
.org ((0xf000 -0xf000) << 4)+0xe987
^
bios.S:647:7: error: invalid .org offset '61383' (at offset '66298')
.org ((0xf800 - 0xf000) << 4) + 0x6fc7
^
bios.S:666:7: error: invalid .org offset '61397' (at offset '66312')
.org ((0xf800 - 0xf000) << 4) + 0x6fc7 + 14
^
bios.S:684:7: error: invalid .org offset '61541' (at offset '66326')
.org ((0xf800 - 0xf000) << 4) + 0x7065
^
bios.S:697:7: error: invalid .org offset '61696' (at offset '66327')
.org 0xf100
^
bios.S:705:7: error: invalid .org offset '61712' (at offset '66334')
.org 0xf110
^
bios.S:716:7: error: invalid .org offset '61760' (at offset '66343')
.org (((0xf000) - 0xf000) << 4) + 0xf140
^
bios.S:750:7: error: invalid .org offset '62000' (at offset '66388')
.org ((0xf000 -0xf000) << 4)+0xf230
^
bios.S:769:7: error: invalid .org offset '62256' (at offset '66411')
.org ((0xf000 - 0xf000) << 4) + 0xf330
^
bios.S:805:7: error: invalid .org offset '62464' (at offset '66468')
.org ((0xf000 - 0xf000) << 4) + 0xF400
^
bios.S:865:7: error: invalid .org offset '62624' (at offset '66580')
.org ((0xf000 - 0xf000) << 4) + 0xF4A0
^
bios.S:982:7: error: invalid .org offset '62720' (at offset '66692')
.org ((0xf000 - 0xf000) << 4) + 0xF500
^
bios.S:985:7: error: invalid .org offset '62848' (at offset '66798')
.org ((0xf000 - 0xf000) << 4) + 0xF580
^
bios.S:988:7: error: invalid .org offset '62976' (at offset '66904')
.org ((0xf000 - 0xf000) << 4) + 0xF600
^
bios.S:991:7: error: invalid .org offset '64110' (at offset '67010')
.org 0xfa6e
^
bios.S:1001:7: error: invalid .org offset '65176' (at offset '68034')
.org ((0xf800 -0xf000) << 4)+0x7e98
^
bios.S:1012:7: error: invalid .org offset '65189' (at offset '68047')
.org ((0xf800 -0xf000) << 4)+0x7ea5
^
bios.S:298:6: error: invalid .org offset '58032' (at offset '65870')
.org 0xe2b0
^
bios.S:306:6: error: invalid .org offset '58054' (at offset '65875')
.org 0xe2c6
^
bios.S:317:7: error: invalid .org offset '58079' (at offset '65886')
.org ((0xf800 - 0xf000) << 4) + 0x62df
^
bios.S:321:14: error: invalid .org offset '58080' (at offset '65887')
.org 0xe2e0
^
bios.S:335:7: error: invalid .org offset '58128' (at offset '65904')
.org ((0xf800 - 0xf000) << 4) + 0x6310
^
bios.S:343:7: error: invalid .org offset '58144' (at offset '65907')
.org ((0xf800 -0xf000) << 4)+0x6320
^
bios.S:355:7: error: invalid .org offset '58160' (at offset '65919')
.org ((0xf800 -0xf000) << 4)+0x6330
^
bios.S:401:14: error: invalid .org offset '58272' (at offset '65994')
.org (0xe3a0)
^
bios.S:417:7: error: invalid .org offset '58352' (at offset '66027')
.org ((0xf800 -0xf000) << 4)+0x63f0
^
bios.S:435:7: error: invalid .org offset '58369' (at offset '66038')
.org ((0xf800 - 0xf000) << 4) + 0x6401
^
bios.S:453:7: error: invalid .org offset '58400' (at offset '66054')
.org ((0xf800 - 0xf000) << 4) + 0x6420
^
bios.S:473:7: error: invalid .org offset '59125' (at offset '66070')
.org 0xe6f5
^
bios.S:492:7: error: invalid .org offset '59783' (at offset '66080')
.org ((0xf000 -0xf000) << 4)+0xe987
^
bios.S:647:7: error: invalid .org offset '61383' (at offset '66332')
.org ((0xf800 - 0xf000) << 4) + 0x6fc7
^
bios.S:666:7: error: invalid .org offset '61397' (at offset '66346')
.org ((0xf800 - 0xf000) << 4) + 0x6fc7 + 14
^
bios.S:684:7: error: invalid .org offset '61541' (at offset '66360')
.org ((0xf800 - 0xf000) << 4) + 0x7065
^
bios.S:697:7: error: invalid .org offset '61696' (at offset '66361')
.org 0xf100
^
bios.S:705:7: error: invalid .org offset '61712' (at offset '66368')
.org 0xf110
^
bios.S:716:7: error: invalid .org offset '61760' (at offset '66377')
.org (((0xf000) - 0xf000) << 4) + 0xf140
^
bios.S:750:7: error: invalid .org offset '62000' (at offset '66420')
.org ((0xf000 -0xf000) << 4)+0xf230
^
bios.S:769:7: error: invalid .org offset '62256' (at offset '66445')
.org ((0xf000 - 0xf000) << 4) + 0xf330
^
bios.S:805:7: error: invalid .org offset '62464' (at offset '66502')
.org ((0xf000 - 0xf000) << 4) + 0xF400
^
bios.S:865:7: error: invalid .org offset '62624' (at offset '66628')
.org ((0xf000 - 0xf000) << 4) + 0xF4A0
^
bios.S:982:7: error: invalid .org offset '62720' (at offset '66740')
.org ((0xf000 - 0xf000) << 4) + 0xF500
^
bios.S:985:7: error: invalid .org offset '62848' (at offset '66847')
.org ((0xf000 - 0xf000) << 4) + 0xF580
^
bios.S:988:7: error: invalid .org offset '62976' (at offset '66954')
.org ((0xf000 - 0xf000) << 4) + 0xF600
^
bios.S:991:7: error: invalid .org offset '64110' (at offset '67061')
.org 0xfa6e
^
bios.S:1001:7: error: invalid .org offset '65176' (at offset '68085')
.org ((0xf800 -0xf000) << 4)+0x7e98
^
bios.S:1012:7: error: invalid .org offset '65189' (at offset '68098')
.org ((0xf800 -0xf000) << 4)+0x7ea5
^
bios.S:1054:7: error: invalid .org offset '65255' (at offset '68170')
.org ((0xf800 -0xf000) << 4)+0x7ee7
^
bios.S:1070:7: error: invalid .org offset '65504' (at offset '68179')
.org 0xffe0
^
bios.S:1077:7: error: invalid .org offset '65520' (at offset '68191')
.org 0xfff0
^
bios.S:250:6: error: invalid .org offset '57344' (at offset '65728')
.org 0xe000
^
bios.S:256:6: error: invalid .org offset '57435' (at offset '65815')
.org 0xe05b
^
bios.S:298:6: error: invalid .org offset '58032' (at offset '65870')
.org 0xe2b0
^
bios.S:306:6: error: invalid .org offset '58054' (at offset '65875')
.org 0xe2c6
^
bios.S:317:7: error: invalid .org offset '58079' (at offset '65886')
.org ((0xf800 - 0xf000) << 4) + 0x62df
^
bios.S:321:14: error: invalid .org offset '58080' (at offset '65887')
.org 0xe2e0
^
bios.S:335:7: error: invalid .org offset '58128' (at offset '65904')
.org ((0xf800 - 0xf000) << 4) + 0x6310
^
bios.S:343:7: error: invalid .org offset '58144' (at offset '65907')
.org ((0xf800 -0xf000) << 4)+0x6320
^
bios.S:355:7: error: invalid .org offset '58160' (at offset '65919')
.org ((0xf800 -0xf000) << 4)+0x6330
^
bios.S:401:14: error: invalid .org offset '58272' (at offset '65994')
.org (0xe3a0)
^
bios.S:417:7: error: invalid .org offset '58352' (at offset '66027')
.org ((0xf800 -0xf000) << 4)+0x63f0
^
bios.S:435:7: error: invalid .org offset '58369' (at offset '66038')
.org ((0xf800 - 0xf000) << 4) + 0x6401
^
bios.S:453:7: error: invalid .org offset '58400' (at offset '66054')
.org ((0xf800 - 0xf000) << 4) + 0x6420
^
bios.S:473:7: error: invalid .org offset '59125' (at offset '66070')
.org 0xe6f5
^
bios.S:492:7: error: invalid .org offset '59783' (at offset '66080')
.org ((0xf000 -0xf000) << 4)+0xe987
^
bios.S:647:7: error: invalid .org offset '61383' (at offset '66332')
.org ((0xf800 - 0xf000) << 4) + 0x6fc7
^
bios.S:666:7: error: invalid .org offset '61397' (at offset '66346')
.org ((0xf800 - 0xf000) << 4) + 0x6fc7 + 14
^
bios.S:684:7: error: invalid .org offset '61541' (at offset '66360')
.org ((0xf800 - 0xf000) << 4) + 0x7065
^
bios.S:697:7: error: invalid .org offset '61696' (at offset '66361')
.org 0xf100
^
bios.S:705:7: error: invalid .org offset '61712' (at offset '66368')
.org 0xf110
^
bios.S:716:7: error: invalid .org offset '61760' (at offset '66377')
.org (((0xf000) - 0xf000) << 4) + 0xf140
^
bios.S:750:7: error: invalid .org offset '62000' (at offset '66420')
.org ((0xf000 -0xf000) << 4)+0xf230
^
bios.S:769:7: error: invalid .org offset '62256' (at offset '66445')
.org ((0xf000 - 0xf000) << 4) + 0xf330
^
bios.S:805:7: error: invalid .org offset '62464' (at offset '66502')
.org ((0xf000 - 0xf000) << 4) + 0xF400
^
bios.S:865:7: error: invalid .org offset '62624' (at offset '66628')
.org ((0xf000 - 0xf000) << 4) + 0xF4A0
^
bios.S:982:7: error: invalid .org offset '62720' (at offset '66740')
.org ((0xf000 - 0xf000) << 4) + 0xF500
^
bios.S:985:7: error: invalid .org offset '62848' (at offset '66847')
.org ((0xf000 - 0xf000) << 4) + 0xF580
^
bios.S:988:7: error: invalid .org offset '62976' (at offset '66954')
.org ((0xf000 - 0xf000) << 4) + 0xF600
^
bios.S:991:7: error: invalid .org offset '64110' (at offset '67061')
.org 0xfa6e
^
bios.S:1001:7: error: invalid .org offset '65176' (at offset '68085')
.org ((0xf800 -0xf000) << 4)+0x7e98
^
bios.S:1012:7: error: invalid .org offset '65189' (at offset '68098')
.org ((0xf800 -0xf000) << 4)+0x7ea5
^
bios.S:1054:7: error: invalid .org offset '65255' (at offset '68170')
.org ((0xf800 -0xf000) << 4)+0x7ee7
^
bios.S:1070:7: error: invalid .org offset '65504' (at offset '68179')
.org 0xffe0
^
bios.S:1077:7: error: invalid .org offset '65520' (at offset '68191')
.org 0xfff0
^
make: *** [bios.o] Error 1
Please show me gcc -v
Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/usr/include/c++/4.2.1
Apple LLVM version 10.0.0 (clang-1000.11.45.5)
Target: x86_64-apple-darwin17.7.0
Thread model: posix
InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin
Great, so its clang, not gcc! How could that happen?
Please copy the bios.S build command from
terminal and paste it to command line. Then
add -fno-integrated-as
after assembler-with-cpp
.
What happens then?
Apple does that by default.
Okay, so I tried gcc -c -MMD -DCFLAGS_STR="-Wall -Wstrict-prototypes -Wmissing-declarations -Wnested-externs -fms-extensions -pthread -imacros config.hh -Wno-unused-result -Wcast-qual -Wwrite-strings -fno-stack-protector -Wno-microsoft -Wno-incompatible-pointer-types -Wno-address-of-packed-member -fpie -O2 " -I../../../src/include -I../../../src/plugin/include -I/Users/kirkman/repos/dosemu2/src/include -x assembler-with-cpp -fno-integrated-as -o bios.o bios.S
with this result:
bios.S:48:Unknown pseudo-op: .rept
bios.S:48:Rest of line ignored. 1st junk character valued 48 (0).
bios.S:50:Unknown pseudo-op: .endr
bios.S:55:Unknown pseudo-op: .rept
bios.S:55:Rest of line ignored. 1st junk character valued 92 (\).
bios.S:55:Junk character 92 (\).
bios.S:55:Rest of line ignored. 1st junk character valued 118 (v).
bios.S:55:Unknown pseudo-op: .endr
bios.S:124:Unknown pseudo-op: .rept
bios.S:124:Rest of line ignored. 1st junk character valued 92 (\).
bios.S:124:Junk character 92 (\).
bios.S:124:Rest of line ignored. 1st junk character valued 118 (v).
bios.S:124:Unknown pseudo-op: .endr
bios.S:151:Alignment too large: 15. assumed.
bios.S:957:Rest of line ignored. 1st junk character valued 92 (\).
bios.S:957:invalid character '_' in mnemonic
bios.S:957:invalid character '_' in mnemonic
bios.S:957:invalid character '_' in mnemonic
bios.S:957:Rest of line ignored. 1st junk character valued 92 (\).
bios.S:957:invalid character '_' in mnemonic
bios.S:957:suffix or operands invalid for `shl'
bios.S:957:suffix or operands invalid for `shl'
bios.S:957:junk `x42' after expression
bios.S:957:expecting operand before ','; got nothing
bios.S:957:invalid character '\' in operand 1
bios.S:957:junk `xE6' after expression
bios.S:957:suffix or operands invalid for `int'
bios.S:957:invalid character '\' in operand 1
bios.S:957:invalid character '\' in operand 1
bios.S:957:suffix or operands invalid for `shl'
bios.S:957:suffix or operands invalid for `shl'
bios.S:957:suffix or operands invalid for `shl'
bios.S:957:junk `x42' after expression
bios.S:957:expecting operand before ','; got nothing
bios.S:957:invalid character '\' in operand 1
bios.S:957:junk `xE6' after expression
bios.S:957:suffix or operands invalid for `int'
bios.S:957:junk `xfffe' after expression
bios.S:957:too many memory references for `and'
bios.S:957:expecting operand before ','; got nothing
bios.S:957:expecting operand before ','; got nothing
bios.S:960:Rest of line ignored. 1st junk character valued 92 (\).
bios.S:960:invalid character '_' in mnemonic
bios.S:960:invalid character '_' in mnemonic
bios.S:960:invalid character '_' in mnemonic
bios.S:960:Rest of line ignored. 1st junk character valued 92 (\).
bios.S:960:invalid character '_' in mnemonic
bios.S:960:suffix or operands invalid for `shl'
bios.S:960:suffix or operands invalid for `shl'
bios.S:960:junk `x42' after expression
bios.S:960:expecting operand before ','; got nothing
bios.S:960:invalid character '\' in operand 1
bios.S:960:junk `xE6' after expression
bios.S:960:suffix or operands invalid for `int'
bios.S:960:invalid character '\' in operand 1
bios.S:960:invalid character '\' in operand 1
bios.S:960:suffix or operands invalid for `shl'
bios.S:960:suffix or operands invalid for `shl'
bios.S:960:suffix or operands invalid for `shl'
bios.S:960:junk `x42' after expression
bios.S:960:expecting operand before ','; got nothing
bios.S:960:invalid character '\' in operand 1
bios.S:960:junk `xE6' after expression
bios.S:960:suffix or operands invalid for `int'
bios.S:960:junk `xfffe' after expression
bios.S:960:too many memory references for `and'
bios.S:960:expecting operand before ','; got nothing
bios.S:960:expecting operand before ','; got nothing
bios.S:963:Rest of line ignored. 1st junk character valued 92 (\).
bios.S:963:invalid character '_' in mnemonic
bios.S:963:invalid character '_' in mnemonic
bios.S:963:invalid character '_' in mnemonic
bios.S:963:Rest of line ignored. 1st junk character valued 92 (\).
bios.S:963:invalid character '_' in mnemonic
bios.S:963:suffix or operands invalid for `shl'
bios.S:963:suffix or operands invalid for `shl'
bios.S:963:junk `x42' after expression
bios.S:963:expecting operand before ','; got nothing
bios.S:963:invalid character '\' in operand 1
bios.S:963:junk `xE6' after expression
bios.S:963:suffix or operands invalid for `int'
bios.S:963:invalid character '\' in operand 1
bios.S:963:invalid character '\' in operand 1
bios.S:963:suffix or operands invalid for `shl'
bios.S:963:suffix or operands invalid for `shl'
bios.S:963:suffix or operands invalid for `shl'
bios.S:963:junk `x42' after expression
bios.S:963:expecting operand before ','; got nothing
bios.S:963:invalid character '\' in operand 1
bios.S:963:junk `xE6' after expression
bios.S:963:suffix or operands invalid for `int'
bios.S:963:junk `xfffe' after expression
bios.S:963:too many memory references for `and'
bios.S:963:expecting operand before ','; got nothing
bios.S:963:expecting operand before ','; got nothing
clang: error: assembler command failed with exit code 1 (use -v to see invocation)
Any chance that you might add support for MacOS to dosemu2?
I run a BBS, and I'm looking to move the BBS to my host MacOS instead of inside a guest linux VM. I had lots of success using dosemu2 to run DOS BBS door games in Debian, but I can't get it to compile on the Mac.
I see that adding support for FreeBSD (#506) has been under consideration, as well, so maybe the two could go together.