[v2,01/47] gdb, intelgt: add intelgt as a basic machine

Message ID 20241213-upstream-intelgt-mvp-v2-1-5c4caeb7b33d@intel.com
State New
Headers
Series [v2,01/47] gdb, intelgt: add intelgt as a basic machine |

Commit Message

Aktemur, Tankut Baris Dec. 13, 2024, 3:59 p.m. UTC
  Add 'intelgt' as a basic machine to config.sub.

To: <config-patches@gnu.org>
To: <binutils@sourceware.org>
---
 config.sub | 1 +
 1 file changed, 1 insertion(+)
  

Comments

Jan Beulich Dec. 16, 2024, 7:53 a.m. UTC | #1
On 13.12.2024 16:59, Tankut Baris Aktemur wrote:
> Add 'intelgt' as a basic machine to config.sub.
> 
> To: <config-patches@gnu.org>
> To: <binutils@sourceware.org>
> ---
>  config.sub | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/config.sub b/config.sub
> index 2c6a07ab3c34eabed8318ec0a37c0cc23b77a63f..63ff958ec125e543674e9b261d5e5bb2fa749c4e 100755
> --- a/config.sub
> +++ b/config.sub
> @@ -1205,6 +1205,7 @@ case $cpu-$vendor in
>  			| hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
>  			| hexagon \
>  			| i370 | i*86 | i860 | i960 | ia16 | ia64 \
> +			| intelgt \
>  			| ip2k | iq2000 \
>  			| k1om \
>  			| kvx \
> 

Patch 3 enables ld, but I can't spot any gas enabling (sadly the cover letter
wasn't Cc-ed to the binutils list). Don't you further need to exclude gas from
attempts of configuring?

I'm also puzzled by that difference: The series supposedly is about enabling
gdb. Why enable ld there? Just because it's (seemingly) easy?

Jan
  
Aktemur, Tankut Baris Dec. 17, 2024, 6:48 p.m. UTC | #2
On Monday, December 16, 2024 8:54 AM, Jan Beulich wrote:
> On 13.12.2024 16:59, Tankut Baris Aktemur wrote:
> > Add 'intelgt' as a basic machine to config.sub.
> >
> > To: <config-patches@gnu.org>
> > To: <binutils@sourceware.org>
> > ---
> >  config.sub | 1 +
> >  1 file changed, 1 insertion(+)
> >
> > diff --git a/config.sub b/config.sub
> > index 2c6a07ab3c34eabed8318ec0a37c0cc23b77a63f..63ff958ec125e543674e9b261d5e5bb2fa749c4e
> 100755
> > --- a/config.sub
> > +++ b/config.sub
> > @@ -1205,6 +1205,7 @@ case $cpu-$vendor in
> >  			| hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
> >  			| hexagon \
> >  			| i370 | i*86 | i860 | i960 | ia16 | ia64 \
> > +			| intelgt \
> >  			| ip2k | iq2000 \
> >  			| k1om \
> >  			| kvx \
> >
> 
> Patch 3 enables ld, but I can't spot any gas enabling (sadly the cover letter
> wasn't Cc-ed to the binutils list).

Sorry, this is my bad.  I'll Cc binutils in the next revision submission.
For the time being, the link to the cover letter is

  https://sourceware.org/pipermail/gdb-patches/2024-December/214029.html

> Don't you further need to exclude gas from
> attempts of configuring?
> 
> I'm also puzzled by that difference: The series supposedly is about enabling
> gdb. Why enable ld there? Just because it's (seemingly) easy?
> 
> Jan

Without enabling ld, when configured as

  <src>/configure --enable-targets="intelgt-elf"

'make' gives

  *** ld does not support target intelgt-unknown-elf
  *** see ld/configure.tgt for supported targets

Regards
-Baris


Intel Deutschland GmbH
Registered Address: Am Campeon 10, 85579 Neubiberg, Germany
Tel: +49 89 99 8853-0, www.intel.de
Managing Directors: Sean Fennelly, Jeffrey Schneiderman, Tiffany Doon Silva
Chairperson of the Supervisory Board: Nicole Lau
Registered Office: Munich
Commercial Register: Amtsgericht Muenchen HRB 186928
  
