Re: [PATCH] build: Add PROGRAM_PREFIX option

2023-08-09 Thread Chris Johns
On 10/8/2023 3:06 pm, Sebastian Huber wrote:
> On 10.08.23 03:13, Chris Johns wrote:
>>
>> On 9/8/2023 7:12 pm, Sebastian Huber wrote:
>>> On 09.08.23 11:10, Cedric Berger wrote:
 On 09.08.23 10:51, Sebastian Huber wrote:
> We could add some text to the option description:
>
> # Defines the program prefix of tools (compiler, assembler, linker).
> # This option may be used to build RTEMS with a vendor tool suite.
> # Please note that using tool suites not provided by the RTEMS Project
> # may not work as expected.
 If the goal of that comment it to prevent "fielding support related
 questions", I doubt that writing "may not work as expected" will have the
 desired effect...
>>> I am open for alternative wordings.
>>>
>> # Defines the program prefix of tools (compiler, assembler, linker) used
>> # to build RTEMS. This option may be used to build RTEMS with a vendor
>> # tool suite. Please note, support issues related to using this option with
>> # vendor tool suites should be directed to the vendor of the tools.
> 
> Sounds good, do you check it in?

I have not. Are you able to? If so please feel free to push the change as 
approved.

Thanks
Chris
___
devel mailing list
devel@rtems.org
http://lists.rtems.org/mailman/listinfo/devel


Re: [PATCH] build: Add PROGRAM_PREFIX option

2023-08-09 Thread Sebastian Huber

On 10.08.23 03:13, Chris Johns wrote:


On 9/8/2023 7:12 pm, Sebastian Huber wrote:

On 09.08.23 11:10, Cedric Berger wrote:

On 09.08.23 10:51, Sebastian Huber wrote:

We could add some text to the option description:

# Defines the program prefix of tools (compiler, assembler, linker).
# This option may be used to build RTEMS with a vendor tool suite.
# Please note that using tool suites not provided by the RTEMS Project
# may not work as expected.

If the goal of that comment it to prevent "fielding support related
questions", I doubt that writing "may not work as expected" will have the
desired effect...

I am open for alternative wordings.


# Defines the program prefix of tools (compiler, assembler, linker) used
# to build RTEMS. This option may be used to build RTEMS with a vendor
# tool suite. Please note, support issues related to using this option with
# vendor tool suites should be directed to the vendor of the tools.


Sounds good, do you check it in?

--
embedded brains GmbH
Herr Sebastian HUBER
Dornierstr. 4
82178 Puchheim
Germany
email: sebastian.hu...@embedded-brains.de
phone: +49-89-18 94 741 - 16
fax:   +49-89-18 94 741 - 08

Registergericht: Amtsgericht München
Registernummer: HRB 157899
Vertretungsberechtigte Geschäftsführer: Peter Rasmussen, Thomas Dörfler
Unsere Datenschutzerklärung finden Sie hier:
https://embedded-brains.de/datenschutzerklaerung/
___
devel mailing list
devel@rtems.org
http://lists.rtems.org/mailman/listinfo/devel

Re: [PATCH] build: Add PROGRAM_PREFIX option

2023-08-09 Thread Chris Johns



On 9/8/2023 7:12 pm, Sebastian Huber wrote:
> On 09.08.23 11:10, Cedric Berger wrote:
>> On 09.08.23 10:51, Sebastian Huber wrote:
>>> We could add some text to the option description:
>>>
>>> # Defines the program prefix of tools (compiler, assembler, linker).
>>> # This option may be used to build RTEMS with a vendor tool suite.
>>> # Please note that using tool suites not provided by the RTEMS Project
>>> # may not work as expected.
>>
>> If the goal of that comment it to prevent "fielding support related
>> questions", I doubt that writing "may not work as expected" will have the
>> desired effect...
> 
> I am open for alternative wordings.
> 

# Defines the program prefix of tools (compiler, assembler, linker) used
# to build RTEMS. This option may be used to build RTEMS with a vendor
# tool suite. Please note, support issues related to using this option with
# vendor tool suites should be directed to the vendor of the tools.

?

Chris
___
devel mailing list
devel@rtems.org
http://lists.rtems.org/mailman/listinfo/devel


Re: [PATCH] build: Add PROGRAM_PREFIX option

2023-08-09 Thread Sebastian Huber

On 09.08.23 11:10, Cedric Berger wrote:

On 09.08.23 10:51, Sebastian Huber wrote:

We could add some text to the option description:

# Defines the program prefix of tools (compiler, assembler, linker).
# This option may be used to build RTEMS with a vendor tool suite.
# Please note that using tool suites not provided by the RTEMS Project
# may not work as expected.


If the goal of that comment it to prevent "fielding support related 
questions", I doubt that writing "may not work as expected" will have 
the desired effect...


I am open for alternative wordings.

--
embedded brains GmbH
Herr Sebastian HUBER
Dornierstr. 4
82178 Puchheim
Germany
email: sebastian.hu...@embedded-brains.de
phone: +49-89-18 94 741 - 16
fax:   +49-89-18 94 741 - 08

Registergericht: Amtsgericht München
Registernummer: HRB 157899
Vertretungsberechtigte Geschäftsführer: Peter Rasmussen, Thomas Dörfler
Unsere Datenschutzerklärung finden Sie hier:
https://embedded-brains.de/datenschutzerklaerung/
___
devel mailing list
devel@rtems.org
http://lists.rtems.org/mailman/listinfo/devel

Re: [PATCH] build: Add PROGRAM_PREFIX option

2023-08-09 Thread Cedric Berger



On 09.08.23 10:51, Sebastian Huber wrote:

We could add some text to the option description:

# Defines the program prefix of tools (compiler, assembler, linker).
# This option may be used to build RTEMS with a vendor tool suite.
# Please note that using tool suites not provided by the RTEMS Project
# may not work as expected.


If the goal of that comment it to prevent "fielding support related 
questions", I doubt that writing "may not work as expected" will have 
the desired effect...


Cedric



___
devel mailing list
devel@rtems.org
http://lists.rtems.org/mailman/listinfo/devel


Re: [PATCH] build: Add PROGRAM_PREFIX option

2023-08-09 Thread Sebastian Huber

On 09.08.23 03:26, Chris Johns wrote:

On 8/8/2023 11:14 pm, Sebastian Huber wrote:

On 08.08.23 08:06, Chris Johns wrote:

n 7/8/2023 4:06 pm, Sebastian Huber wrote:

On 07.08.23 00:25, Chris Johns wrote:

On 4/8/2023 4:39 pm, Sebastian Huber wrote:

On 04.08.23 08:22, Chris Johns wrote:

On 4/8/2023 3:16 pm, Sebastian Huber wrote:

On 04.08.23 00:27, Chris Johns wrote:

On 2/8/2023 6:49 pm, Chris Johns wrote:
  > I am concerned about the compatibility to the ecosystem we have.
Have you
built

all the tests in the testsuite with this value set to something that is
not
RTEMS default? I think a few things will break because of hard coding in
them.

I have asked for test results and I have not seen any yet the patch has
been
merged? The change was not approved my me and is still not approved.

Sorry I thought it was fine after answering your questions.

All good, I would like to finish the discusion. 🙂


Yes, I have tested this with the rtems7 tools. It was possible to build with
the rtems7 tools
before, however, the PROGRAM_PREFIX approach is better, since it allows
also the
build using vendor tools. We had some fixes for this recently:

https://lists.rtems.org/pipermail/devel/2023-May/075321.html

This is something the user need.

What if a user adds or uses a prefix that does not conform to the standard
format? I am assuming this is possible to do this, eg Gaisler's special
prefix?

Possible breakage is
https://git.rtems.org/rtems-tools/tree/rtemstoolkit/rld-cc.cpp#n457   ?

Do we need to document any constraints around this option?

There will be always problems left to fix.

I do not see this as a problem, I see an incomplete change pushed without the
review being completed.

Sometimes it is not 100% clear when a review is finished.

Yes it is all a bit fragile and there is lots of guess work.


A basic build and the normal tests
work fine with non-standard tools. For the Gaisler tools, you would need:

