ARM Cortex-M - Static array dyamically allocated

Mike none at none.com
Fri Dec 20 16:07:13 PST 2013


On Friday, 20 December 2013 at 20:18:43 UTC, Timo Sintonen wrote:
>> Object.d seems to be a special case in many ways.
>> When building minlibd I was not able to have an empty or my 
>> own object.d and it had to be named object_.d
>> I do not remember any more what all the problems were.
>>
>> Object.d (or .di) is always imported even if it is not 
>> mentioned. In this case gdc may find another object.d from the 
>> standard library. Current directory is not searched unless you 
>> put -I. to the command line. There may now be two conflicting 
>> files.
>
> Actually, the situation may also be the opposite:
> object.d is found in the current directory and imported twice, 
> but the current directory is not in the include search path and 
> so the file is not accepted as a valid library file.

Thanks Timo,

You're right: object.d and/or object.di are imported 
automatically from the current directory with or without the -I. 
option.  Therefore, removing object.d from my compile line got 
rid of the duplicate messages, but one instance still remains.

Here's my new compile line:
arm-none-eabi-gdc -I. -march=armv7e-m -mcpu=cortex-m4 
-mtune=cortex-m4 -mthumb -fno-emit-moduleinfo -c 
-ffunction-sections -fno-exceptions -fdata-sections start.d

notice I've removed object.d, but the file still exists in the 
same folder as start.d

I tried:
1) adding the -I. to the compile line to make my object.d 
*official*
2) moving my object.d to my default include folder
3) renaming object.d to object.di and repeating 1. and 2.
4) renaming object.d to object_.d and repeating 1. and 2.

All of these still produce the same error messages.  The 
interesting thing is I was able to compile my code with my build 
from the *official* GDC 4.8 branch; but Johannes's arm-old 
backport gives me the object.d errors.  So, something must have 
changed since the 4.8 branch.

If object.d is special, please let me know how its handled.  Is 
this actually a question for the DMD folks?

Thanks,
Mike



More information about the D.gnu mailing list