Help! arm-wince-pe undefined references.

Chad J gamerChad at _spamIsBad_gmail.com
Tue Aug 1 00:03:03 PDT 2006


pedro alves wrote:
> Hi Chad,
> 
> Chad J wrote:
> 
>> As for
>>
>> `_D5win3222os_query_staticdatasegFPPvPkZv':
>> /root/gcc/gdc-4.0.3/libphobos/internal/gc/win32.d:134: undefined 
>> reference to `_data_start__'
>> /root/gcc/gdc-4.0.3/libphobos/internal/gc/win32.d:134: undefined 
>> reference to `_bss_end__'
>>
>> it comes from here:
>>
>> version (GNU)
>> {
>> // This is MinGW specific
>> extern (C)
>> {
>>     // TODO: skip the .rdata between .data and .bss?
>>     extern int _data_start__;
>>     extern int _bss_end__;
>> }
>>
>> void os_query_staticdataseg(void **base, uint *nbytes)
>> {
>>     *base = cast(void *)&_data_start__;
>>     *nbytes = cast(uint)(cast(char *)&_bss_end__ - cast(char 
>> *)&_data_start__);
>> }
>>
> 
> 
> main.exe is a simple hello world type app.
> 
> [~]>arm-wince-pe-nm main.exe | grep data_start
> 00012000 D __data_start__
> 
> [~]>arm-wince-pe-nm main.exe | grep data_end
> 00012004 D __data_end__
> 
> Looks like underscoring strikes again.
> 
> Try:
>      extern int __data_start__;
>      extern int __bss_end__;
> 
> 
> Cheers,
> Pedro Alves

That worked, fixed the os_query_staticdataseg thing.  Strange!  It was 
fixed in all other cases, but here it misbehaves.
Thanks

Unfortunately the same trick didn't work for the boxer stuff, so that 
still needs help :(



More information about the D.gnu mailing list