PROGRAM_PREFIX = sparc-gaisler-rtems5-

I guess the rld-cc.cpp will also have issues with a clang build.

Yes it would and libdl is a part of RTEMS and breaking it again is something I
would like to avoid. I consider the change incomplete because one part says use
PROGRAM_PREFIX to change the tools prefix however doing so may break other
parts. There is nothing to warn the user PROGRAM_PREFIX may not work as
expected.

I don't use vendor tool chains, but it seems that some users would like to use
them. They were supported by the old build system, so a lacking support in the
new build system would be a regression. But if you don't like this change, then
we can also revert the patch.

I think the change is fine and I am not suggesting it is reverted. It is not
clear to me if more work is needed to complete what this has started because I
do not know where we stand with vendor tools.

I think supporting vendor tools is something we should consider and either
accept it and sort out what is needed or we clearly state vendors are on their
own.

Supporting vendor tools add something else we need to test and handle but it
lets vendors own the tools they create and it is clear to us when a user raises
a problem when using them.


The vendor tools support works now as good or bad as in RTEMS 5. If someone
wants better support, then he/she should work on it. We can't make everything
perfect, there are other things left to do for the RTEMS 6 release.


Should we document the extent of what we do support and what is missing?


We could add some text to the option description:

# Defines the program prefix of tools (compiler, assembler, linker).
# This option may be used to build RTEMS with a vendor tool suite.
# Please note that using tool suites not provided by the RTEMS Project
# may not work as expected.
PROGRAM_PREFIX = ${ARCH}-rtems${__RTEMS_MAJOR__}-



And yes I agree with your comments however users are often not aware of this and
we end up fielding support related questions. I also do not think we need to do
much to make it work but I am not sure. How do you build gcc with a different
tools prefix?


The Gaisler tools were configured like this:

Configured with: 
/scratch/jenkins/workspace/RCC_master-KM5WEZV2QBPWA3KWTLID2LONMQ6KHXQSKK2LENARD3XKNAOB5V6Q/toolchain/gcc/configure 
--target=sparc-gaisler-rtems5 --host= --disable-shared --with-newlib 
--enable-threads --enable-languages=c,c++ --disable-nls --disable-plugin 
--enable-lto --enable-libgomp --prefix=/opt/rcc-1.3.1-gcc 
--with-cpu=leon3 --enable-version-specific-runtime-libs --disable-libcc1 
--disable-libstdcxx-pch --disable-win32-registry --disable-decimal-float 
--disable-install-libiberty --disable-fixed-point --with-gnu-as 
--with-sysroot=/opt/rcc-1.3.1-gcc/sparc-gaisler-rtems5 
--without-included-gettext --enable-newlib-io-c99-formats 
--enable-newlib-iconv 
--enable-newlib-iconv-encodings=big5,cp775,cp850,cp852,cp855,cp866,euc_jp,euc_kr,euc_tw,iso_8859_1,iso_8859_10,iso_8859_11,iso_8859_13,iso_8859_14,iso_8859_15,iso_8859_2,iso_8859_3,iso_8

Re: [PATCH] build: Add PROGRAM_PREFIX option

2023-08-08 Thread Chris Johns
On 8/8/2023 11:14 pm, Sebastian Huber wrote:
> On 08.08.23 08:06, Chris Johns wrote:
>> n 7/8/2023 4:06 pm, Sebastian Huber wrote:
>>> On 07.08.23 00:25, Chris Johns wrote:
 On 4/8/2023 4:39 pm, Sebastian Huber wrote:
> On 04.08.23 08:22, Chris Johns wrote:
>> On 4/8/2023 3:16 pm, Sebastian Huber wrote:
>>> On 04.08.23 00:27, Chris Johns wrote:
 On 2/8/2023 6:49 pm, Chris Johns wrote:
  > I am concerned about the compatibility to the ecosystem we have.
 Have you
 built
> all the tests in the testsuite with this value set to something that 
> is
> not
> RTEMS default? I think a few things will break because of hard coding 
> in
> them.
 I have asked for test results and I have not seen any yet the patch has
 been
 merged? The change was not approved my me and is still not approved.
>>> Sorry I thought it was fine after answering your questions.
>> All good, I would like to finish the discusion. 🙂
>>
>>> Yes, I have tested this with the rtems7 tools. It was possible to build 
>>> with
>>> the rtems7 tools
>>> before, however, the PROGRAM_PREFIX approach is better, since it allows
>>> also the
>>> build using vendor tools. We had some fixes for this recently:
>>>
>>> https://lists.rtems.org/pipermail/devel/2023-May/075321.html
>>>
>>> This is something the user need.
>> What if a user adds or uses a prefix that does not conform to the 
>> standard
>> format? I am assuming this is possible to do this, eg Gaisler's special
>> prefix?
>>
>> Possible breakage is
>> https://git.rtems.org/rtems-tools/tree/rtemstoolkit/rld-cc.cpp#n457   ?
>>
>> Do we need to document any constraints around this option?
> There will be always problems left to fix.
 I do not see this as a problem, I see an incomplete change pushed without 
 the
 review being completed.
>>> Sometimes it is not 100% clear when a review is finished.
>> Yes it is all a bit fragile and there is lots of guess work.
>>
> A basic build and the normal tests
> work fine with non-standard tools. For the Gaisler tools, you would need:
>
> PROGRAM_PREFIX = sparc-gaisler-rtems5-
>
> I guess the rld-cc.cpp will also have issues with a clang build.
 Yes it would and libdl is a part of RTEMS and breaking it again is 
 something I
 would like to avoid. I consider the change incomplete because one part 
 says use
 PROGRAM_PREFIX to change the tools prefix however doing so may break other
 parts. There is nothing to warn the user PROGRAM_PREFIX may not work as
 expected.
>>> I don't use vendor tool chains, but it seems that some users would like to 
>>> use
>>> them. They were supported by the old build system, so a lacking support in 
>>> the
>>> new build system would be a regression. But if you don't like this change, 
>>> then
>>> we can also revert the patch.
>> I think the change is fine and I am not suggesting it is reverted. It is not
>> clear to me if more work is needed to complete what this has started because 
>> I
>> do not know where we stand with vendor tools.
>>
>> I think supporting vendor tools is something we should consider and either
>> accept it and sort out what is needed or we clearly state vendors are on 
>> their
>> own.
>>
>> Supporting vendor tools add something else we need to test and handle but it
>> lets vendors own the tools they create and it is clear to us when a user 
>> raises
>> a problem when using them.
> 
> The vendor tools support works now as good or bad as in RTEMS 5. If someone
> wants better support, then he/she should work on it. We can't make everything
> perfect, there are other things left to do for the RTEMS 6 release.

Should we document the extent of what we do support and what is missing?

And yes I agree with your comments however users are often not aware of this and
we end up fielding support related questions. I also do not think we need to do
much to make it work but I am not sure. How do you build gcc with a different
tools prefix?

Chris
___
devel mailing list
devel@rtems.org
http://lists.rtems.org/mailman/listinfo/devel

Re: [PATCH] build: Add PROGRAM_PREFIX option

2023-08-08 Thread Sebastian Huber

On 08.08.23 08:06, Chris Johns wrote:

n 7/8/2023 4:06 pm, Sebastian Huber wrote:

On 07.08.23 00:25, Chris Johns wrote:

On 4/8/2023 4:39 pm, Sebastian Huber wrote:

On 04.08.23 08:22, Chris Johns wrote:

On 4/8/2023 3:16 pm, Sebastian Huber wrote:

On 04.08.23 00:27, Chris Johns wrote:

On 2/8/2023 6:49 pm, Chris Johns wrote:
     > I am concerned about the compatibility to the ecosystem we have.
Have you
built

all the tests in the testsuite with this value set to something that is not
RTEMS default? I think a few things will break because of hard coding in
them.

I have asked for test results and I have not seen any yet the patch has been
merged? The change was not approved my me and is still not approved.

Sorry I thought it was fine after answering your questions.

All good, I would like to finish the discusion. 🙂


Yes, I have tested this with the rtems7 tools. It was possible to build with
the rtems7 tools
before, however, the PROGRAM_PREFIX approach is better, since it allows
also the
build using vendor tools. We had some fixes for this recently:

