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

Jan Beulich
2025-02-04T07:11:07Z

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