Is there a need to sometimes change gcc/config/t-* files when building a cross compiler?

2024-09-27 Thread Dennis Luehring via Gcc

im currently trying to replicate a gcc-3.4.0 arm-elf build from an very
old cross toolchain
building with my script (https://pastebin.com/kAEK0S24) works
but my -print-multi-lib returns only

---
.;
thumb;@mthumb
---

the original builds -print-multi-lib returns

---
.;
thumb;@mthumb
be;@mbig-endian
fpu;@mhard-float
interwork;@mthumb-interwork
nofmult;@mcpu=arm7
fpu/interwork;@mhard-float@mthumb-interwork
fpu/nofmult;@mhard-float@mcpu=arm7
be/fpu;@mbig-endian@mhard-float
be/interwork;@mbig-endian@mthumb-interwork
be/nofmult;@mbig-endian@mcpu=arm7
be/fpu/interwork;@mbig-endian@mhard-float@mthumb-interwork
be/fpu/nofmult;@mbig-endian@mhard-float@mcpu=arm7
thumb/be;@mthumb@mbig-endian
thumb/interwork;@mthumb@mthumb-interwork
thumb/be/interwork;@mthumb@mbig-endian@mthumb-interwork
---

and the configure lines getting with -v are the same

i tried adding

--with-float=hard --with-thumb-interwork --with-big-endian

to ./configure but that doesn't changed my -print-multi-lib output


is it needed that i directly change the content of my

gcc-3.4.0\gcc\config\arm\t-arm-elf

file to get the multi-lib options or is there a better way?



Re: Is there a need to sometimes change gcc/config/t-* files when building a cross compiler?

2024-09-27 Thread Dennis Luehring via Gcc

content of my gcc-3.4.0\gcc\config\arm\t-arm-elf

https://pastebin.com/CivYHhRa

Am 27.09.2024 um 09:23 schrieb Dennis Luehring via Gcc:

im currently trying to replicate a gcc-3.4.0 arm-elf build from an very
old cross toolchain
building with my script (https://pastebin.com/kAEK0S24) works
but my -print-multi-lib returns only

---
.;
thumb;@mthumb
---

the original builds -print-multi-lib returns

---
.;
thumb;@mthumb
be;@mbig-endian
fpu;@mhard-float
interwork;@mthumb-interwork
nofmult;@mcpu=arm7
fpu/interwork;@mhard-float@mthumb-interwork
fpu/nofmult;@mhard-float@mcpu=arm7
be/fpu;@mbig-endian@mhard-float
be/interwork;@mbig-endian@mthumb-interwork
be/nofmult;@mbig-endian@mcpu=arm7
be/fpu/interwork;@mbig-endian@mhard-float@mthumb-interwork
be/fpu/nofmult;@mbig-endian@mhard-float@mcpu=arm7
thumb/be;@mthumb@mbig-endian
thumb/interwork;@mthumb@mthumb-interwork
thumb/be/interwork;@mthumb@mbig-endian@mthumb-interwork
---

and the configure lines getting with -v are the same

i tried adding

--with-float=hard --with-thumb-interwork --with-big-endian

to ./configure but that doesn't changed my -print-multi-lib output


is it needed that i directly change the content of my

gcc-3.4.0\gcc\config\arm\t-arm-elf

file to get the multi-lib options or is there a better way?





Re: Is there a need to sometimes change gcc/config/t-* files when building a cross compiler?

2024-09-27 Thread Richard Earnshaw (lists) via Gcc
On 27/09/2024 10:03, David Brown via Gcc wrote:
> On 27/09/2024 10:13, Dennis Luehring via Gcc wrote:
>> Am 27.09.2024 um 09:56 schrieb Jonathan Wakely:
>>> On Fri, 27 Sept 2024, 08:39 Dennis Luehring,  wrote:
>>>
>>> > Am 27.09.2024 um 09:34 schrieb Jonathan Wakely:
>>> >
>>> >
>>> > > They might not have
>>> > > been using the original gcc-3.4.0 sources.
>>> >
>>> >
>>> > seems to be very possible
>>> >
>>> >
>>> >
>>> > > There should be no need to edit those files, but that doesn't mean that
>>> > the
>>> > > people who built your old toolchain didn't edit them.
>>> >
>>> > the other way would be using --with-multilib-list=list ?
>>> > but that usage should be visible by using -v on the original build, or?
>>> >
>>>
>>> I think so yes, but I'm not sure. If you said arm-elf in the mail Subject
>>> you might get the attention of somebody who knows the details.
>>
>> so just repost with a changed subject?
>>
>>>
>>> Have you tried to obtain the sources from whoever provided the original
>>> compiler that you're trying to replicate?
>>>
>>
>> so far not available - the original providing company (Microcross) is
>> long defunct (over a decade now)
>> but im still trying to reach someone
>>
> 
> It was very common at that time for suppliers to use slightly modified gcc 
> sources for microcontrollers (especially ARM, but also for other targets).  
> Typically manufacturers and some major third-party gcc builders were ahead of 
> mainline in support for some microcontroller cores and workarounds for known 
> hardware bugs, and they also often backported such changes from newer gcc 
> mainline to older gcc releases. So there is a very real chance that the 
> sources you have are not original.
> 
> You could download the archived release from the gcc website and compare the 
> sources to get some idea if they have changed.
> 
> And if you don't get hold of someone from Microcross, you might have luck 
> with someone from Code Sourcery.  I believe they were doing a lot of the work 
> on ARM gcc on behalf of microcontroller manufacturers at that time.
> 
> David
> 
> 

The list of multilibs for Arm has become increadibly long as the architecture 
has migrated down the different (A, R, M) profiles.  To handle this we now 
provide some canned rules to build a set of multilibs that will handle most of 
these profiles out of the box, but they can increase the overall build time 
significantly, and only work correctly if you don't try to override the default 
architecture flags, or change the default code generation from Arm to Thumb.

You can enable all this if you add 

  --with-multilib-list=

where  can be any of "aprofile", "rmprofile" or "aprofile,rmprofile".

You can also see the code that supports all this (and how complex it is :) ) in 
gcc/config/arm/{t-multilib,t-aprofile,t-rmprofile).

All this is with the latest sources, but this code dates back several releases 
now.

HTH,
R.


Re: Christophe Lyon as MVE reviewer for the AArch32 (arm) port.

2024-09-27 Thread Christophe Lyon via Gcc

Hi Ramana,


On 9/26/24 19:22, Ramana Radhakrishnan wrote:

I am pleased to announce that the GCC Steering Committee has appointed
Christophe Lyon as a MVE Reviewer for the AArch32 port.

Please join me in congratulating Christophe on his new role.

Christophe, please update your listings in the MAINTAINERS file.

Regards,
Ramana



Thanks for your trust!

Christophe


Re: Is there a need to sometimes change gcc/config/t-* files when building a cross compiler?

2024-09-27 Thread David Brown via Gcc

On 27/09/2024 10:13, Dennis Luehring via Gcc wrote:

Am 27.09.2024 um 09:56 schrieb Jonathan Wakely:

On Fri, 27 Sept 2024, 08:39 Dennis Luehring,  wrote:

> Am 27.09.2024 um 09:34 schrieb Jonathan Wakely:
>
>
> > They might not have
> > been using the original gcc-3.4.0 sources.
>
>
> seems to be very possible
>
>
>
> > There should be no need to edit those files, but that doesn't mean 
that

> the
> > people who built your old toolchain didn't edit them.
>
> the other way would be using --with-multilib-list=list ?
> but that usage should be visible by using -v on the original build, or?
>

I think so yes, but I'm not sure. If you said arm-elf in the mail Subject
you might get the attention of somebody who knows the details.


so just repost with a changed subject?



Have you tried to obtain the sources from whoever provided the original
compiler that you're trying to replicate?



so far not available - the original providing company (Microcross) is
long defunct (over a decade now)
but im still trying to reach someone



It was very common at that time for suppliers to use slightly modified 
gcc sources for microcontrollers (especially ARM, but also for other 
targets).  Typically manufacturers and some major third-party gcc 
builders were ahead of mainline in support for some microcontroller 
cores and workarounds for known hardware bugs, and they also often 
backported such changes from newer gcc mainline to older gcc releases. 
So there is a very real chance that the sources you have are not original.


You could download the archived release from the gcc website and compare 
the sources to get some idea if they have changed.


And if you don't get hold of someone from Microcross, you might have 
luck with someone from Code Sourcery.  I believe they were doing a lot 
of the work on ARM gcc on behalf of microcontroller manufacturers at 
that time.


David




Re: Is there a need to sometimes change gcc/config/t-* files when building a cross compiler?

2024-09-27 Thread Dennis Luehring via Gcc

Am 27.09.2024 um 09:34 schrieb Jonathan Wakely:



They might not have
been using the original gcc-3.4.0 sources.



seems to be very possible




There should be no need to edit those files, but that doesn't mean that the
people who built your old toolchain didn't edit them.


the other way would be using --with-multilib-list=list ?
but that usage should be visible by using -v on the original build, or?


Re: Is there a need to sometimes change gcc/config/t-* files when building a cross compiler?

2024-09-27 Thread Jonathan Wakely via Gcc
On Fri, 27 Sept 2024, 08:39 Dennis Luehring,  wrote:

> Am 27.09.2024 um 09:34 schrieb Jonathan Wakely:
>
>
> > They might not have
> > been using the original gcc-3.4.0 sources.
>
>
> seems to be very possible
>
>
>
> > There should be no need to edit those files, but that doesn't mean that
> the
> > people who built your old toolchain didn't edit them.
>
> the other way would be using --with-multilib-list=list ?
> but that usage should be visible by using -v on the original build, or?
>

I think so yes, but I'm not sure. If you said arm-elf in the mail Subject
you might get the attention of somebody who knows the details.

Have you tried to obtain the sources from whoever provided the original
compiler that you're trying to replicate?


Re: Is there a need to sometimes change gcc/config/t-* files when building a cross compiler?

2024-09-27 Thread Jonathan Wakely via Gcc
On Fri, 27 Sept 2024, 08:24 Dennis Luehring via Gcc, 
wrote:

> im currently trying to replicate a gcc-3.4.0 arm-elf build from an very
> old cross toolchain
> building with my script (https://pastebin.com/kAEK0S24) works
> but my -print-multi-lib returns only
>
> ---
> .;
> thumb;@mthumb
> ---
>
> the original builds -print-multi-lib returns
>
> ---
> .;
> thumb;@mthumb
> be;@mbig-endian
> fpu;@mhard-float
> interwork;@mthumb-interwork
> nofmult;@mcpu=arm7
> fpu/interwork;@mhard-float@mthumb-interwork
> fpu/nofmult;@mhard-float@mcpu=arm7
> be/fpu;@mbig-endian@mhard-float
> be/interwork;@mbig-endian@mthumb-interwork
> be/nofmult;@mbig-endian@mcpu=arm7
> be/fpu/interwork;@mbig-endian@mhard-float@mthumb-interwork
> be/fpu/nofmult;@mbig-endian@mhard-float@mcpu=arm7
> thumb/be;@mthumb@mbig-endian
> thumb/interwork;@mthumb@mthumb-interwork
> thumb/be/interwork;@mthumb@mbig-endian@mthumb-interwork
> ---
>
> and the configure lines getting with -v are the same
>
> i tried adding
>
> --with-float=hard --with-thumb-interwork --with-big-endian
>
> to ./configure but that doesn't changed my -print-multi-lib output
>
>
> is it needed that i directly change the content of my
>
> gcc-3.4.0\gcc\config\arm\t-arm-elf
>
> file to get the multi-lib options or is there a better way?
>


There should be no need to edit those files, but that doesn't mean that the
people who built your old toolchain didn't edit them. They might not have
been using the original gcc-3.4.0 sources.

>


Re: Is there a need to sometimes change gcc/config/t-* files when building a cross compiler?

2024-09-27 Thread Dennis Luehring via Gcc

Am 27.09.2024 um 13:00 schrieb Richard Earnshaw (lists):

> It was very common at that time for suppliers to use slightly modified gcc 
sources for microcontrollers (especially ARM, but also for other targets).  
Typically manufacturers and some major third-party gcc builders were ahead of 
mainline in support for some microcontroller cores and workarounds for known 
hardware bugs, and they also often backported such changes from newer gcc mainline 
to older gcc releases. So there is a very real chance that the sources you have 
are not original.
>
> You could download the archived release from the gcc website and compare the 
sources to get some idea if they have changed.
>
> And if you don't get hold of someone from Microcross, you might have luck 
with someone from Code Sourcery.  I believe they were doing a lot of the work on 
ARM gcc on behalf of microcontroller manufacturers at that time.
>
> David
>
>

The list of multilibs for Arm has become increadibly long as the architecture 
has migrated down the different (A, R, M) profiles.  To handle this we now 
provide some canned rules to build a set of multilibs that will handle most of 
these profiles out of the box, but they can increase the overall build time 
significantly, and only work correctly if you don't try to override the default 
architecture flags, or change the default code generation from Arm to Thumb.

You can enable all this if you add

   --with-multilib-list=

where  can be any of "aprofile", "rmprofile" or "aprofile,rmprofile".

You can also see the code that supports all this (and how complex it is :) ) in 
gcc/config/arm/{t-multilib,t-aprofile,t-rmprofile).



thanks, i will try that


All this is with the latest sources, but this code dates back several releases 
now.



hoepfully back to 2004 :)