https://lists.rtems.org/pipermail/devel/2023-May/075321.html

This is something the user need.

What if a user adds or uses a prefix that does not conform to the standard
format? I am assuming this is possible to do this, eg Gaisler's special prefix?

Possible breakage is
https://git.rtems.org/rtems-tools/tree/rtemstoolkit/rld-cc.cpp#n457   ?

Do we need to document any constraints around this option?

There will be always problems left to fix.

I do not see this as a problem, I see an incomplete change pushed without the
review being completed.

Sometimes it is not 100% clear when a review is finished.

Yes it is all a bit fragile and there is lots of guess work.


A basic build and the normal tests
work fine with non-standard tools. For the Gaisler tools, you would need:

PROGRAM_PREFIX = sparc-gaisler-rtems5-

I guess the rld-cc.cpp will also have issues with a clang build.

Yes it would and libdl is a part of RTEMS and breaking it again is something I
would like to avoid. I consider the change incomplete because one part says use
PROGRAM_PREFIX to change the tools prefix however doing so may break other
parts. There is nothing to warn the user PROGRAM_PREFIX may not work as 
expected.

I don't use vendor tool chains, but it seems that some users would like to use
them. They were supported by the old build system, so a lacking support in the
new build system would be a regression. But if you don't like this change, then
we can also revert the patch.

I think the change is fine and I am not suggesting it is reverted. It is not
clear to me if more work is needed to complete what this has started because I
do not know where we stand with vendor tools.

I think supporting vendor tools is something we should consider and either
accept it and sort out what is needed or we clearly state vendors are on their 
own.

Supporting vendor tools add something else we need to test and handle but it
lets vendors own the tools they create and it is clear to us when a user raises
a problem when using them.


The vendor tools support works now as good or bad as in RTEMS 5. If 
someone wants better support, then he/she should work on it. We can't 
make everything perfect, there are other things left to do for the RTEMS 
6 release.


--
embedded brains GmbH
Herr Sebastian HUBER
Dornierstr. 4
82178 Puchheim
Germany
email: sebastian.hu...@embedded-brains.de
phone: +49-89-18 94 741 - 16
fax:   +49-89-18 94 741 - 08

Registergericht: Amtsgericht München
Registernummer: HRB 157899
Vertretungsberechtigte Geschäftsführer: Peter Rasmussen, Thomas Dörfler
Unsere Datenschutzerklärung finden Sie hier:
https://embedded-brains.de/datenschutzerklaerung/
___
devel mailing list
devel@rtems.org
http://lists.rtems.org/mailman/listinfo/devel

Re: [PATCH] build: Add PROGRAM_PREFIX option

2023-08-07 Thread Chris Johns


On 7/8/2023 4:06 pm, Sebastian Huber wrote:
> On 07.08.23 00:25, Chris Johns wrote:
>> On 4/8/2023 4:39 pm, Sebastian Huber wrote:
>>> On 04.08.23 08:22, Chris Johns wrote:
 On 4/8/2023 3:16 pm, Sebastian Huber wrote:
> On 04.08.23 00:27, Chris Johns wrote:
>> On 2/8/2023 6:49 pm, Chris Johns wrote:
>>     > I am concerned about the compatibility to the ecosystem we have.
>> Have you
>> built
>>> all the tests in the testsuite with this value set to something that is 
>>> not
>>> RTEMS default? I think a few things will break because of hard coding in
>>> them.
>> I have asked for test results and I have not seen any yet the patch has 
>> been
>> merged? The change was not approved my me and is still not approved.
> Sorry I thought it was fine after answering your questions.
 All good, I would like to finish the discusion. 🙂

> Yes, I have tested this with the rtems7 tools. It was possible to build 
> with
> the rtems7 tools
> before, however, the PROGRAM_PREFIX approach is better, since it allows
> also the
> build using vendor tools. We had some fixes for this recently:
>
> https://lists.rtems.org/pipermail/devel/2023-May/075321.html
>
> This is something the user need.
 What if a user adds or uses a prefix that does not conform to the standard
 format? I am assuming this is possible to do this, eg Gaisler's special 
 prefix?

 Possible breakage is
 https://git.rtems.org/rtems-tools/tree/rtemstoolkit/rld-cc.cpp#n457  ?

 Do we need to document any constraints around this option?
>>> There will be always problems left to fix.
>> I do not see this as a problem, I see an incomplete change pushed without the
>> review being completed.
> 
> Sometimes it is not 100% clear when a review is finished.

Yes it is all a bit fragile and there is lots of guess work.

>>> A basic build and the normal tests
>>> work fine with non-standard tools. For the Gaisler tools, you would need:
>>>
>>> PROGRAM_PREFIX = sparc-gaisler-rtems5-
>>>
>>> I guess the rld-cc.cpp will also have issues with a clang build.
>> Yes it would and libdl is a part of RTEMS and breaking it again is something 
>> I
>> would like to avoid. I consider the change incomplete because one part says 
>> use
>> PROGRAM_PREFIX to change the tools prefix however doing so may break other
>> parts. There is nothing to warn the user PROGRAM_PREFIX may not work as 
>> expected.
> 
> I don't use vendor tool chains, but it seems that some users would like to use
> them. They were supported by the old build system, so a lacking support in the
> new build system would be a regression. But if you don't like this change, 
> then
> we can also revert the patch.

I think the change is fine and I am not suggesting it is reverted. It is not
clear to me if more work is needed to complete what this has started because I
do not know where we stand with vendor tools.

I think supporting vendor tools is something we should consider and either
accept it and sort out what is needed or we clearly state vendors are on their 
own.

Supporting vendor tools add something else we need to test and handle but it
lets vendors own the tools they create and it is clear to us when a user raises
a problem when using them.

Chris
___
devel mailing list
devel@rtems.org
http://lists.rtems.org/mailman/listinfo/devel

Re: [PATCH] build: Add PROGRAM_PREFIX option

2023-08-06 Thread Sebastian Huber

On 07.08.23 00:25, Chris Johns wrote:

On 4/8/2023 4:39 pm, Sebastian Huber wrote:

On 04.08.23 08:22, Chris Johns wrote:

On 4/8/2023 3:16 pm, Sebastian Huber wrote:

On 04.08.23 00:27, Chris Johns wrote:

On 2/8/2023 6:49 pm, Chris Johns wrote:
    > I am concerned about the compatibility to the ecosystem we have. Have you
built

all the tests in the testsuite with this value set to something that is not
RTEMS default? I think a few things will break because of hard coding in them.

I have asked for test results and I have not seen any yet the patch has been
merged? The change was not approved my me and is still not approved.

Sorry I thought it was fine after answering your questions.

All good, I would like to finish the discusion. 🙂


Yes, I have tested this with the rtems7 tools. It was possible to build with
the rtems7 tools
before, however, the PROGRAM_PREFIX approach is better, since it allows also the
build using vendor tools. We had some fixes for this recently:

https://lists.rtems.org/pipermail/devel/2023-May/075321.html

This is something the user need.

What if a user adds or uses a prefix that does not conform to the standard
format? I am assuming this is possible to do this, eg Gaisler's special prefix?

Possible breakage is
https://git.rtems.org/rtems-tools/tree/rtemstoolkit/rld-cc.cpp#n457  ?

Do we need to document any constraints around this option?

There will be always problems left to fix.

I do not see this as a problem, I see an incomplete change pushed without the
review being completed.


Sometimes it is not 100% clear when a review is finished.




A basic build and the normal tests
work fine with non-standard tools. For the Gaisler tools, you would need:

PROGRAM_PREFIX = sparc-gaisler-rtems5-

I guess the rld-cc.cpp will also have issues with a clang build.

Yes it would and libdl is a part of RTEMS and breaking it again is something I
would like to avoid. I consider the change incomplete because one part says use
PROGRAM_PREFIX to change the tools prefix however doing so may break other
parts. There is nothing to warn the user PROGRAM_PREFIX may not work as 
expected.


