c++.dos.16-bits - Problem with optlink/dmc and absolute segments
- Carlos Rodriguez <Carlos_member pathlink.com> Jul 31 2003
- "Walter" <walter digitalmars.com> Jul 31 2003
- Carlos Rodriguez <Carlos_member pathlink.com> Aug 01 2003
- "Walter" <walter digitalmars.com> Aug 01 2003
Hello, I'm trying to build an almost-ROMable program, but I have some trouble linking it: optlink says: "Error 18: GROUP cannot be both relocatale and absolute : DGROUP" I have written a custom startup module, where all segments are defined with desired absolute addresses, and it is the first file input to the linker; I also have a couple more files written in assembler, and there is no problem with them. But when it tries to link an obj file generated from a C source, that error appears, so I think I'm missing something with the compiler; the command line I'm using is: dmc -3 -c -A -msuw -a1 -r -R -Nc -Ns -NL -HS -Mc -ostartup_c.obj startup_c.c As you can see, standard libraries are omitted, as in the linker: link -BINARY -DOSSEG -NOD -FIXED .... So, simplifying: how can I set up the compiler so it generates non-relocatable code? Thanks..
Jul 31 2003
The easiest way is go ahead and generate an 'MZ' executable which contains relocation information, and then run a 'locater' program on the result, which will bind it to a particular address and output the data in a form suitable for downloading to a ROM programmer. "Carlos Rodriguez" <Carlos_member pathlink.com> wrote in message news:bgcetl$26ul$1 digitaldaemon.com...Hello, I'm trying to build an almost-ROMable program, but I have some
linking it: optlink says: "Error 18: GROUP cannot be both relocatale and absolute : DGROUP" I have written a custom startup module, where all segments are defined
desired absolute addresses, and it is the first file input to the linker;
have a couple more files written in assembler, and there is no problem
them. But when it tries to link an obj file generated from a C source, that
appears, so I think I'm missing something with the compiler; the command
I'm using is: dmc -3 -c -A -msuw -a1 -r -R -Nc -Ns -NL -HS -Mc -ostartup_c.obj
As you can see, standard libraries are omitted, as in the linker: link -BINARY -DOSSEG -NOD -FIXED .... So, simplifying: how can I set up the compiler so it generates
code? Thanks..
Jul 31 2003
Ok, I have only found Paradigm's locater, but I'm not sure the evaluation version will work as I expect... (maybe it is too limited) do you know any other locaters I could use? (while waiting for Paradigm to send me their eval. package) BTW, I know GNU's linker, ld, can do this, but I'm almost sure it cannot handle 16 bit code, am I right? Thanks again! In article <bgcj5c$2aqq$1 digitaldaemon.com>, Walter says...The easiest way is go ahead and generate an 'MZ' executable which contains relocation information, and then run a 'locater' program on the result, which will bind it to a particular address and output the data in a form suitable for downloading to a ROM programmer. "Carlos Rodriguez" <Carlos_member pathlink.com> wrote in message news:bgcetl$26ul$1 digitaldaemon.com...Hello, I'm trying to build an almost-ROMable program, but I have some
linking it: optlink says: "Error 18: GROUP cannot be both relocatale and absolute : DGROUP" I have written a custom startup module, where all segments are defined
desired absolute addresses, and it is the first file input to the linker;
have a couple more files written in assembler, and there is no problem
them. But when it tries to link an obj file generated from a C source, that
appears, so I think I'm missing something with the compiler; the command
I'm using is: dmc -3 -c -A -msuw -a1 -r -R -Nc -Ns -NL -HS -Mc -ostartup_c.obj
As you can see, standard libraries are omitted, as in the linker: link -BINARY -DOSSEG -NOD -FIXED .... So, simplifying: how can I set up the compiler so it generates
code? Thanks..
Aug 01 2003
"Carlos Rodriguez" <Carlos_member pathlink.com> wrote in message news:bgdj5d$7r3$1 digitaldaemon.com...Ok, I have only found Paradigm's locater, but I'm not sure the evaluation version will work as I expect... (maybe it is too limited) do you know any
locaters I could use? (while waiting for Paradigm to send me their eval. package)
Datalight used to sell one called 'Blaze'. I have no idea if I have a copy left anymore <g>.BTW, I know GNU's linker, ld, can do this, but I'm almost sure it cannot
16 bit code, am I right?
Yup.Thanks again!
You're welcome.
Aug 01 2003








"Walter" <walter digitalmars.com>