> 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