I don't use vendor tool chains, but it seems that some users would like 
to use them. They were supported by the old build system, so a lacking 
support in the new build system would be a regression. But if you don't 
like this change, then we can also revert the patch.


--
embedded brains GmbH
Herr Sebastian HUBER
Dornierstr. 4
82178 Puchheim
Germany
email: sebastian.hu...@embedded-brains.de
phone: +49-89-18 94 741 - 16
fax:   +49-89-18 94 741 - 08

Registergericht: Amtsgericht München
Registernummer: HRB 157899
Vertretungsberechtigte Geschäftsführer: Peter Rasmussen, Thomas Dörfler
Unsere Datenschutzerklärung finden Sie hier:
https://embedded-brains.de/datenschutzerklaerung/
___
devel mailing list
devel@rtems.org
http://lists.rtems.org/mailman/listinfo/devel

Re: [PATCH] build: Add PROGRAM_PREFIX option

2023-08-06 Thread Chris Johns
On 4/8/2023 4:39 pm, Sebastian Huber wrote:
> On 04.08.23 08:22, Chris Johns wrote:
>> On 4/8/2023 3:16 pm, Sebastian Huber wrote:
>>> On 04.08.23 00:27, Chris Johns wrote:
 On 2/8/2023 6:49 pm, Chris Johns wrote:
    > I am concerned about the compatibility to the ecosystem we have. Have 
 you
 built
> all the tests in the testsuite with this value set to something that is 
> not
> RTEMS default? I think a few things will break because of hard coding in 
> them.
 I have asked for test results and I have not seen any yet the patch has 
 been
 merged? The change was not approved my me and is still not approved.
>>>
>>> Sorry I thought it was fine after answering your questions.
>>
>> All good, I would like to finish the discusion. :)
>>
>>> Yes, I have tested this with the rtems7 tools. It was possible to build with
>>> the rtems7 tools
>>> before, however, the PROGRAM_PREFIX approach is better, since it allows 
>>> also the
>>> build using vendor tools. We had some fixes for this recently:
>>>
>>> https://lists.rtems.org/pipermail/devel/2023-May/075321.html
>>>
>>> This is something the user need.
>>
>> What if a user adds or uses a prefix that does not conform to the standard
>> format? I am assuming this is possible to do this, eg Gaisler's special 
>> prefix?
>>
>> Possible breakage is
>> https://git.rtems.org/rtems-tools/tree/rtemstoolkit/rld-cc.cpp#n457 ?
>>
>> Do we need to document any constraints around this option?
> 
> There will be always problems left to fix. 

I do not see this as a problem, I see an incomplete change pushed without the
review being completed.

> A basic build and the normal tests
> work fine with non-standard tools. For the Gaisler tools, you would need:
> 
> PROGRAM_PREFIX = sparc-gaisler-rtems5-
> 
> I guess the rld-cc.cpp will also have issues with a clang build.

Yes it would and libdl is a part of RTEMS and breaking it again is something I
would like to avoid. I consider the change incomplete because one part says use
PROGRAM_PREFIX to change the tools prefix however doing so may break other
parts. There is nothing to warn the user PROGRAM_PREFIX may not work as 
expected.

Chris
___
devel mailing list
devel@rtems.org
http://lists.rtems.org/mailman/listinfo/devel

Re: [PATCH] build: Add PROGRAM_PREFIX option

2023-08-03 Thread Sebastian Huber

On 04.08.23 08:22, Chris Johns wrote:

On 4/8/2023 3:16 pm, Sebastian Huber wrote:

On 04.08.23 00:27, Chris Johns wrote:

On 2/8/2023 6:49 pm, Chris Johns wrote:
   > I am concerned about the compatibility to the ecosystem we have. Have you
built

all the tests in the testsuite with this value set to something that is not
RTEMS default? I think a few things will break because of hard coding in them.

I have asked for test results and I have not seen any yet the patch has been
merged? The change was not approved my me and is still not approved.


Sorry I thought it was fine after answering your questions.


All good, I would like to finish the discusion. :)


Yes, I have tested this with the rtems7 tools. It was possible to build with 
the rtems7 tools
before, however, the PROGRAM_PREFIX approach is better, since it allows also the
build using vendor tools. We had some fixes for this recently:

https://lists.rtems.org/pipermail/devel/2023-May/075321.html

This is something the user need.


What if a user adds or uses a prefix that does not conform to the standard
format? I am assuming this is possible to do this, eg Gaisler's special prefix?

Possible breakage is
https://git.rtems.org/rtems-tools/tree/rtemstoolkit/rld-cc.cpp#n457 ?

Do we need to document any constraints around this option?


There will be always problems left to fix. A basic build and the normal 
tests work fine with non-standard tools. For the Gaisler tools, you 
would need:


PROGRAM_PREFIX = sparc-gaisler-rtems5-

I guess the rld-cc.cpp will also have issues with a clang build.




I have problems to send test reports by e-mail:


Anything Amar or I can help with?

Chris


--
embedded brains GmbH
Herr Sebastian HUBER
Dornierstr. 4
82178 Puchheim
Germany
email: sebastian.hu...@embedded-brains.de
phone: +49-89-18 94 741 - 16
fax:   +49-89-18 94 741 - 08

Registergericht: Amtsgericht München
Registernummer: HRB 157899
Vertretungsberechtigte Geschäftsführer: Peter Rasmussen, Thomas Dörfler
Unsere Datenschutzerklärung finden Sie hier:
https://embedded-brains.de/datenschutzerklaerung/
___
devel mailing list
devel@rtems.org
http://lists.rtems.org/mailman/listinfo/devel

Re: [PATCH] build: Add PROGRAM_PREFIX option

2023-08-03 Thread Chris Johns
On 4/8/2023 3:16 pm, Sebastian Huber wrote:
> On 04.08.23 00:27, Chris Johns wrote:
>> On 2/8/2023 6:49 pm, Chris Johns wrote:
>>   > I am concerned about the compatibility to the ecosystem we have. Have you
>> built
>>> all the tests in the testsuite with this value set to something that is not
>>> RTEMS default? I think a few things will break because of hard coding in 
>>> them.
>> I have asked for test results and I have not seen any yet the patch has been
>> merged? The change was not approved my me and is still not approved.
> 
> Sorry I thought it was fine after answering your questions. 

All good, I would like to finish the discusion. :)

> Yes, I have tested this with the rtems7 tools. It was possible to build with 
> the rtems7 tools
> before, however, the PROGRAM_PREFIX approach is better, since it allows also 
> the
> build using vendor tools. We had some fixes for this recently:
> 
> https://lists.rtems.org/pipermail/devel/2023-May/075321.html
> 
> This is something the user need.

What if a user adds or uses a prefix that does not conform to the standard
format? I am assuming this is possible to do this, eg Gaisler's special prefix?

Possible breakage is
https://git.rtems.org/rtems-tools/tree/rtemstoolkit/rld-cc.cpp#n457 ?

Do we need to document any constraints around this option?

> I have problems to send test reports by e-mail:

Anything Amar or I can help with?

Chris
___
devel mailing list
devel@rtems.org
http://lists.rtems.org/mailman/listinfo/devel

Re: [PATCH] build: Add PROGRAM_PREFIX option

2023-08-03 Thread Sebastian Huber

On 04.08.23 00:27, Chris Johns wrote:

On 2/8/2023 6:49 pm, Chris Johns wrote:
  > I am concerned about the compatibility to the ecosystem we have. Have you 
built

all the tests in the testsuite with this value set to something that is not
RTEMS default? I think a few things will break because of hard coding in them.

I have asked for test results and I have not seen any yet the patch has been
merged? The change was not approved my me and is still not approved.


Sorry I thought it was fine after answering your questions. Yes, I have 
tested this with the rtems7 tools. It was possible to build with the 
rtems7 tools before, however, the PROGRAM_PREFIX approach is better, 
since it allows also the build using vendor tools. We had some fixes for 
this recently:


https://lists.rtems.org/pipermail/devel/2023-May/075321.html

This is something the user need.

I have problems to send test reports by e-mail:

