paula@bcsaic.UUCP (Paul Allen) (11/22/89)
I attempted to compile the GNU tar program the other day and ran into what looks like a problem in asld. It reports the symbols "_9" and "_19" as being "multiple" defined. When I looked through the .s files it was trying to link, I noticed that the compiler generates *lots* of symbols whose names are small integers. The only ones that asld complains about are "_9" and "_19"! (And it only complains when it is compiling GNU tar!) I'm running 1.3d with Bruce Evans' protected mode diffs and the 1.2 compiler on a 386 clone. Anybody have any clues? Am I going to have to try to figure out how to cross-compile this thing using Turbo C? (Boy will I be happy when 386-Minix and gcc arrive!) Paul Allen -- ------------------------------------------------------------------------ Paul L. Allen | pallen@atc.boeing.com Boeing Advanced Technology Center | ...!uw-beaver!bcsaic!pallen
croes@fwi.uva.nl (Felix A. Croes) (11/24/89)
In article <17310@bcsaic.UUCP> paula@bcsaic.UUCP (Paul Allen) writes: >I attempted to compile the GNU tar program the other day and ran into >what looks like a problem in asld. It reports the symbols "_9" and >"_19" as being "multiple" defined. _9 and _19 are local labels generated by cem too keep track of things that do not have an official label (like variables), string constants and branch addresses for example. The problem is that these things should be local, and the errormessage suggests that they are global. The problem can be in cem/opt/cg or in asld. If in any of the .s files, _9 and _19 are defined as global, cem is the troublemaker. If not, asld somehow sees globals where there are only locals. the problem is probably in asld. -- Felix Croes (croes@fwi.uva.nl)