Re: i386 and epiphany on FreeBSD 13 for rtems 5

2021-12-30 Thread Karel Gardas
On 12/24/21 6:56 PM, Joel Sherrill wrote:
>> Remark: looks like you will not be able to keep tools from past working
>> on modern systems indefinitely which means you can also declare rtems5
>> tools support for FreeBSD 12.x max.
> 
> Yep.
> 
>> Or, what about to require installed gcc able to bootstrap cross-compiler
>> without issues? My pretty current FreeBSD 14 provides following gccs:
> 
> Are these installed in a special directory where they can be ignored
> for rtems 6 or 7 tool builds? Sorry to ask but we want this FreeBSD 13
> VM to be easily in the preferred state for 5, 6, and 7 test sweeps.

Yes, in fact any version X (where X == 48, 8, 10 etc) installed results
in gccX binary (and other tools) in /usr/local/bin and in
/usr/local/lib/gccX directory for runtime libraries so README recommends to:

To ensure binaries built with this toolchain find appropriate versions
of the necessary run-time libraries, you may want to link using

  -Wl,-rpath=/usr/local/lib/gccX

>> I guess this is more than enough to throw away system wide clang and use
>> one of those?
> 
> Except for using the same VM with different options/paths to build rtems
> 5, 6, and 7 in the preferred way. Help on that is appreciated.

Well, I guess it's always an option to modify PATH and create a rsb own
bin dir just for bootstrap where you can link all the required tools.
It's a question if it make sense to modify rsp directly for rtems5 to
support that automatically or just document requirements and few hints
how and what to do exactly in this case on modern FreeBSD.

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


Re: i386 and epiphany on FreeBSD 13 for rtems 5

2021-12-24 Thread Joel Sherrill
On Wed, Dec 22, 2021 at 9:38 AM Karel Gardas  wrote:
>
> On 12/22/21 3:51 PM, Joel Sherrill wrote:
> > Hi
> >
> > Both i386 and epiphany rtems 5 GCC fail to build on FreeBSD 13. It
> > appears that the newer compiler on FreeBSD 13 does not like some code
> > from the older GCC.
> >
> > Logs linked here:
> >
> > epiphany - https://lists.rtems.org/pipermail/build/2021-December/030627.html
> >
> > i386 - https://lists.rtems.org/pipermail/build/2021-December/030628.html
> >
> > I only see two fixes. (1) Add --disable-werror to these targets on
> > rtems5 or (2) update the gcc on rtems5. We always are resistant to (2)
> > so I guess that leaves us with option (1).
> >
> > Thoughts, comments, jokes, concurrence?
>
> joke? Here is one: what about to bootstrap native gcc 7.5.0 with
> --disable-werror and then use that to compile i386 cross-compiler?

The RSB does actually have native gcc bsets. But they have not been
updated to be more recent than 4.9.

If there isn't a native OS package for an older gcc, updating these
would be a good option.

> Remark: looks like you will not be able to keep tools from past working
> on modern systems indefinitely which means you can also declare rtems5
> tools support for FreeBSD 12.x max.

Yep.

> Or, what about to require installed gcc able to bootstrap cross-compiler
> without issues? My pretty current FreeBSD 14 provides following gccs:

Are these installed in a special directory where they can be ignored
for rtems 6 or 7 tool builds? Sorry to ask but we want this FreeBSD 13
VM to be easily in the preferred state for 5, 6, and 7 test sweeps.

For rtems 6 and 7, using clang would be preferred.

>  $ pkg search gcc|grep "GNU Compiler Collection"|grep -v "Cross"
> aarch64-none-elf-gcc-8.4.0_3   GNU Compiler Collection for bare metal
> aarch64 cross-development
> arm-none-eabi-gcc-8.4.0_3  GNU Compiler Collection for bare metal
> arm cross-development
> arm-none-eabi-gcc492-4.9.2_5   GNU Compiler Collection for bare metal
> arm cross-development
> gcc-10_4   Meta-port for the default version of the
> GNU Compiler Collection
> gcc10-10.3.0   GNU Compiler Collection 10
> gcc10-devel-10.3.1.s20211008   GNU Compiler Collection 10
> gcc11-11.2.0   GNU Compiler Collection 11
> gcc11-devel-11.2.1.s20211009   GNU Compiler Collection 11
> gcc12-devel-12.0.0.s20211128   GNU Compiler Collection 12
> gcc48-4.8.5_14 GNU Compiler Collection 4.8
> gcc8-8.5.0_1   GNU Compiler Collection 8