Passed:617
Failed:  2
User Input:  6
Expected Fail:   2
Indeterminate:   0
Benchmark:   3
Timeout: 0
Test too long:   0
Invalid: 0
Wrong Version:   0
Wrong Build: 0
Wrong Tools: 0
Wrong Header:0
--
Total: 630
Failures:
 dl11.exe
 psxkey07.exe
User Input:
 dl10.exe
 monitor.exe
 termios.exe
 top.exe
 capture.exe
 fileio.exe
Expected Fail:
 dl06.exe
 psxfenv01.exe
Benchmark:
 dhrystone.exe
 whetstone.exe
 linpack.exe
Average test time: 0:00:00.214642
Testing time : 0:02:15.224347
Traceback (most recent call last):
  File "/opt/rtems/6/bin/rtems-test", line 42, in 
tester.rt.test.run(sys.argv)
  File "/opt/rtems/6/share/rtems/tester/rt/test.py", line 544, in run
mail.send(to_addr, subject, os.linesep.join(body))
  File "/opt/rtems/6/share/rtems/rtemstoolkit/mailer.py", line 215, in send
s.sendmail(from_addr, [to_addr], msg)
  File "/usr/lib64/python3.6/smtplib.py", line 866, in sendmail
(code, resp) = self.mail(from_addr, esmtp_opts)
  File "/usr/lib64/python3.6/smtplib.py", line 539, in mail
self.putcmd("mail", "FROM:%s%s" % (quoteaddr(sender), optionlist))
  File "/usr/lib64/python3.6/smtplib.py", line 153, in quoteaddr
if addrstring.strip().startswith('<'):
AttributeError: 'NoneType' object has no attribute 'strip'

--
embedded brains GmbH
Herr Sebastian HUBER
Dornierstr. 4
82178 Puchheim
Germany
email: sebastian.hu...@embedded-brains.de
phone: +49-89-18 94 741 - 16
fax:   +49-89-18 94 741 - 08

Registergericht: Amtsgericht München
Registernummer: HRB 157899
Vertretungsberechtigte Geschäftsführer: Peter Rasmussen, Thomas Dörfler
Unsere Datenschutzerklärung finden Sie hier:
https://embedded-brains.de/datenschutzerklaerung/
___
devel mailing list
devel@rtems.org
http://lists.rtems.org/mailman/listinfo/devel

Re: [PATCH] build: Add PROGRAM_PREFIX option

2023-08-03 Thread Chris Johns
On 2/8/2023 6:49 pm, Chris Johns wrote:
 > I am concerned about the compatibility to the ecosystem we have. Have you 
 > built
> all the tests in the testsuite with this value set to something that is not
> RTEMS default? I think a few things will break because of hard coding in them.

I have asked for test results and I have not seen any yet the patch has been
merged? The change was not approved my me and is still not approved.

Chris
___
devel mailing list
devel@rtems.org
http://lists.rtems.org/mailman/listinfo/devel


Re: [PATCH] build: Add PROGRAM_PREFIX option

2023-08-02 Thread Sebastian Huber

On 02.08.23 13:53, Karel Gardas wrote:

A bit off-topic.

On 8/2/23 10:39, Sebastian Huber wrote:
Yes, but this would be another patch and it is a bit more work since 
you have to test the clang support.


Is building with clang already supported? I'm curious since this is 
something I'd like to test locally too but neither code nor tickets give 
me any hope on it. Hence asking directly.


There is some support to build with clang, but I guess this is not 
regularly tested/used. You can test it with:


[riscv/rv64imafdc]
COMPILER = clang

However, this quickly fails with:

[   1/1427] Compiling bsps/shared/dev/serial/mc68681_reg2.c
15:16:15 runner ['/usr/bin/clang', '-MMD', '-Wall', 
'-Wmissing-prototypes', '-Wimplicit-function-declaration', 
'-Wstrict-prototypes', '-Wnested-externs', 
'--target=riscv64-unknown-rtems6', '-march=rv64imafdc', '-mabi=lp64d', 
'-mcmodel=medany', '-O2', '-g', '-fdata-sections', 
'-ffunction-sections', '-Icpukit/include', 
'-I/home/EB/sebastian_h/src/rtems/cpukit/include', 
'-Icpukit/score/cpu/riscv/include', 
'-I/home/EB/sebastian_h/src/rtems/cpukit/score/cpu/riscv/include', 
'-Ibsps/include', '-I/home/EB/sebastian_h/src/rtems/bsps/include', 
'-Ibsps/riscv/include', 
'-I/home/EB/sebastian_h/src/rtems/bsps/riscv/include', 
'-Ibsps/riscv/riscv/include', 
'-I/home/EB/sebastian_h/src/rtems/bsps/riscv/riscv/include', 
'/home/EB/sebastian_h/src/rtems/bsps/shared/dev/serial/mc68681_reg2.c', 
'-c', 
'-o/tmp/sh/b-rtems/riscv/rv64imafdc/bsps/shared/dev/serial/mc68681_reg2.c.1.o', 
'-DHAVE_CONFIG_H=1']
In file included from 
/home/EB/sebastian_h/src/rtems/bsps/shared/dev/serial/mc68681_reg2.c:39:
In file included from 
/home/EB/sebastian_h/src/rtems/bsps/shared/dev/serial/mc68681_reg.c:35:
In file included from 
/home/EB/sebastian_h/src/rtems/cpukit/include/rtems.h:59:
In file included from 
/home/EB/sebastian_h/src/rtems/cpukit/include/rtems/config.h:62:
In file included from 
/home/EB/sebastian_h/src/rtems/cpukit/include/rtems/rtems/config.h:62:
/home/EB/sebastian_h/src/rtems/cpukit/include/rtems/rtems/tasks.h:62:10: 
fatal error: 'sys/cpuset.h' file not found

#include 
 ^~
1 error generated.

You still need Newlib somehow and also the compiler-rt library for your 
target.


--
embedded brains GmbH
Herr Sebastian HUBER
Dornierstr. 4
82178 Puchheim
Germany
email: sebastian.hu...@embedded-brains.de
phone: +49-89-18 94 741 - 16
fax:   +49-89-18 94 741 - 08

Registergericht: Amtsgericht München
Registernummer: HRB 157899
Vertretungsberechtigte Geschäftsführer: Peter Rasmussen, Thomas Dörfler
Unsere Datenschutzerklärung finden Sie hier:
https://embedded-brains.de/datenschutzerklaerung/
___
devel mailing list
devel@rtems.org
http://lists.rtems.org/mailman/listinfo/devel

Re: [PATCH] build: Add PROGRAM_PREFIX option

2023-08-02 Thread Karel Gardas



A bit off-topic.

On 8/2/23 10:39, Sebastian Huber wrote:
Yes, but this would be another patch and it is a bit more work since you 
have to test the clang support.


Is building with clang already supported? I'm curious since this is 
something I'd like to test locally too but neither code nor tickets give 
me any hope on it. Hence asking directly.


Thanks!
Karel


___
devel mailing list
devel@rtems.org
http://lists.rtems.org/mailman/listinfo/devel


Re: [PATCH] build: Add PROGRAM_PREFIX option

2023-08-02 Thread Chris Johns
On 2/8/2023 6:56 pm, Sebastian Huber wrote:
> On 02.08.23 10:50, Chris Johns wrote:
>> On 2/8/2023 6:39 pm, Sebastian Huber wrote:
>>> On 02.08.23 10:33, Chris Johns wrote:
> diff --git a/spec/build/bsps/makeinc.yml b/spec/build/bsps/makeinc.yml
> index ac395f2f02..08fc75a8b9 100644
> --- a/spec/build/bsps/makeinc.yml
> +++ b/spec/build/bsps/makeinc.yml
> @@ -16,14 +16,14 @@ content: |
>  prefix = ${PREFIX}
>  exec_prefix = $${prefix}/${ARCH}-rtems${__RTEMS_MAJOR__}
>    -  CC_FOR_TARGET = ${ARCH}-rtems${__RTEMS_MAJOR__}-gcc
> -  CXX_FOR_TARGET = ${ARCH}-rtems${__RTEMS_MAJOR__}-g++
> -  AS_FOR_TARGET = ${ARCH}-rtems${__RTEMS_MAJOR__}-as
> -  AR_FOR_TARGET = ${ARCH}-rtems${__RTEMS_MAJOR__}-ar
> -  NM_FOR_TARGET = ${ARCH}-rtems${__RTEMS_MAJOR__}-nm
> -  LD_FOR_TARGET = ${ARCH}-rtems${__RTEMS_MAJOR__}-ld
> -  SIZE_FOR_TARGET = ${ARCH}-rtems${__RTEMS_MAJOR__}-size
> -  OBJCOPY_FOR_TARGET = ${ARCH}-rtems${__RTEMS_MAJOR__}-objcopy
> +  CC_FOR_TARGET = ${PROGRAM_PREFIX}gcc
> +  CXX_FOR_TARGET = ${PROGRAM_PREFIX}g++
 Is it worth doing the same to gcc and g++ as well so these can be replaced 
 as
 well?
