English Amiga Board


Go Back   English Amiga Board > Support > support.Apps

 
 
Thread Tools
Old 02 January 2016, 20:09   #1
Malban
 
Posts: n/a
Linker Aztek C 3.6

Hi folks,
over the holidays I got my nifty Kyroflux device (enabling me to convert my old Amiga disks to ADFs).

Now... I wanted to check my old programming stuff, setup a quite extensive UAE environment. Got all my C-Sources together installed diverse Aztek/Lattice C and so on.

Now - there seems to be everthing working again, I can assemble, compile and -nearly- link all stuff.

The linker from the from the Aztekt C package (ln) gives following message:

Code:
Relocation table invalid from 0 to 0, of -65536!!
I know (naturally) what a relocation table is, but I can't get to grips with this error message.
I searched the net, was astonished about all the documentation I got on Aztek C. But alas, in all the documentation there is *NO* description of Linker errors.

Can anybody out there give me a clue what this is about and how I can fix it?
(The environment is now about exactly the same as the original, I am pretty sure of that).

... and please don't tell me to use Lattice, SAS or Dice or so... I would like to get the damn Aztek working again .-).

Thx for listening...

Regards

Malban
 
Old 02 January 2016, 21:10   #2
alkis
Registered User
 
Join Date: Dec 2010
Location: Athens/Greece
Age: 53
Posts: 719
Longshot...could it be a small data model configuration limitation? Can you switch to _not_ using small data?
alkis is offline  
Old 02 January 2016, 22:06   #3
Malban
 
Posts: n/a
Thanks for the interest - but no. I use large memory model.
This is configured correctly.
The error message is another one, can't remember right now, but something with

your data/code segment is larger than 65536 ...

Regards
Malban
 
Old 02 January 2016, 23:03   #4
kamelito
Zone Friend
 
kamelito's Avatar
 
Join Date: May 2006
Location: France
Posts: 1,801
Try search on usenet I saw post from 1988 not sure if a fix is given though.
Why not trying a newer version of Manx?
Kamelito

Last edited by kamelito; 02 January 2016 at 23:09.
kamelito is offline  
Old 02 January 2016, 23:31   #5
alkis
Registered User
 
Join Date: Dec 2010
Location: Athens/Greece
Age: 53
Posts: 719
Quote:
Aztec C68k/ Amiga COMPILER

cc prog- small code, small data

cc +C prog large code, small data

cc +D prog small code, large data

cc +C +D large code, large data

1.4.4 Libraries

The modules in the Aztec C68k libraries use the small code, small
data memory modeL

1.4.5 Multi-module programs

The modules that you link together to form an executable program
can use different memory models, with the following caveat

When large data and small data modules are linked together, the
linker will create an arbitrarily large data segment, without attempting
to sort the data into those that are accessed by large data modules and
those that are accessed by small data modules. When the program is
running, address register A4, which the small data modules use to
access data, will point into the middle of this data segment.

Here's the caveat data that the small data modules attempt to access
must be within 32k bytes of the location pointed at by A4. The linker
will detect data accesses by small data modules for which this condition
isn't satisfied, and issue a message. If you get this message, try
reordering the order in which the linker encounters them; if that
doesn't solve the problem, you'll have to recompile the small data
modules, making them use large data.

As we mentioned above, the modules in the libraries supplied with
Aztec C68k use the small data memory model; hence, recompilation of
a program's small data modules to use large data must include the
library modules.
source: https://archive.org/stream/Manx_Azte...stems_djvu.txt
alkis is offline  
Old 03 January 2016, 00:59   #6
Malban
 
Posts: n/a
Yeah, I already read that to, I did find the archive and the docs there :-)!
But as I said, I am pretty sure that the memory model is not the wrong.
  • I generate all C-sources with +D and +C
  • the one Assembler file I have has the lines:
    far data
    far code
    (as required)
  • - I link the cl.lib (that is the c "LARGE".lib)

If I change any of that and use small model I get the following error:

Code:
Total data size > 64K! Too large for small data model.
ln failed returncode 10
Since "my" error is different - I don't think it is the memory model.

Regards

Malban
 
Old 03 January 2016, 15:37   #7
phx
Natteravn
 
phx's Avatar
 
Join Date: Nov 2009
Location: Herford / Germany
Posts: 2,500
The last time I used Aztec-C 3.4 or 3.6 must have been more than 25 years ago, and I don't remember this error. But the first I would try to find out is the source of the error.

Isn't there any note about the name of the object file which had this invalid relocation table?

It is hard to guess what this error means, because I remember Aztec-C, unlike Lattice-C, used a custom object file format (it was definitely not hunk format). Maybe from/to 0 is the section offset to relocate or just the section index (first section)? -65536 looks like a 16-bit overflow. Who knows...

You should also try to find out in which situations this error is generated. Does it happen always? Then maybe your linker libraries are corrupted. Or when linking a specific program? Try to isolate the problem and generate a simple source for reproduction which you can post here.
phx is offline  
Old 04 January 2016, 14:27   #8
Malban
 
Posts: n/a
Found a news entry from 1988:

comp.sys.amiga.tech

I guess, I will just try another C package - though Im sure I did all my developing with Aztekt C 3.6 back than...

Regards

Malban
 
 


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools

Similar Threads
Thread Thread Starter Forum Replies Last Post
gcc linker mritter0 Coders. C/C++ 3 21 December 2014 16:54
Linker to use with AsmOne (68000) nandius_c Coders. Asm / Hardware 10 10 December 2014 11:53

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +2. The time now is 09:35.

Top

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.
Page generated in 0.07469 seconds with 15 queries