rtems-libbsd: M68K linkcmds Patches Galore

Gedare Bloom gedare at rtems.org
Fri Aug 17 13:08:42 UTC 2012


On Fri, Aug 17, 2012 at 9:02 AM, Joel Sherrill <joel.sherrill at oarcorp.com>wrote:

> On 8/17/2012 3:13 AM, Sebastian Huber wrote:
>
>> On 08/17/2012 02:59 AM, Kevin Polulak wrote:
>> [...]
>>
>>> diff --git a/c/src/lib/libbsp/m68k/**mcf52235/startup/linkcmds
>>> b/c/src/lib/libbsp/m68k/**mcf52235/startup/linkcmds
>>> index f5fe3d0..37b425f 100644
>>> --- a/c/src/lib/libbsp/m68k/**mcf52235/startup/linkcmds
>>> +++ b/c/src/lib/libbsp/m68k/**mcf52235/startup/linkcmds
>>> @@ -11,11 +11,13 @@
>>>     */
>>>
>>>    /*
>>> - * Declare some sizes.
>>> + * Memory segment sizes.
>>> + *
>>> + * A heap size of 0 means that all available memory is used for the
>>> heap.
>>>     */
>>> -RamBase = DEFINED(RamBase) ? RamBase : 0x20000000;
>>> -RamSize = DEFINED(RamSize) ? RamSize : 32K;
>>> -HeapSize = DEFINED(HeapSize) ? HeapSize : 0x0;
>>> +RamBase    = DEFINED(RamBase)    ? RamBase    : 0x20000000;
>>> +RamSize    = DEFINED(RamSize)    ? RamSize    : 32K;
>>> +HeapSize   = DEFINED(HeapSize)   ? HeapSize   : 0x0;
>>>    _StackSize = DEFINED(_StackSize) ? _StackSize : 0x400;
>>>    _FlashBase = DEFINED(_FlashBase) ? _FlashBase : 0x00000000;
>>>
>> I don't like this format.  Each time you change the length of one field
>> in the
>> columns you have to adjust other lines as well.  This makes a review
>> harder.
>>
>> [...]
>>
>>> -        PROVIDE (_fini = .);
>>> +
>>> +        PROVIDE(_fini = .);
>>>
>> If you look at the default linker command file (e.g. m68k-rtems4.11-ld
>> --verbose) then you will see that the previous format is used here (space
>> before "(").
>>
>> [...]
>>
>>> diff --git a/c/src/lib/libbsp/m68k/**shared/startup/linkcmds.**robsdsets
>>> b/c/src/lib/libbsp/m68k/**shared/startup/linkcmds.**robsdsets
>>> new file mode 100644
>>> index 0000000..23a1d92
>>> --- /dev/null
>>> +++ b/c/src/lib/libbsp/m68k/**shared/startup/linkcmds.**robsdsets
>>> @@ -0,0 +1,29 @@
>>> +/*
>>> + * This file contains directives for the GNU linker which are needed for
>>> + * rtems-libbsd FreeBSD code.
>>> + *
>>> + * COPYRIGHT (c) 1989-1999.
>>> + * On-Line Applications Research Corporation (OAR).
>>> + *
>>> + * The license and distribution terms for this file may be
>>> + * found in the file LICENSE in this distribution or at
>>> + *http://www.rtems.com/license/**LICENSE.e<http://www.rtems.com/license/LICENSE.e>
>>> + */
>>> +
>>> +__start_set_sysctl_set = .;
>>> +*(set_sysctl_*);
>>> +__stop_set_sysctl_set = .;
>>> +*(set_domain_*);
>>> +*(set_pseudo_*);
>>> +
>>> +_bsd__start_set_modmetadata_**set = .;
>>> +*(_bsd_set_modmetadata_set);
>>> +_bsd__stop_set_modmetadata_**set = .;
>>> +
>>> +_bsd__start_set_sysctl_set = .;
>>> +*(_bsd_set_sysctl_set);
>>> +_bsd__stop_set_sysctl_set = .;
>>> +
>>> +_bsd__start_set_sysinit_set = .;
>>> +*(_bsd_set_sysinit_*);
>>> +_bsd__stop_set_sysinit_set = .;
>>>
>> Why is this linkcmds.robsdsets and not linkcmds.rortems?
>>
>> Why do we have CPU specific variants of this?  On ARM, PowerPC, etc. this
>> file
>> would look like identical.
>>
> Some targets place a leading underscore in front of symbols. If you have
> every
> symbol both with and without an extra _ prepended, then it will be Ok. For
> example,
> both _bsd__stop_set_sysinit_set and __bsd__stop_set_sysinit_set would have
> to be defined.
>
> Is appending the leading _ a choice RTEMS makes or is it forced on us?


> This is all the targets I have tools installed for and whether or not they
> add a
> leading underscore.
>
>        arm-rtems4.11 - no leading underscore
>        avr-rtems4.11 - no leading underscore
>       bfin-rtems4.11 - leading underscore
>      h8300-rtems4.11 - leading underscore
>       i386-rtems4.11 - no leading underscore
>       lm32-rtems4.11 - no leading underscore
>       m32c-rtems4.11 - leading underscore
>       m32r-rtems4.11 - no leading underscore
>       m68k-rtems4.11 - no leading underscore
> microblaze-rtems4.11 - no leading underscore
>       mips-rtems4.11 - no leading underscore
>    powerpc-rtems4.11 - no leading underscore
>         sh-rtems4.11 - leading underscore
>    sparc64-rtems4.11 - no leading underscore
>      sparc-rtems4.11 - no leading underscore
>       v850-rtems4.11 - leading underscore
>
>
>
>
> --
> Joel Sherrill, Ph.D.             Director of Research&  Development
> joel.sherrill at OARcorp.com        On-Line Applications Research
> Ask me about RTEMS: a free RTOS  Huntsville AL 35805
>     Support Available             (256) 722-9985
>
> ______________________________**_________________
> rtems-devel mailing list
> rtems-devel at rtems.org
> http://www.rtems.org/mailman/**listinfo/rtems-devel<http://www.rtems.org/mailman/listinfo/rtems-devel>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rtems.org/pipermail/devel/attachments/20120817/334a7e83/attachment-0001.html>


More information about the devel mailing list