>>> Yes, but this would be another patch and it is a bit more work since you 
>>> have to
>>> test the clang support.
>>>
> +  AS_FOR_TARGET = ${PROGRAM_PREFIX}as
> +  AR_FOR_TARGET = ${PROGRAM_PREFIX}ar
> +  NM_FOR_TARGET = ${PROGRAM_PREFIX}nm
> +  LD_FOR_TARGET = ${PROGRAM_PREFIX}ld
> +  SIZE_FOR_TARGET = ${PROGRAM_PREFIX}size
> +  OBJCOPY_FOR_TARGET = ${PROGRAM_PREFIX}objcopy
 Where is PROGRAM_PFREFIX set?
>>> It is a new configuration option:
>>>
>>> [sparc/gr740]
>>> PROGRAM_PREFIX = ${ARCH}-rtems7-
>>>
>> Yes, but if these files are installed does it need to be in defined in those
>> files?
> 
> The option substitution takes place before the files are installed. For 
> example:

Ah OK. I did not pick that up in the patch.

Chris
___
devel mailing list
devel@rtems.org
http://lists.rtems.org/mailman/listinfo/devel

Re: [PATCH] build: Add PROGRAM_PREFIX option

2023-08-02 Thread Sebastian Huber



On 02.08.23 10:50, Chris Johns wrote:

On 2/8/2023 6:39 pm, Sebastian Huber wrote:

On 02.08.23 10:33, Chris Johns wrote:

diff --git a/spec/build/bsps/makeinc.yml b/spec/build/bsps/makeinc.yml
index ac395f2f02..08fc75a8b9 100644
--- a/spec/build/bsps/makeinc.yml
+++ b/spec/build/bsps/makeinc.yml
@@ -16,14 +16,14 @@ content: |
     prefix = ${PREFIX}
     exec_prefix = $${prefix}/${ARCH}-rtems${__RTEMS_MAJOR__}
   -  CC_FOR_TARGET = ${ARCH}-rtems${__RTEMS_MAJOR__}-gcc
-  CXX_FOR_TARGET = ${ARCH}-rtems${__RTEMS_MAJOR__}-g++
-  AS_FOR_TARGET = ${ARCH}-rtems${__RTEMS_MAJOR__}-as
-  AR_FOR_TARGET = ${ARCH}-rtems${__RTEMS_MAJOR__}-ar
-  NM_FOR_TARGET = ${ARCH}-rtems${__RTEMS_MAJOR__}-nm
-  LD_FOR_TARGET = ${ARCH}-rtems${__RTEMS_MAJOR__}-ld
-  SIZE_FOR_TARGET = ${ARCH}-rtems${__RTEMS_MAJOR__}-size
-  OBJCOPY_FOR_TARGET = ${ARCH}-rtems${__RTEMS_MAJOR__}-objcopy
+  CC_FOR_TARGET = ${PROGRAM_PREFIX}gcc
+  CXX_FOR_TARGET = ${PROGRAM_PREFIX}g++

Is it worth doing the same to gcc and g++ as well so these can be replaced as
well?

Yes, but this would be another patch and it is a bit more work since you have to
test the clang support.


+  AS_FOR_TARGET = ${PROGRAM_PREFIX}as
+  AR_FOR_TARGET = ${PROGRAM_PREFIX}ar
+  NM_FOR_TARGET = ${PROGRAM_PREFIX}nm
+  LD_FOR_TARGET = ${PROGRAM_PREFIX}ld
+  SIZE_FOR_TARGET = ${PROGRAM_PREFIX}size
+  OBJCOPY_FOR_TARGET = ${PROGRAM_PREFIX}objcopy

Where is PROGRAM_PFREFIX set?

It is a new configuration option:

[sparc/gr740]
PROGRAM_PREFIX = ${ARCH}-rtems7-


Yes, but if these files are installed does it need to be in defined in those 
files?


The option substitution takes place before the files are installed. For 
example:


cat /opt/rtems/6/arm-rtems6/xilinx_zynq_a9_qemu/Makefile.inc
#
# BSP specific settings. To be included in application Makefiles
#
# This support will be removed from RTEMS. Please consider other
# ways to build applications.
#

RTEMS_API = 6

RTEMS_CPU = arm
RTEMS_BSP = xilinx_zynq_a9_qemu

prefix = /opt/rtems/6
exec_prefix = ${prefix}/arm-rtems6

CC_FOR_TARGET = arm-rtems7-gcc
CXX_FOR_TARGET = arm-rtems7-g++
AS_FOR_TARGET = arm-rtems7-as
AR_FOR_TARGET = arm-rtems7-ar
NM_FOR_TARGET = arm-rtems7-nm
LD_FOR_TARGET = arm-rtems7-ld
SIZE_FOR_TARGET = arm-rtems7-size
OBJCOPY_FOR_TARGET = arm-rtems7-objcopy

CC= $(CC_FOR_TARGET)
CXX= $(CXX_FOR_TARGET)
AS= $(AS_FOR_TARGET)
LD= $(LD_FOR_TARGET)
NM= $(NM_FOR_TARGET)
AR= $(AR_FOR_TARGET)
SIZE= $(SIZE_FOR_TARGET)
OBJCOPY= $(OBJCOPY_FOR_TARGET)

export CC
export CXX
export AS
export LD
export NM
export AR
export SIZE
export OBJCOPY

RTEMS_ROOT  ?= $(prefix)
PROJECT_ROOT = $(RTEMS_ROOT)
RTEMS_CUSTOM = $(RTEMS_ROOT)/make/custom/$(RTEMS_BSP).cfg
RTEMS_SHARE  = $(RTEMS_ROOT)/share/rtems$(RTEMS_API)

RTEMS_USE_OWN_PDIR = no
RTEMS_HAS_POSIX_API =
RTEMS_HAS_ITRON_API = no
RTEMS_HAS_CPLUSPLUS = yes

export RTEMS_BSP
export RTEMS_CUSTOM
export PROJECT_ROOT


--
embedded brains GmbH
Herr Sebastian HUBER
Dornierstr. 4
82178 Puchheim
Germany
email: sebastian.hu...@embedded-brains.de
phone: +49-89-18 94 741 - 16
fax:   +49-89-18 94 741 - 08

Registergericht: Amtsgericht München
Registernummer: HRB 157899
Vertretungsberechtigte Geschäftsführer: Peter Rasmussen, Thomas Dörfler
Unsere Datenschutzerklärung finden Sie hier:
https://embedded-brains.de/datenschutzerklaerung/
___
devel mailing list
devel@rtems.org
http://lists.rtems.org/mailman/listinfo/devel

Re: [PATCH] build: Add PROGRAM_PREFIX option