Jan Beulich Dec. 18, 2024, 7:19 a.m. UTC | #3
On 17.12.2024 19:48, Aktemur, Tankut Baris wrote:
> On Monday, December 16, 2024 8:54 AM, Jan Beulich wrote:
>> On 13.12.2024 16:59, Tankut Baris Aktemur wrote:
>>> Add 'intelgt' as a basic machine to config.sub.
>>>
>>> To: <config-patches@gnu.org>
>>> To: <binutils@sourceware.org>
>>> ---
>>>  config.sub | 1 +
>>>  1 file changed, 1 insertion(+)
>>>
>>> diff --git a/config.sub b/config.sub
>>> index 2c6a07ab3c34eabed8318ec0a37c0cc23b77a63f..63ff958ec125e543674e9b261d5e5bb2fa749c4e
>> 100755
>>> --- a/config.sub
>>> +++ b/config.sub
>>> @@ -1205,6 +1205,7 @@ case $cpu-$vendor in
>>>  			| hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
>>>  			| hexagon \
>>>  			| i370 | i*86 | i860 | i960 | ia16 | ia64 \
>>> +			| intelgt \
>>>  			| ip2k | iq2000 \
>>>  			| k1om \
>>>  			| kvx \
>>>
>>
>> Patch 3 enables ld, but I can't spot any gas enabling (sadly the cover letter
>> wasn't Cc-ed to the binutils list).
> 
> Sorry, this is my bad.  I'll Cc binutils in the next revision submission.
> For the time being, the link to the cover letter is
> 
>   https://sourceware.org/pipermail/gdb-patches/2024-December/214029.html
> 
>> Don't you further need to exclude gas from
>> attempts of configuring?
>>
>> I'm also puzzled by that difference: The series supposedly is about enabling
>> gdb. Why enable ld there? Just because it's (seemingly) easy?
>>
>> Jan
> 
> Without enabling ld, when configured as
> 
>   <src>/configure --enable-targets="intelgt-elf"
> 
> 'make' gives
> 
>   *** ld does not support target intelgt-unknown-elf
>   *** see ld/configure.tgt for supported targets

Like I think I said for gas, that imo wants dealing with by a top level
configure change, adding ld to noconfigtargets for intelgt.

Jan
  
Aktemur, Tankut Baris Dec. 20, 2024, 9:55 a.m. UTC | #4
Hi,

On Wednesday, December 18, 2024 8:20 AM, Jan Beulich wrote:
> On 17.12.2024 19:48, Aktemur, Tankut Baris wrote:
> > On Monday, December 16, 2024 8:54 AM, Jan Beulich wrote:
> >> On 13.12.2024 16:59, Tankut Baris Aktemur wrote:
> >>> Add 'intelgt' as a basic machine to config.sub.
> >>>
> >>> To: <config-patches@gnu.org>
> >>> To: <binutils@sourceware.org>
> >>> ---
> >>>  config.sub | 1 +
> >>>  1 file changed, 1 insertion(+)
> >>>
> >>> diff --git a/config.sub b/config.sub
> >>> index
> 2c6a07ab3c34eabed8318ec0a37c0cc23b77a63f..63ff958ec125e543674e9b261d5e5bb2fa749c4e
> >> 100755
> >>> --- a/config.sub
> >>> +++ b/config.sub
> >>> @@ -1205,6 +1205,7 @@ case $cpu-$vendor in
> >>>  			| hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
> >>>  			| hexagon \
> >>>  			| i370 | i*86 | i860 | i960 | ia16 | ia64 \
> >>> +			| intelgt \
> >>>  			| ip2k | iq2000 \
> >>>  			| k1om \
> >>>  			| kvx \
> >>>
> >>
> >> Patch 3 enables ld, but I can't spot any gas enabling (sadly the cover letter
> >> wasn't Cc-ed to the binutils list).
> >
> > Sorry, this is my bad.  I'll Cc binutils in the next revision submission.
> > For the time being, the link to the cover letter is
> >
> >   https://sourceware.org/pipermail/gdb-patches/2024-December/214029.html
> >
> >> Don't you further need to exclude gas from
> >> attempts of configuring?
> >>
> >> I'm also puzzled by that difference: The series supposedly is about enabling
> >> gdb. Why enable ld there? Just because it's (seemingly) easy?
> >>
> >> Jan
> >
> > Without enabling ld, when configured as
> >
> >   <src>/configure --enable-targets="intelgt-elf"
> >
> > 'make' gives
> >
> >   *** ld does not support target intelgt-unknown-elf
> >   *** see ld/configure.tgt for supported targets
> 
> Like I think I said for gas, that imo wants dealing with by a top level
> configure change, adding ld to noconfigtargets for intelgt.