One of these last two should be the best choices. gcc 8 or 48
if that doesn't work.

> gcc9-9.4.0 GNU Compiler Collection 9
> gcc9-devel-9.4.1.s20211007 GNU Compiler Collection 9
> riscv32-unknown-elf-gcc-8.4.0_3 GNU Compiler Collection for bare metal
> riscv32 cross-development
> riscv64-none-elf-gcc-8.4.0_3   GNU Compiler Collection for bare metal
> riscv64 cross-development
>
>
> I guess this is more than enough to throw away system wide clang and use
> one of those?

Except for using the same VM with different options/paths to build rtems
5, 6, and 7 in the preferred way. Help on that is appreciated.

--joel

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


Re: i386 and epiphany on FreeBSD 13 for rtems 5

2021-12-22 Thread Karel Gardas
On 12/22/21 3:51 PM, Joel Sherrill wrote:
> Hi
> 
> Both i386 and epiphany rtems 5 GCC fail to build on FreeBSD 13. It
> appears that the newer compiler on FreeBSD 13 does not like some code
> from the older GCC.
> 
> Logs linked here:
> 
> epiphany - https://lists.rtems.org/pipermail/build/2021-December/030627.html
> 
> i386 - https://lists.rtems.org/pipermail/build/2021-December/030628.html
> 
> I only see two fixes. (1) Add --disable-werror to these targets on
> rtems5 or (2) update the gcc on rtems5. We always are resistant to (2)
> so I guess that leaves us with option (1).
> 
> Thoughts, comments, jokes, concurrence?

joke? Here is one: what about to bootstrap native gcc 7.5.0 with
--disable-werror and then use that to compile i386 cross-compiler?

Remark: looks like you will not be able to keep tools from past working
on modern systems indefinitely which means you can also declare rtems5
tools support for FreeBSD 12.x max.

Or, what about to require installed gcc able to bootstrap cross-compiler
without issues? My pretty current FreeBSD 14 provides following gccs:


 $ pkg search gcc|grep "GNU Compiler Collection"|grep -v "Cross"
aarch64-none-elf-gcc-8.4.0_3   GNU Compiler Collection for bare metal
aarch64 cross-development
arm-none-eabi-gcc-8.4.0_3  GNU Compiler Collection for bare metal
arm cross-development
arm-none-eabi-gcc492-4.9.2_5   GNU Compiler Collection for bare metal
arm cross-development
gcc-10_4   Meta-port for the default version of the
GNU Compiler Collection
gcc10-10.3.0   GNU Compiler Collection 10
gcc10-devel-10.3.1.s20211008   GNU Compiler Collection 10
gcc11-11.2.0   GNU Compiler Collection 11
gcc11-devel-11.2.1.s20211009   GNU Compiler Collection 11
gcc12-devel-12.0.0.s20211128   GNU Compiler Collection 12
gcc48-4.8.5_14 GNU Compiler Collection 4.8
gcc8-8.5.0_1   GNU Compiler Collection 8
gcc9-9.4.0 GNU Compiler Collection 9
gcc9-devel-9.4.1.s20211007 GNU Compiler Collection 9
riscv32-unknown-elf-gcc-8.4.0_3 GNU Compiler Collection for bare metal
riscv32 cross-development
riscv64-none-elf-gcc-8.4.0_3   GNU Compiler Collection for bare metal
riscv64 cross-development


I guess this is more than enough to throw away system wide clang and use
one of those?

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


i386 and epiphany on FreeBSD 13 for rtems 5

2021-12-22 Thread Joel Sherrill
Hi

Both i386 and epiphany rtems 5 GCC fail to build on FreeBSD 13. It
appears that the newer compiler on FreeBSD 13 does not like some code
from the older GCC.

Logs linked here:

epiphany - https://lists.rtems.org/pipermail/build/2021-December/030627.html

i386 - https://lists.rtems.org/pipermail/build/2021-December/030628.html

I only see two fixes. (1) Add --disable-werror to these targets on
rtems5 or (2) update the gcc on rtems5. We always are resistant to (2)
so I guess that leaves us with option (1).

Thoughts, comments, jokes, concurrence?

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