> There is one use in Ada which looks like an optimization for specific
> targets:
> 
>   /* Ada doesn't feature Fortran-like COMMON variables so we shouldn't
>      try to fiddle with DECL_COMMON.  However, on platforms that don't
>      support global BSS sections, uninitialized global variables would
>      go in DATA instead, thus increasing the size of the executable.  */
>   if (!flag_no_common
>       && TREE_CODE (var_decl) == VAR_DECL
>       && TREE_PUBLIC (var_decl)
>       && !have_global_bss_p ())
>     DECL_COMMON (var_decl) = 1;

It's for Darwin - you need to evaluate your patch on Darwin.

> I don't understand how this works - if there is no bss support in the
> linker, wouldn't common variables would still end up in the data section?

There is, it's essentially a syntactic issue in the assembler IIRC.

-- 
Eric Botcazou

Reply via email to