This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] Handle undefined extern vars in output_in_order


On 07/14/2016 12:33 PM, Alexander Monakov wrote:
On Thu, 14 Jul 2016, Jeff Law wrote:
Is the point here to be able to deduce what symbols are external & undefined
and emit some kind of directive to the assembler in that case?

Yes, PTX assembly requires that properly typed declarations are emitted for
external references.  Today, the NVPTX backend in GCC performs that internally
for function symbols, and relies on the middle-end to do that for data symbols,
but when the port was added that was implemented only when -ftoplevel-reorder is
in effect (the default).
Right. I remember noting that in my brief review of the PTX assembly specs and figuring it wouldn't be a big deal since we had a functional hack in place for the PA/SOM which has similar requirements.


*nod*, although as I mentioned above today it's handled in a generic way only
for undefined data symbols, not undefined function symbols.
Understood. Quickly reviewing the PA code, the other bit of magic is we avoided importing a symbol which was declared as extern, but never actually used. IIRC that caused the HP/SOM linker to core dump. Hopefully the PTX assembler/linker/finalizer handles that case more gracefully...

Jeff



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]