OMF records (Developers)
>
> Please download
> JAPHETH.ZIP.
>
> I automated literally everything, so it should be extremely obvious what to
> do.
Ok, I downloaded it. Additionally, I needed obernm12.zip file and tlink+make from Borland.
After adjusting some paths in RUNME.BAT, the think "runs", but outputs a warning:
warning: no stack defined
and if I start the resulting executable newbef93.exe, it just freezes. This happens with tlink version 2.0 (I don't have v1.01; if I use a newer tlink (v7.1.30) instead, the linker displays "error: Invalid initial stack offset" and no exe is generated). Is this the expected behavior?
> > [ FreeDOS ] G:\TONY>jwlinkd format dos file
> newbef93,stacks,in,out,term,sys
> JWlink Version 1.9
> Portions Copyright (c) 1985-2002 Sybase, Inc. All Rights Reserved.
> Source code is available under the Sybase Open Watcom Public License.
> loading object files
> Warning! W1032: file newbef93.obj(NEWBEF93), record 25: record (type
> 0x0070) not
> processed
> Warning! W1014: stack segment not found
> Warning! W1023: no starting address found, using 0000:0000
> creating a DOS executable
> [ FreeDOS ] G:\TONY>newbef93 < alphabox.bef
> Run time error code: 4
> compiled with old version of module
> In
> in module In
> [ FreeDOS ] G:\TONY>scrndump c:\tmp\japheth.err
>
>
> At least, to me, this makes absolutely no sense.
Warnings 1014 and 1023 are usually severe, but in this case they probably can be ignored because tlink also warns about the missing stack and tells in the map file that entry point is 0000:0000. Warning W1032 is most likely minor, because the record is just ignored and AFAIU the record isn't needed anyway.
> It is not obvious. Please define "obvious".
With "obvious" I meant "obvious to me AFTER you posted both map files here".
> No, seriously, there's even a
> blank-named empty segment in there for whatever reason. And I still wonder
> if link order matters.
It usually matters. There are linker options (DOSSEG) which tell the linker that segments are to be ordered in a special way, but I guess this doesn't apply here.
I created both map files.
tlink:
00000H 008C7H 008C8H NEWBEF93
008C8H 008C8H 00000H
008D0H 02189H 018BAH DATA
02190H 024EAH 0035BH SYS
024F0H 0261BH 0012CH IN
02620H 028B2H 00293H TERM
028C0H 02977H 000B8H OUT
02980H 02AA1H 00122H STACKS
02AB0H 12AB0H 10000H STACK
jwlink:
NEWBEF93 AUTO 0000:0000 000008c8
DATA AUTO 0000:08d0 000018ba
SYS AUTO 0000:2190 0000035b
AUTO 024e:000b 00000000
IN AUTO 024f:0000 0000012c
TERM AUTO 024f:0130 00000293
OUT AUTO 024f:03d0 000000b8
STACKS AUTO 024f:0490 00000122
STACK AUTO 02ab:0000 00010000
The only difference is the location of the unnamed and "empty" segment. However, even an "empty" segment matters: it may define a "label" which is used somewhere inside the binary or it may be used to force a certain alignment (alignment to paragraphs in this case).
However, to make further investigations I first have to know what your program is supposed to do and display.
---
MS-DOS forever!
Complete thread:
- OMF records - Rugxulo, 15.02.2012, 16:14 (Developers)
![Open in board view [Board]](img/board_d.gif)
![Open in mix view [Mix]](img/mix_d.gif)
- Just some research about the name "E. R. Videki" - rr, 15.02.2012, 21:09
- Just some research about the name "E. R. Videki" - Arjay, 15.02.2012, 22:08
- Just some research about the name "E. R. Videki" - Rugxulo, 15.02.2012, 23:19
- Just some research about the name "E. R. Videki" - Arjay, 16.02.2012, 00:47
- Just some research about the name "E. R. Videki" - Rugxulo, 15.02.2012, 23:19
- Just some research about the name "E. R. Videki" - Arjay, 15.02.2012, 22:08
- OMF records - Arjay, 15.02.2012, 22:36
- OMF records - Rugxulo, 15.02.2012, 23:29
- OMF records - Arjay, 16.02.2012, 01:09
- OMF records - Rugxulo, 16.02.2012, 08:00
- OMF records - rr, 16.02.2012, 09:51
- OMF records - Arjay, 16.02.2012, 21:37
- OMF records - marcov, 18.02.2012, 17:16
- OMF records - Rugxulo, 18.02.2012, 17:32
- OMF records - Rugxulo, 18.02.2012, 17:54
- OMF records - marcov, 19.02.2012, 16:47
- OMF records - RayeR, 19.02.2012, 17:19
- OMF records - marcov, 20.02.2012, 10:33
- OMF records - Rugxulo, 19.02.2012, 21:33
- OMF records - marcov, 20.02.2012, 18:23
- OMF records - RayeR, 19.02.2012, 17:19
- OMF records - marcov, 19.02.2012, 16:47
- OMF records - marcov, 19.02.2012, 16:43
- OMF records - Rugxulo, 19.02.2012, 21:15
- OMF records - marcov, 20.02.2012, 10:54
- OMF records - Rugxulo, 20.02.2012, 17:50
- OMF records - marcov, 20.02.2012, 18:54
- OMF records - Rugxulo, 20.02.2012, 20:09
- OMF records - marcov, 20.02.2012, 18:54
- OMF records - Rugxulo, 20.02.2012, 17:50
- OMF records - marcov, 20.02.2012, 10:54
- OMF records - Rugxulo, 19.02.2012, 21:15
- OMF records - Rugxulo, 18.02.2012, 17:54
- OMF records - Rugxulo, 18.02.2012, 17:32
- OMF records - rr, 16.02.2012, 09:51
- OMF records - Rugxulo, 16.02.2012, 08:00
- OMF records - Arjay, 16.02.2012, 01:09
- OMF records - Rugxulo, 15.02.2012, 23:29
- OMF records - Japheth, 16.02.2012, 18:08
- OMF records - Rugxulo, 16.02.2012, 19:48
- OMF records - Arjay, 16.02.2012, 21:27
- OMF records - Arjay, 16.02.2012, 21:52
- OMF records - Rugxulo, 16.02.2012, 23:09
- OMF records - Arjay, 16.02.2012, 21:52
- OMF records - Arjay, 16.02.2012, 21:27
- OMF records - Rugxulo, 17.02.2012, 02:15
- OMF records - Japheth, 17.02.2012, 08:08
- OMF records - Rugxulo, 17.02.2012, 20:21
- OMF records - Japheth, 18.02.2012, 09:05
- OMF records - Rugxulo, 18.02.2012, 16:39
- OMF records - Japheth, 18.02.2012, 17:55
- jwlinkd updated - Japheth, 20.02.2012, 14:31
- Oberon subtyping (was: JWlinkD updated) - Rugxulo, 20.02.2012, 20:14
- BEFI 3H (Oberon-M fully supported) - Rugxulo, 06.03.2012, 23:30
- Oberon subtyping (was: JWlinkD updated) - Rugxulo, 20.02.2012, 20:14
- jwlinkd updated - Japheth, 20.02.2012, 14:31
- OMF records - Japheth, 18.02.2012, 17:55
- OMF records - Rugxulo, 18.02.2012, 16:39
- OMF records - processing SYS.OBJ with tdstrip - Arjay, 18.02.2012, 14:22
- OMF records - processing SYS.OBJ with tdstrip - Arjay, 18.02.2012, 15:47
- OMF records - processing SYS.OBJ with tdstrip - Rugxulo, 18.02.2012, 17:12
- OMF records - processing SYS.OBJ with tdstrip - Rugxulo, 18.02.2012, 16:56
- OMF records - processing SYS.OBJ with tdstrip - Arjay, 19.02.2012, 10:16
- OMF records - processing SYS.OBJ with tdstrip - Rugxulo, 19.02.2012, 17:58
- OMF records - processing SYS.OBJ with tdstrip - Arjay, 19.02.2012, 10:16
- OMF records - processing SYS.OBJ with tdstrip - Arjay, 18.02.2012, 15:47
- OMF records - Japheth, 18.02.2012, 09:05
- OMF records - Rugxulo, 17.02.2012, 20:21
- OMF records - Japheth, 17.02.2012, 08:08
- OMF records - Rugxulo, 16.02.2012, 19:48
- Oberon 1.2 OC (compiler) patch - Arjay, 18.02.2012, 23:37
- Oberon/M 1.2 (OMF output) ... die, REGINT, die! - Rugxulo, 19.02.2012, 00:54
- Oberon/M 1.2 (OMF output) ... die, REGINT, die! - Arjay, 19.02.2012, 10:05
- Oberon/M 1.2 (OMF output) ... die, REGINT, die! - Rugxulo, 19.02.2012, 00:54
- Just some research about the name "E. R. Videki" - rr, 15.02.2012, 21:09
Mix view