2023-08-02 Thread Chris Johns
On 2/8/2023 6:39 pm, Sebastian Huber wrote:
> On 02.08.23 10:33, Chris Johns wrote:
>>> diff --git a/spec/build/bsps/makeinc.yml b/spec/build/bsps/makeinc.yml
>>> index ac395f2f02..08fc75a8b9 100644
>>> --- a/spec/build/bsps/makeinc.yml
>>> +++ b/spec/build/bsps/makeinc.yml
>>> @@ -16,14 +16,14 @@ content: |
>>>     prefix = ${PREFIX}
>>>     exec_prefix = $${prefix}/${ARCH}-rtems${__RTEMS_MAJOR__}
>>>   -  CC_FOR_TARGET = ${ARCH}-rtems${__RTEMS_MAJOR__}-gcc
>>> -  CXX_FOR_TARGET = ${ARCH}-rtems${__RTEMS_MAJOR__}-g++
>>> -  AS_FOR_TARGET = ${ARCH}-rtems${__RTEMS_MAJOR__}-as
>>> -  AR_FOR_TARGET = ${ARCH}-rtems${__RTEMS_MAJOR__}-ar
>>> -  NM_FOR_TARGET = ${ARCH}-rtems${__RTEMS_MAJOR__}-nm
>>> -  LD_FOR_TARGET = ${ARCH}-rtems${__RTEMS_MAJOR__}-ld
>>> -  SIZE_FOR_TARGET = ${ARCH}-rtems${__RTEMS_MAJOR__}-size
>>> -  OBJCOPY_FOR_TARGET = ${ARCH}-rtems${__RTEMS_MAJOR__}-objcopy
>>> +  CC_FOR_TARGET = ${PROGRAM_PREFIX}gcc
>>> +  CXX_FOR_TARGET = ${PROGRAM_PREFIX}g++
>> Is it worth doing the same to gcc and g++ as well so these can be replaced as
>> well?
> 
> Yes, but this would be another patch and it is a bit more work since you have 
> to
> test the clang support.
> 
>>
>>> +  AS_FOR_TARGET = ${PROGRAM_PREFIX}as
>>> +  AR_FOR_TARGET = ${PROGRAM_PREFIX}ar
>>> +  NM_FOR_TARGET = ${PROGRAM_PREFIX}nm
>>> +  LD_FOR_TARGET = ${PROGRAM_PREFIX}ld
>>> +  SIZE_FOR_TARGET = ${PROGRAM_PREFIX}size
>>> +  OBJCOPY_FOR_TARGET = ${PROGRAM_PREFIX}objcopy
>> Where is PROGRAM_PFREFIX set?
> 
> It is a new configuration option:
> 
> [sparc/gr740]
> PROGRAM_PREFIX = ${ARCH}-rtems7-
> 

Yes, but if these files are installed does it need to be in defined in those 
files?

Chris
___
devel mailing list
devel@rtems.org
http://lists.rtems.org/mailman/listinfo/devel

Re: [PATCH] build: Add PROGRAM_PREFIX option

2023-08-02 Thread Chris Johns
On 2/8/2023 6:42 pm, Sebastian Huber wrote:
> On 02.08.23 10:40, Chris Johns wrote:
>> On 2/8/2023 6:33 pm, Chris Johns wrote:
>>> On 2/8/2023 3:49 pm, Sebastian Huber wrote:
 Replace --rtems-version with a PROGRAM_PREFIX option.  This allows also
 the use of vendor tools.> ---
>> One further thing to consider is if PROGRAM_PREFIX could clash with something
>> else in a user's environment because it is not in any RTEMS name space, ie
>> RTEMS_PROGRAM_PREFIX?
> 
> No, this could not clash. The options have their own namespace.

What about Makefile.inc when installed?

I am concerned about the compatibility to the ecosystem we have. Have you built
all the tests in the testsuite with this value set to something that is not
RTEMS default? I think a few things will break because of hard coding in them.

Chris
___
devel mailing list
devel@rtems.org
http://lists.rtems.org/mailman/listinfo/devel

Re: [PATCH] build: Add PROGRAM_PREFIX option

2023-08-02 Thread Sebastian Huber

On 02.08.23 10:40, Chris Johns wrote:

On 2/8/2023 6:33 pm, Chris Johns wrote:

On 2/8/2023 3:49 pm, Sebastian Huber wrote:

Replace --rtems-version with a PROGRAM_PREFIX option.  This allows also
the use of vendor tools.> ---

One further thing to consider is if PROGRAM_PREFIX could clash with something
else in a user's environment because it is not in any RTEMS name space, ie
RTEMS_PROGRAM_PREFIX?


No, this could not clash. The options have their own namespace.

--
embedded brains GmbH
Herr Sebastian HUBER
Dornierstr. 4
82178 Puchheim
Germany
email: sebastian.hu...@embedded-brains.de
phone: +49-89-18 94 741 - 16
fax:   +49-89-18 94 741 - 08

Registergericht: Amtsgericht München
Registernummer: HRB 157899
Vertretungsberechtigte Geschäftsführer: Peter Rasmussen, Thomas Dörfler
Unsere Datenschutzerklärung finden Sie hier:
https://embedded-brains.de/datenschutzerklaerung/
___
devel mailing list
devel@rtems.org
http://lists.rtems.org/mailman/listinfo/devel

Re: [PATCH] build: Add PROGRAM_PREFIX option

2023-08-02 Thread Chris Johns
On 2/8/2023 6:33 pm, Chris Johns wrote:
> On 2/8/2023 3:49 pm, Sebastian Huber wrote:
>> Replace --rtems-version with a PROGRAM_PREFIX option.  This allows also
>> the use of vendor tools.> ---

One further thing to consider is if PROGRAM_PREFIX could clash with something
else in a user's environment because it is not in any RTEMS name space, ie
RTEMS_PROGRAM_PREFIX?

Chris
___
devel mailing list
devel@rtems.org
http://lists.rtems.org/mailman/listinfo/devel


Re: [PATCH] build: Add PROGRAM_PREFIX option

2023-08-02 Thread Sebastian Huber



On 02.08.23 10:33, Chris Johns wrote:

diff --git a/spec/build/bsps/makeinc.yml b/spec/build/bsps/makeinc.yml
index ac395f2f02..08fc75a8b9 100644
--- a/spec/build/bsps/makeinc.yml
+++ b/spec/build/bsps/makeinc.yml
@@ -16,14 +16,14 @@ content: |
prefix = ${PREFIX}
exec_prefix = $${prefix}/${ARCH}-rtems${__RTEMS_MAJOR__}
  
-  CC_FOR_TARGET = ${ARCH}-rtems${__RTEMS_MAJOR__}-gcc

-  CXX_FOR_TARGET = ${ARCH}-rtems${__RTEMS_MAJOR__}-g++
-  AS_FOR_TARGET = ${ARCH}-rtems${__RTEMS_MAJOR__}-as
-  AR_FOR_TARGET = ${ARCH}-rtems${__RTEMS_MAJOR__}-ar
-  NM_FOR_TARGET = ${ARCH}-rtems${__RTEMS_MAJOR__}-nm
-  LD_FOR_TARGET = ${ARCH}-rtems${__RTEMS_MAJOR__}-ld
-  SIZE_FOR_TARGET = ${ARCH}-rtems${__RTEMS_MAJOR__}-size
-  OBJCOPY_FOR_TARGET = ${ARCH}-rtems${__RTEMS_MAJOR__}-objcopy
+  CC_FOR_TARGET = ${PROGRAM_PREFIX}gcc
+  CXX_FOR_TARGET = ${PROGRAM_PREFIX}g++

Is it worth doing the same to gcc and g++ as well so these can be replaced as 
well?


Yes, but this would be another patch and it is a bit more work since you 
have to test the clang support.





+  AS_FOR_TARGET = ${PROGRAM_PREFIX}as
+  AR_FOR_TARGET = ${PROGRAM_PREFIX}ar
+  NM_FOR_TARGET = ${PROGRAM_PREFIX}nm
+  LD_FOR_TARGET = ${PROGRAM_PREFIX}ld
+  SIZE_FOR_TARGET = ${PROGRAM_PREFIX}size
+  OBJCOPY_FOR_TARGET = ${PROGRAM_PREFIX}objcopy

Where is PROGRAM_PFREFIX set?


It is a new configuration option:

[sparc/gr740]
PROGRAM_PREFIX = ${ARCH}-rtems7-

--
embedded brains GmbH
Herr Sebastian HUBER
Dornierstr. 4
82178 Puchheim
Germany
email: sebastian.hu...@embedded-brains.de
phone: +49-89-18 94 741 - 16
fax:   +49-89-18 94 741 - 08