Our overall goal at this step is to enable GDB.

A GPU workload executes by being submitted to the device from a
host/native process.  Therefore, although enabling GDB only for the
GPU target is possible, in general it needs to be enabled in addition
to the native target.  That is, it makes sense that a x86-64 target is
the primary one whereas the intelgt target is enabled as a secondary
target, so that GDB is able to debug native processes as usual, plus
the GPU workloads.

The $noconfigdirs approach works for the primary target only.  Hence,
we cannot use it for an 'enabled-targets' target.

Another approach we can take is to not touch ld and let it fail.  The
expectation would be then:

  1. either configure GDB with "--disable-ld --disable-gas ..." and
     then use "make" to build it, or

  2. configure without disabling components but then use "make
     all-gdb" to build.

Our case is in fact similar to AMD GPU (ROCm) debug support in GDB.
The online documentation at

  https://rocm.docs.amd.com/projects/ROCgdb/en/latest/install/installation.html#build

suggests using "--disable-ld --disable-gas ...".  Otherwise ld would
fail with

  *** ld does not support target amdgcn-amd-amdhsa
  *** see ld/configure.tgt for supported targets

Regards,
-Baris



Intel Deutschland GmbH
Registered Address: Am Campeon 10, 85579 Neubiberg, Germany
Tel: +49 89 99 8853-0, www.intel.de
Managing Directors: Sean Fennelly, Jeffrey Schneiderman, Tiffany Doon Silva
Chairperson of the Supervisory Board: Nicole Lau
Registered Office: Munich
Commercial Register: Amtsgericht Muenchen HRB 186928
  
Aktemur, Tankut Baris Feb. 3, 2025, 5:17 p.m. UTC | #5
Hello Jan,