Re: Is there a need to sometimes change gcc/config/t-* files when building a cross compiler?

2024-09-27 Thread Dennis Luehring via Gcc

Am 27.09.2024 um 09:56 schrieb Jonathan Wakely:

On Fri, 27 Sept 2024, 08:39 Dennis Luehring,  wrote:

> Am 27.09.2024 um 09:34 schrieb Jonathan Wakely:
>
>
> > They might not have
> > been using the original gcc-3.4.0 sources.
>
>
> seems to be very possible
>
>
>
> > There should be no need to edit those files, but that doesn't mean that
> the
> > people who built your old toolchain didn't edit them.
>
> the other way would be using --with-multilib-list=list ?
> but that usage should be visible by using -v on the original build, or?
>

I think so yes, but I'm not sure. If you said arm-elf in the mail Subject
you might get the attention of somebody who knows the details.


so just repost with a changed subject?



Have you tried to obtain the sources from whoever provided the original
compiler that you're trying to replicate?



so far not available - the original providing company (Microcross) is
long defunct (over a decade now)
but im still trying to reach someone




Re: Is there a need to sometimes change gcc/config/t-* files when building a cross compiler?

2024-09-27 Thread Jonathan Wakely via Gcc
On Fri, 27 Sept 2024 at 09:13, Dennis Luehring  wrote:
>
> Am 27.09.2024 um 09:56 schrieb Jonathan Wakely:
> > On Fri, 27 Sept 2024, 08:39 Dennis Luehring,  wrote:
> >
> > > Am 27.09.2024 um 09:34 schrieb Jonathan Wakely:
> > >
> > >
> > > > They might not have
> > > > been using the original gcc-3.4.0 sources.
> > >
> > >
> > > seems to be very possible
> > >
> > >
> > >
> > > > There should be no need to edit those files, but that doesn't mean that
> > > the
> > > > people who built your old toolchain didn't edit them.
> > >
> > > the other way would be using --with-multilib-list=list ?
> > > but that usage should be visible by using -v on the original build, or?
> > >
> >
> > I think so yes, but I'm not sure. If you said arm-elf in the mail Subject
> > you might get the attention of somebody who knows the details.
>
> so just repost with a changed subject?

