On 12/21/11 10:01, Kagamin wrote:
>> The one potential problematic case i mentioned in that gdc bug mentioned 
>> above is this:
>> If the D runtime (most likely GC) needs to know the start/end of the data 
>> and bss
>> sections _and_ does it in a way that can confuse it if some unreferenced 
>> parts of these
>> sections disappear and/or are reordered, then turning on the section GC 
>> could uncover
>> this bug. From the few simple tests i ran here everything seems to work 
>> fine, but I did
>> not check the code to confirm there are no incorrect assumptions present.
> 
> The first things to break are module ctors and unittests.

Could you elaborate? 

Real code, that i was testing with previously, contained static module ctors 
which
worked, and i just tried a simple two module test w/ multiple shared_[cd]tors +
static_[cd]tors + unittests -- all of them are called as expected.

FWIW for this trivial test module which imports only stdio, --gc-sections alone
reduces the stripped executable size from 724416 to 249120.

artur

Reply via email to