[comp.sys.amiga] PRELINK

drs-ano@duvan.nada.kth.se (Arne Nordmark) (12/31/87)

Hi, all you Lattice folks.

I recently got the 4.0 upgrade of Lattice C. (Nice job)

Best of all: The constant-expression-with-fast-floating-point bug is fixed!
(Eric Graham's raytracing program now runs with the -f option. Great.)

I've got one problem, however.
How do I use the new PRELINK option with Blink V7.2?
The documentation is really voluminous on this one :-)

Here is a raw CLI transcription of my session this morning.
It leads straight to a guru. So be careful...

--- Start of transcription ------ Start of transcription ------

1> copy * _main.c
void _main()
{
  main();
}
1> lc -v _main
Lattice AmigaDOS C Compiler, Version 4.0
Copyright (C) 1987 SAS Institute Inc.  All rights reserved.

Compiling _main.c
Module size P=00000006 D=00000000 U=00000000

Total files: 1, Compiled OK: 1

1> blink LIB:c.o+_main.o TO _main.p LIB LIB:lc.lib+LIB:amiga.lib PRELINK
Blink - Version 7.2
Copyright (c) 1986 The Software Distillery.
Copyright (c) 1987 SAS Institute Inc.  All Rights Reserved.
Box 8000  SAS Circle, Cary NC 27511-8000 - Telex 802505  (919) 467-8000

[4mUndefined symbols       [0m [4mFirst Referenced[0m
_LinkerDB                File 'LIB:c.o'
__BSSLEN                 File 'LIB:c.o'
_main                    File '_main.o'
__BSSBAS                 File 'LIB:c.o'

BLINK Complete - Maximum code size = 1560 ($00000618) bytes

Final output file size = 2656 ($00000a60) bytes
1> copy * main.c
void main()
{
}
1> lc -v main
Lattice AmigaDOS C Compiler, Version 4.0
Copyright (C) 1987 SAS Institute Inc.  All rights reserved.

Compiling main.c
Module size P=00000002 D=00000000 U=00000000

Total files: 1, Compiled OK: 1

1> blink _main.p+main.o TO main SC
Blink - Version 7.2
Copyright (c) 1986 The Software Distillery.
Copyright (c) 1987 SAS Institute Inc.  All Rights Reserved.
Box 8000  SAS Circle, Cary NC 27511-8000 - Telex 802505  (919) 467-8000


BLINK Complete - Maximum code size = 1616 ($00000650) bytes

Final output file size = 1804 ($0000070c) bytes
1> main

    ------------------------------
    |                            |
    |         G  U  R  U         |
    |                            |
    ------------------------------

---- End of transcription -------- End of transcription ----

What did I do wrong?

After a few deep dives in omd-listings and ObjDumps I found that the relocation
information gets somewhat trashed (= GURU).

Has anyone else bumped into this problem?
I'd appreciate your help!                        * HAPPY NEW YEAR *

 - Gunnar Nordmark -

gay%CLSEPF51.BITNET@cunyvm.cuny.edu (David Gay) (07/01/88)

>From: Jeff Kelley <jvkelley@watcgl.waterloo.edu>
>
>Tip to Lattice C users:  If you've been frustrated by 'omd's inability
>to disassemble load files, there is a partial way around it.  When you
>link all your object files together, use the 'PRELINK' option to 'blink'.
>You then get something very similar to a load file, but 'omd' will grok it.
>
While were on this subject, anybody have a description of the PRELINK option ?
The manual says, page 6-4, for PRELINK, ... This is described in more detail
below ... Looking below, below, further below ... one falls out of the manual.

>--
>Jeff Kelley    Graphics Lab, Dept. of Computer Science, University of Waterloo
>   uunet!watmath!watcgl!jvkelley      tel:   (519) 578-4514
>"Remember, this is not a competition, only an exhibition. Please, no wagering."

>    - David Letterman
>
---
David Gay                           Studying Computer Science at the EPFL,
                                    Ecole Polytechnique Federale de Lausanne,
How do you invent a signature ?     Switzerland.

GAY@ELDE.EPFL.CH, or
GAY@CLSEPF51.bitnet (till August)