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

Aktemur, Tankut Baris
2025-02-03T17:20:43Z

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