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: Proposed fix for PR 17982


> The *proper* solution to this problem is to remove all calls to
> assemble_external from the front ends and even the RTL expander; it
> should only be done from final.c and varasm.c as we are emitting
> assembly.  However, even for a macro defined only by a dozen targets,
> that is much too invasive for stage 3.  As a stopgap measure, I
> propose the following patch, which delays execution of
> assemble_external until cgraph_optimize is called.  This only works in
> unit-at-a-time mode, which I hope is good enough to solve glibc's
> problems.  

Have you looked at PR middle-end/18897?  The above change breaks bootstrap
on all 32-bit PA HP-UX ports because assemble_external can be called after
cgraph_optimize calls process_pending_assemble_externals.  These calls don't
generate any assembler output.  Possibly, process_pending_assemble_externals
needs to be called again from final.c or you need to implement the *proper*
solution discussed above.  Another solution might be a flag to control when
the assembly should be queued or output immediately.

Dave
-- 
J. David Anglin                                  dave.anglin@nrc-cnrc.gc.ca
National Research Council of Canada              (613) 990-0752 (FAX: 952-6602)


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