On 01.10.24 18:02, Jonathan Wakely wrote:
On Tue, 1 Oct 2024 at 16:53, Frank Scheiner <frank.schei...@web.de> wrote:
Though I don't understand why. From the error message it sounds like 'u'
was replaced with '(' before the __ctx macro could do its job.
But Joseph also wrote that it "prepends __ in standards conformance
modes" in [3]. And this might not be the case for these specific tests,
so the __ctx macro might not have any effect here.
It has no effect here. G++ unconditionally defines _GNU_SOURCE which
means the __ctx macro does nothing.
Thanks for the clarification. I could retrace that via [1].
[1]:
https://github.com/linux-ia64/glibc-ia64/blob/release/2.39/master-w-ia64/include/features.h#L201
In the meantime I also ran the build tests (cross-build a T2 "base"
package selection) with and w/o modifications on the glibc side ('bits'
=> '__bits' and 'u' => '__u' in [2] and [3]) and couldn't find some
obvious differences.
[2]:
https://github.com/linux-ia64/glibc-ia64/blob/master-epic/sysdeps/unix/sysv/linux/ia64/bits/sigcontext.h
[3]:
https://github.com/linux-ia64/glibc-ia64/blob/master-epic/sysdeps/unix/sysv/linux/ia64/sys/ucontext.h
****
Jonathan, thanks for pointing me at these failing libstdc++ tests and
their possible reasons. I'll send v2 of the patch right away.
Cheers,
Frank