[Bug middle-end/18897] [4.0 Regression] /usr/ccs/bin/ld: Unsatisfied symbols: putchar (first referenced in build/gengenrtl.o) (data)

dave at hiauly1 dot hia dot nrc dot ca gcc-bugzilla@gcc.gnu.org
Sat Dec 11 21:11:00 GMT 2004


------- Additional Comments From dave at hiauly1 dot hia dot nrc dot ca  2004-12-11 21:11 -------
Subject: Re:  [4.0 Regression] /usr/ccs/bin/ld: Unsatisf

> ------- Additional Comments From pinskia at gcc dot gnu dot org  2004-12-09
> 04:16 -------
> I think this was caused by:
> 2004-12-08  Zack Weinberg  <zack@codesourcery.com>
> 
>         PR 17982
>         * varasm.c (pending_assemble_externals): New static.
>         (assemble_external_real): Meat of assemble_external split out
>         to this new function.
>         (process_pending_assemble_externals): New function.
>         (assemble_external): Use gcc_assert.  If flag_unit_at_a_time
>         is true and the basic test passes, merely cons the decl onto
>         the pending list to be handled later.
>         * tree.h: Declare process_pending_assemble_externals.
>         * cgraphunit.c (cgraph_optimize): Call it.

The problem with this change is that assemble_external is
called in rtx_for_function_call after cgraph_optimize calls
process_pending_assemble_externals.  These additions to the
list are never output in unit-at-a-time mode.

Dave


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18897



More information about the Gcc-bugs mailing list