[gnu.gcc] external linkage for dumb assemblers

franzen@infbs (Marco Franzen) (02/05/89)

I am custumizing gcc 1.32 for an ns32k system.  Its assembler wants
.import and .export directives for symbols with global linkage, but
gets confused, when I import something and define it later in the same
file. But exactly this happens when I define ASM_OUTPUT_EXTERNAL and
ASM_GLOBALIZE_LABEL to emit these directives.

int f() { g(); }
int g() {}

gets

	.importp _g	[wrong]
	.exportp _f
_f:	...		[use of g]
	.exportp _g
_g:	...		[(re)definition].

So I must sample these cases and emit the directives at the end. This
could be done by a (g)awk script, but I would rather do that in cc1.
(This requires a new hook ASM_FILE_END to be called.)

My questions are:

	Is there support for similar actions in later versions of gcc?
	Which parts of the tree are still alive at the end of the file:
	Do I have to save the nodes for local declarations of extern
	symbols as in f(){int g(); g();}?
	Is there a version of gas for the ns32k?
-- 
Marco

BITNET:		franzen@dbsinf6.bitnet	(preferred)
UUCP:		franzen@infbs.uucp