On Friday, December 20, 2024 10:55 AM, Aktemur, Tankut Baris wrote:
> Hi,
> 
> On Wednesday, December 18, 2024 8:20 AM, Jan Beulich wrote:
> > On 17.12.2024 19:48, Aktemur, Tankut Baris wrote:
> > > On Monday, December 16, 2024 8:54 AM, Jan Beulich wrote:
> > >> On 13.12.2024 16:59, Tankut Baris Aktemur wrote:
> > >>> Add 'intelgt' as a basic machine to config.sub.
> > >>>
> > >>> To: <config-patches@gnu.org>
> > >>> To: <binutils@sourceware.org>
> > >>> ---
> > >>>  config.sub | 1 +
> > >>>  1 file changed, 1 insertion(+)
> > >>>
> > >>> diff --git a/config.sub b/config.sub
> > >>> index
> > 2c6a07ab3c34eabed8318ec0a37c0cc23b77a63f..63ff958ec125e543674e9b261d5e5bb2fa749c4e
> > >> 100755
> > >>> --- a/config.sub
> > >>> +++ b/config.sub
> > >>> @@ -1205,6 +1205,7 @@ case $cpu-$vendor in
> > >>>  			| hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
> > >>>  			| hexagon \
> > >>>  			| i370 | i*86 | i860 | i960 | ia16 | ia64 \
> > >>> +			| intelgt \
> > >>>  			| ip2k | iq2000 \
> > >>>  			| k1om \
> > >>>  			| kvx \
> > >>>
> > >>
> > >> Patch 3 enables ld, but I can't spot any gas enabling (sadly the cover letter
> > >> wasn't Cc-ed to the binutils list).
> > >
> > > Sorry, this is my bad.  I'll Cc binutils in the next revision submission.
> > > For the time being, the link to the cover letter is
> > >
> > >   https://sourceware.org/pipermail/gdb-patches/2024-December/214029.html
> > >
> > >> Don't you further need to exclude gas from
> > >> attempts of configuring?
> > >>
> > >> I'm also puzzled by that difference: The series supposedly is about enabling
> > >> gdb. Why enable ld there? Just because it's (seemingly) easy?
> > >>
> > >> Jan
> > >
> > > Without enabling ld, when configured as
> > >
> > >   <src>/configure --enable-targets="intelgt-elf"
> > >
> > > 'make' gives
> > >
> > >   *** ld does not support target intelgt-unknown-elf
> > >   *** see ld/configure.tgt for supported targets
> >
> > Like I think I said for gas, that imo wants dealing with by a top level
> > configure change, adding ld to noconfigtargets for intelgt.
> 
> Our overall goal at this step is to enable GDB.
> 
> A GPU workload executes by being submitted to the device from a
> host/native process.  Therefore, although enabling GDB only for the
> GPU target is possible, in general it needs to be enabled in addition
> to the native target.  That is, it makes sense that a x86-64 target is
> the primary one whereas the intelgt target is enabled as a secondary
> target, so that GDB is able to debug native processes as usual, plus
> the GPU workloads.
> 
> The $noconfigdirs approach works for the primary target only.  Hence,
> we cannot use it for an 'enabled-targets' target.
> 
> Another approach we can take is to not touch ld and let it fail.  The
> expectation would be then:
> 
>   1. either configure GDB with "--disable-ld --disable-gas ..." and
>      then use "make" to build it, or
> 
>   2. configure without disabling components but then use "make
>      all-gdb" to build.
> 
> Our case is in fact similar to AMD GPU (ROCm) debug support in GDB.
> The online documentation at
> 
>   https://rocm.docs.amd.com/projects/ROCgdb/en/latest/install/installation.html#build
> 
> suggests using "--disable-ld --disable-gas ...".  Otherwise ld would
> fail with
> 
>   *** ld does not support target amdgcn-amd-amdhsa
>   *** see ld/configure.tgt for supported targets

Any further comments?

Regards,
-Baris


Intel Deutschland GmbH
Registered Address: Am Campeon 10, 85579 Neubiberg, Germany
Tel: +49 89 99 8853-0, www.intel.de
Managing Directors: Sean Fennelly, Jeffrey Schneiderman, Tiffany Doon Silva
Chairperson of the Supervisory Board: Nicole Lau
Registered Office: Munich
Commercial Register: Amtsgericht Muenchen HRB 186928
  
