Thread overview
Problem with optlink/dmc and absolute segments
Aug 01, 2003
Carlos Rodriguez
Aug 01, 2003
Walter
Aug 01, 2003
Carlos Rodriguez
Aug 01, 2003
Walter
August 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..


August 01, 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
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..
>
>


August 01, 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
>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..
>>
>>
>
>


August 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
other
> 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
handle
> 16 bit code, am I right?

Yup.

> Thanks again!

You're welcome.