[PATCH] RTL: Fix options handle and add a new option to rtems-ld

Peng Fan van.freenix at gmail.com
Thu Aug 14 01:21:31 UTC 2014


Hi,

I have a two days travel, so this reply is late.

2014-08-12 10:56 GMT+08:00 Chris Johns <chrisj at rtems.org>:

> On 11/08/2014 12:24 am, Peng Fan wrote:
>
>>
>> 1. Fix getopt_long usage in rtl host. some shorthand options are not
>> hanlded correctly, this patch fixes it.
>>
>
> Thanks for cleaning this up.
>
>
>  2. Add a new option '--mach-flags'/'-m' to rtems-ld. This optarg of this
>> option will be passed to xx-rtemsxx-gcc, it will be used the search lib
>> dirs. Detailed msg is in the commit log of the patch.
>>
>
> I wonder if we need the explicit -march and -mcpu options and this or
> should we remove them and add a more general option that can include these
> flags. When I added the -march etc I thought this was all that was needed
> and that is proving to be a little naive.
>
If -march and -mcpu are only passed to gcc to let gcc search the libs, I
think we can add a more generic option.

>
> What do you think ?


I think we can extract the 'machine' related flags from rtems bsp and build
a table in rtl-host like the following:
struct bsp_flag {
char* bsp_name;
char* flags;
} ;
Here machine related flags in gcc is at
https://gcc.gnu.org/onlinedocs/gcc-4.8.3/gcc/ chapter 3.17.
struct bsp_flag bsp_flags[RTEMS_BSP_NUMS];
alloc space
bsp_flags[0].bsp_name = bsp name from rtems source code
bsp_flags[0].flags = machine flags from rtems source code corresponding to
the bsp
bsp_flags[1]
bsp_flags[2]
......
Using the machine flags, xxx_rtemsxx_gcc can search the related libs first,
if not found, then search the common libs, because the machine related lib
path is in the first.

Just my thought, the code above is not good. Hmm. using String, new and
class in c++

I think we may pass a madantory bsp name to rtl-host, such as "--bsp
xxxxxxx" , xxxxxxx means the bsp name

Regards,
Peng.

>
>
> Chris
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rtems.org/pipermail/devel/attachments/20140814/9d6e0a91/attachment.html>


More information about the devel mailing list