Jan Beulich Feb. 4, 2025, 7:06 a.m. UTC | #6
On 03.02.2025 18:17, Aktemur, Tankut Baris wrote:
> Hello Jan,
> 
> On Friday, December 20, 2024 10:55 AM, Aktemur, Tankut Baris wrote:
>> Hi,
>>
>> On Wednesday, December 18, 2024 8:20 AM, Jan Beulich wrote:
>>> On 17.12.2024 19:48, Aktemur, Tankut Baris wrote:
>>>> On Monday, December 16, 2024 8:54 AM, Jan Beulich wrote:
>>>>> On 13.12.2024 16:59, Tankut Baris Aktemur wrote:
>>>>>> Add 'intelgt' as a basic machine to config.sub.
>>>>>>
>>>>>> To: <config-patches@gnu.org>
>>>>>> To: <binutils@sourceware.org>
>>>>>> ---
>>>>>>  config.sub | 1 +
>>>>>>  1 file changed, 1 insertion(+)
>>>>>>
>>>>>> diff --git a/config.sub b/config.sub
>>>>>> index
>>> 2c6a07ab3c34eabed8318ec0a37c0cc23b77a63f..63ff958ec125e543674e9b261d5e5bb2fa749c4e
>>>>> 100755
>>>>>> --- a/config.sub
>>>>>> +++ b/config.sub
>>>>>> @@ -1205,6 +1205,7 @@ case $cpu-$vendor in
>>>>>>  			| hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
>>>>>>  			| hexagon \
>>>>>>  			| i370 | i*86 | i860 | i960 | ia16 | ia64 \
>>>>>> +			| intelgt \
>>>>>>  			| ip2k | iq2000 \
>>>>>>  			| k1om \
>>>>>>  			| kvx \
>>>>>>
>>>>>
>>>>> Patch 3 enables ld, but I can't spot any gas enabling (sadly the cover letter
>>>>> wasn't Cc-ed to the binutils list).
>>>>
>>>> Sorry, this is my bad.  I'll Cc binutils in the next revision submission.
>>>> For the time being, the link to the cover letter is
>>>>
>>>>   https://sourceware.org/pipermail/gdb-patches/2024-December/214029.html
>>>>
>>>>> Don't you further need to exclude gas from
>>>>> attempts of configuring?
>>>>>
>>>>> I'm also puzzled by that difference: The series supposedly is about enabling
>>>>> gdb. Why enable ld there? Just because it's (seemingly) easy?
>>>>>
>>>>> Jan
>>>>
>>>> Without enabling ld, when configured as
>>>>
>>>>   <src>/configure --enable-targets="intelgt-elf"
>>>>
>>>> 'make' gives
>>>>
>>>>   *** ld does not support target intelgt-unknown-elf
>>>>   *** see ld/configure.tgt for supported targets
>>>
>>> Like I think I said for gas, that imo wants dealing with by a top level
>>> configure change, adding ld to noconfigtargets for intelgt.
>>
>> Our overall goal at this step is to enable GDB.
>>
>> A GPU workload executes by being submitted to the device from a
>> host/native process.  Therefore, although enabling GDB only for the
>> GPU target is possible, in general it needs to be enabled in addition
>> to the native target.  That is, it makes sense that a x86-64 target is
>> the primary one whereas the intelgt target is enabled as a secondary
>> target, so that GDB is able to debug native processes as usual, plus
>> the GPU workloads.
>>
>> The $noconfigdirs approach works for the primary target only.  Hence,
>> we cannot use it for an 'enabled-targets' target.
>>
>> Another approach we can take is to not touch ld and let it fail.  The
>> expectation would be then:
>>
>>   1. either configure GDB with "--disable-ld --disable-gas ..." and
>>      then use "make" to build it, or
>>
>>   2. configure without disabling components but then use "make
>>      all-gdb" to build.
>>
>> Our case is in fact similar to AMD GPU (ROCm) debug support in GDB.
>> The online documentation at
>>
>>   https://rocm.docs.amd.com/projects/ROCgdb/en/latest/install/installation.html#build
>>
>> suggests using "--disable-ld --disable-gas ...".  Otherwise ld would
>> fail with
>>
>>   *** ld does not support target amdgcn-amd-amdhsa
>>   *** see ld/configure.tgt for supported targets
> 
> Any further comments?

No; as you copy pre-existing behavior, I'm okay(ish).

Jan
  

Patch

diff --git a/config.sub b/config.sub
index 2c6a07ab3c34eabed8318ec0a37c0cc23b77a63f..63ff958ec125e543674e9b261d5e5bb2fa749c4e 100755
--- a/config.sub
+++ b/config.sub
@@ -1205,6 +1205,7 @@  case $cpu-$vendor in
 			| hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
 			| hexagon \
 			| i370 | i*86 | i860 | i960 | ia16 | ia64 \
+			| intelgt \
 			| ip2k | iq2000 \
 			| k1om \
 			| kvx \