Registergericht: Amtsgericht München
Registernummer: HRB 157899
Vertretungsberechtigte Geschäftsführer: Peter Rasmussen, Thomas Dörfler
Unsere Datenschutzerklärung finden Sie hier:
https://embedded-brains.de/datenschutzerklaerung/
___
devel mailing list
devel@rtems.org
http://lists.rtems.org/mailman/listinfo/devel

Re: [PATCH] build: Add PROGRAM_PREFIX option

2023-08-02 Thread Chris Johns
On 2/8/2023 3:49 pm, Sebastian Huber wrote:
> Replace --rtems-version with a PROGRAM_PREFIX option.  This allows also
> the use of vendor tools.> ---
>  spec/build/bsps/makeinc.yml| 16 
>  spec/build/bsps/maketarget.yml | 22 +++---
>  spec/build/bsps/optobjcopy.yml |  2 +-
>  spec/build/cpukit/cpuopts.yml  |  2 ++
>  spec/build/cpukit/optgcc.yml   |  8 
>  spec/build/cpukit/optprogramprefix.yml | 18 ++
>  spec/build/testsuites/ada/optgnat.yml  |  2 +-
>  wscript| 24 ++--
>  8 files changed, 47 insertions(+), 47 deletions(-)
>  create mode 100644 spec/build/cpukit/optprogramprefix.yml
> 
> diff --git a/spec/build/bsps/makeinc.yml b/spec/build/bsps/makeinc.yml
> index ac395f2f02..08fc75a8b9 100644
> --- a/spec/build/bsps/makeinc.yml
> +++ b/spec/build/bsps/makeinc.yml
> @@ -16,14 +16,14 @@ content: |
>prefix = ${PREFIX}
>exec_prefix = $${prefix}/${ARCH}-rtems${__RTEMS_MAJOR__}
>  
> -  CC_FOR_TARGET = ${ARCH}-rtems${__RTEMS_MAJOR__}-gcc
> -  CXX_FOR_TARGET = ${ARCH}-rtems${__RTEMS_MAJOR__}-g++
> -  AS_FOR_TARGET = ${ARCH}-rtems${__RTEMS_MAJOR__}-as
> -  AR_FOR_TARGET = ${ARCH}-rtems${__RTEMS_MAJOR__}-ar
> -  NM_FOR_TARGET = ${ARCH}-rtems${__RTEMS_MAJOR__}-nm
> -  LD_FOR_TARGET = ${ARCH}-rtems${__RTEMS_MAJOR__}-ld
> -  SIZE_FOR_TARGET = ${ARCH}-rtems${__RTEMS_MAJOR__}-size
> -  OBJCOPY_FOR_TARGET = ${ARCH}-rtems${__RTEMS_MAJOR__}-objcopy
> +  CC_FOR_TARGET = ${PROGRAM_PREFIX}gcc
> +  CXX_FOR_TARGET = ${PROGRAM_PREFIX}g++

Is it worth doing the same to gcc and g++ as well so these can be replaced as 
well?

> +  AS_FOR_TARGET = ${PROGRAM_PREFIX}as
> +  AR_FOR_TARGET = ${PROGRAM_PREFIX}ar
> +  NM_FOR_TARGET = ${PROGRAM_PREFIX}nm
> +  LD_FOR_TARGET = ${PROGRAM_PREFIX}ld
> +  SIZE_FOR_TARGET = ${PROGRAM_PREFIX}size
> +  OBJCOPY_FOR_TARGET = ${PROGRAM_PREFIX}objcopy

Where is PROGRAM_PFREFIX set?

>CC= $$(CC_FOR_TARGET)
>CXX= $$(CXX_FOR_TARGET)
> diff --git a/spec/build/bsps/maketarget.yml b/spec/build/bsps/maketarget.yml
> index 798b64fa22..7a7b0c3d35 100644
> --- a/spec/build/bsps/maketarget.yml
> +++ b/spec/build/bsps/maketarget.yml
> @@ -11,17 +11,17 @@ content: |
>LIBS =
>  
>RTEMS_API = ${__RTEMS_MAJOR__}
> -  CC = ${ARCH}-rtems${__RTEMS_MAJOR__}-gcc --pipe
> -  AS = ${ARCH}-rtems${__RTEMS_MAJOR__}-as
> -  AR = ${ARCH}-rtems${__RTEMS_MAJOR__}-ar
> -  NM = ${ARCH}-rtems${__RTEMS_MAJOR__}-nm
> -  LD = ${ARCH}-rtems${__RTEMS_MAJOR__}-ld
> -  SIZE = ${ARCH}-rtems${__RTEMS_MAJOR__}-size
> -  STRIP = ${ARCH}-rtems${__RTEMS_MAJOR__}-strip
> -  OBJCOPY = ${ARCH}-rtems${__RTEMS_MAJOR__}-objcopy
> -  RANLIB = ${ARCH}-rtems${__RTEMS_MAJOR__}-ranlib
> -
> -  CXX = ${ARCH}-rtems${__RTEMS_MAJOR__}-g++
> +  CC = ${PROGRAM_PREFIX}gcc --pipe
> +  AS = ${PROGRAM_PREFIX}as
> +  AR = ${PROGRAM_PREFIX}ar
> +  NM = ${PROGRAM_PREFIX}nm
> +  LD = ${PROGRAM_PREFIX}ld
> +  SIZE = ${PROGRAM_PREFIX}size
> +  STRIP = ${PROGRAM_PREFIX}strip
> +  OBJCOPY = ${PROGRAM_PREFIX}objcopy
> +  RANLIB = ${PROGRAM_PREFIX}ranlib
> +
> +  CXX = ${PROGRAM_PREFIX}g++

Same here with setting PROGRAM_PREFIX?

Chris

>  
>export CC
>export AS
> diff --git a/spec/build/bsps/optobjcopy.yml b/spec/build/bsps/optobjcopy.yml
> index 3387e23794..63fab08ac6 100644
> --- a/spec/build/bsps/optobjcopy.yml
> +++ b/spec/build/bsps/optobjcopy.yml
> @@ -1,6 +1,6 @@
>  SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
>  actions:
> -- set-value: ${ARCH}-rtems${__RTEMS_MAJOR__}-objcopy
> +- set-value: ${PROGRAM_PREFIX}objcopy
>  - substitute: null
>  - find-program: null
>  - env-assign: OBJCOPY
> diff --git a/spec/build/cpukit/cpuopts.yml b/spec/build/cpukit/cpuopts.yml
> index f1b30eec55..1d28ace552 100644
> --- a/spec/build/cpukit/cpuopts.yml
> +++ b/spec/build/cpukit/cpuopts.yml
> @@ -7,6 +7,8 @@ guard: _RTEMS_SCORE_CPUOPTS_H
>  include-headers: []
>  install-path: ${BSP_INCLUDEDIR}/rtems/score
>  links:
> +- role: build-dependency
> +  uid: optprogramprefix
>  - role: build-dependency
>uid: optgcc
>  - role: build-dependency
> diff --git a/spec/build/cpukit/optgcc.yml b/spec/build/cpukit/optgcc.yml
> index 3afb909444..94af494af4 100644
> --- a/spec/build/cpukit/optgcc.yml
> +++ b/spec/build/cpukit/optgcc.yml
> @@ -1,21 +1,21 @@
>  SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
>  actions:
> -- set-value: ${ARCH}-rtems${__RTEMS_MAJOR__}-gcc
> +- set-value: ${PROGRAM_PREFIX}gcc
>  - substitute: null
>  - find-program: null
>  - env-assign: AS
>  - env-assign: CC
>  - env-assign: LINK_CC
> -- set-value: ${ARCH}-rtems${__RTEMS_MAJOR__}-g++
> +- set-value: ${PROGRAM_PREFIX}g++
>  - substitute: null
>  - find-program: null
>  - env-assign: CXX
>  - env-assign: LINK_CXX
> -- set-value: ${ARCH}-rtems${__RTEMS_MAJOR__}-ar
> +- set-value: ${PROGRAM_PREFIX}ar
>  - substitute: null
>  - find-program: null
>  - env-assign: AR
> -- set-value: ${ARCH}-rtems${__RTEMS_MAJOR__}-ld
> +- se