[comp.sys.mac] Any Linkers which take arb. length names?

shap@sfsup.UUCP (J.S.Shapiro) (11/27/87)

As I understand it, external identifier names as understood
by MPW linker and Mac Linkers in general accept up to
31 character names. This is not enough for some languages,
notably C++, which mangle names in order to get them to
compile.

Is anyone aware of why this limitation exists, and whethet
there are linkers out there which circumvent it? I would be
willing to explore writing an Apple compatible linker for my
own use, but I don't have access to the object file format
anyplace obvious.

Actually, I would be interested in the object format regardless.
Any good sources for this?

Jon Shapiro

stew@endor.harvard.edu (Stew Rubenstein) (11/28/87)

In article <2413@sfsup.UUCP> shap@sfsup.UUCP (J.S.Shapiro) writes:
>As I understand it, external identifier names as understood
>by MPW linker and Mac Linkers in general accept up to
>31 character names. This is not enough for some languages,
>notably C++, which mangle names in order to get them to
>compile.
>
>Is anyone aware of why this limitation exists, and whethet
>there are linkers out there which circumvent it? I would be
>willing to explore writing an Apple compatible linker for my
>own use, but I don't have access to the object file format
>anyplace obvious.
>
>Actually, I would be interested in the object format regardless.
>Any good sources for this?
>
>Jon Shapiro

1) Apple has stated that they will be shipping C++ and porting MacApp
to C++ shortly (I am not certain, but I think they said 1Q '88).  It
is possible that the 31 character name restriction wll be lifted then.
MPW 3.0 is expected about the same time.

2) The object file format is documented in the MPW 2.0 manual, available
from APDA.

Disclaimer: I am not associated with Apple, don't speak for Apple, and
the above is only my best recollection of a rumor I heard somewhere.

Stew Rubenstein
Cambridge Scientific Computing, Inc.
UUCPnet:    seismo!harvard!rubenstein            CompuServe: 76525,421
Internet:   rubenstein@harvard.harvard.edu       MCIMail:    CSC

lsr@apple.UUCP (Larry Rosenstein) (11/30/87)

In article <2413@sfsup.UUCP> shap@sfsup.UUCP (J.S.Shapiro) writes:
>As I understand it, external identifier names as understood
>by MPW linker and Mac Linkers in general accept up to
>31 character names. This is not enough for some languages,
>notably C++, which mangle names in order to get them to
>compile.

Not true.  The MPW Pascal compiler identifiers are unique in the first 63
characters, for example.  (Object Pascal creates long identifiers also.)

The MPW object file format says that identifiers are normal Pascal strings,
and therefore can be upto 255 characters long.

>Actually, I would be interested in the object format regardless.
>Any good sources for this?

It is documented in an appendix of the MPW Shell manual.

-- 
Larry Rosenstein

Object Specialist
Apple Computer

AppleLink: Rosenstein1
UUCP:  {sun, voder, nsc, mtxinu, dual}!apple!lsr
CSNET: lsr@Apple.com