I've just noticed this thread is on the main gcc@ mailing list, I
assumed it was on the gcc-help@ list where questions like this belong.
ARM maintainers will probably see it anyway.
I've CC'd one of the ARM maintainers now too.

Richard, can you answer the question from the first mail in the
thread, regarding arm multilibs? (This is for gcc 3.4.0!)
Can the original multilib list be replicated by copying the items from
-print-multi-lib into the --with-multilib-list configure option?


>
> >
> > Have you tried to obtain the sources from whoever provided the original
> > compiler that you're trying to replicate?
> >
>
> so far not available - the original providing company (Microcross) is
> long defunct (over a decade now)
> but im still trying to reach someone
>
>


Re: Is there a need to sometimes change gcc/config/t-* files when building a cross compiler?

2024-09-27 Thread Dennis Luehring via Gcc

Am 27.09.2024 um 11:03 schrieb David Brown:

So there is a very real chance that the sources you have are not original.

You could download the archived release from the gcc website and compare
the sources to get some idea if they have changed.


i do not have original source - only binaries, i hope that building the
exact versions of
binutils(2.15)/gcc(3.4.0) and newlib(1.12.0) will bring me very near to
the binaries i got
- maybe i can compare the build-results using assembler-code/or map
diffing...


gcc-13-20240927 is now available

2024-09-27 Thread GCC Administrator via Gcc
Snapshot gcc-13-20240927 is now available on
  https://gcc.gnu.org/pub/gcc/snapshots/13-20240927/
and on various mirrors, see https://gcc.gnu.org/mirrors.html for details.

This snapshot has been generated from the GCC 13 git branch
with the following options: git://gcc.gnu.org/git/gcc.git branch 
releases/gcc-13 revision f7037fd03ad842dc69e20c03942f29d982ad655e

You'll find:

 gcc-13-20240927.tar.xz   Complete GCC

  SHA256=06bfaee7646e04935685b284e73d5cb105dd16e1227bda3dfac4c6e74eba2372
  SHA1=cad6a5445a6e58dc1cd14b9385c9ca5e60ceef40

Diffs from 13-20240920 are available in the diffs/ subdirectory.

When a particular snapshot is ready for public consumption the LATEST-13
link is updated and a message is sent to the gcc list.  Please do not use
a snapshot before it has been announced that way.