[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug#70985] [PATCH 3/4] gnu: cross-libc*: Raise conditions rather than r
From: |
Jean-Pierre De Jesus Diaz |
Subject: |
[bug#70985] [PATCH 3/4] gnu: cross-libc*: Raise conditions rather than returning #f. |
Date: |
Fri, 17 May 2024 09:53:16 +0000 |
Hello,
>> Christopher Baines <mail@cbaines.net> writes:
>>
>>> As this means that the error will be clearer for targets which are
>>> unsupported.
>>>
>>> * gnu/packages/cross-base.scm (cross-libc*): Raise conditions rather than
>>> returning #f.
>>>
>>> Change-Id: I820780ad738d85a98950de5608f3019e961ff7c8
>>
>> [...]
>>
>>> - (else #f)))
>>> + (else
>>> + (raise (condition
>>> + (&package-unsupported-target-error
>>> + (package libc)
>>> + (target target)))))))
>>
>> What I'm unsure is whether this works with libc-less triplets such as
>> ‘avr’ or ‘or1k-elf’.
>
>Hmm, it seems like this is erroring in some cases where it didn't
>before, I'm not sure why though.
>
>I ended up here through rust-sysroot-for-... since it calls
>cross-libc. Handling cross-libc returning #f in the packages which use
>it seems error prone, hence adding the exception inside of cross-libc*.
>
>It looks liek cross-gcc-toolchain/implementation is expecting cross-libc
>to return #f in some cases though, so maybe I need to add a guard there
>somehow to handle the exception and ignore it, as happens when it
>returns #f.
This is because some targets as Ludovic mentioned don't have a proper
libc, like most *-elf targets. Also, gnu-build-system also depends on
cross-libc returning #f to check for those targets that don't have a
libc in `cross-standard-packages'.
Thanks,
Jean-Pierre
[bug#70985] [PATCH 0/4] Use specific errors for unsupported targets, Ludovic Courtès, 2024/05/16
[bug#70985] [PATCH 3/4] gnu: cross-libc*: Raise conditions rather than returning #f.,
Jean-Pierre De Jesus Diaz <=