Hi! On 2022-02-10T05:55:15-0800, "H.J. Lu via Gcc-patches" <gcc-patches@gcc.gnu.org> wrote: > 1. Require linker with GNU_PROPERTY_1_NEEDED support for PR 35513 > run-time tests.
Moving my x86_64-pc-linux-gnu testing from an old to a newish system (Ubuntu 20.04), I notice: [-PASS: g++.target/i386/pr35513-1.C -std=gnu++98 (test for excess errors)-] [-PASS:-]{+UNSUPPORTED:+} g++.target/i386/pr35513-1.C -std=gnu++98[-execution test-] Etc. [-PASS: g++.target/i386/pr35513-2.C -std=gnu++98 (test for excess errors)-] [-PASS:-]{+UNSUPPORTED:+} g++.target/i386/pr35513-2.C -std=gnu++98[-execution test-] Etc. ..., due to the 'property_1_needed' effective-target check now diagnosing: /usr/bin/ld: warning: /tmp/ccFNkvfI.o: unsupported GNU_PROPERTY_TYPE (5) type: 0xb0008000 ..., with: $ /usr/bin/ld --version | head -n 1 GNU ld (GNU Binutils for Ubuntu) 2.34 I'm not familiar with these properties, but I wonder if really some support has been removed (so that this indeed is now UNSUPPORTED), or if something's wrong somewhere (so that this should still PASS). For reference: > --- a/gcc/testsuite/lib/target-supports.exp > +++ b/gcc/testsuite/lib/target-supports.exp > +proc check_effective_target_property_1_needed { } { > + return [check_no_compiler_messages_nocache property_1_needed executable { > +/* Assembly code */ > +#ifdef __LP64__ > +# define __PROPERTY_ALIGN 3 > +#else > +# define __PROPERTY_ALIGN 2 > +#endif > + > + .section ".note.gnu.property", "a" > + .p2align __PROPERTY_ALIGN > + .long 1f - 0f /* name length. */ > + .long 4f - 1f /* data length. */ > + /* NT_GNU_PROPERTY_TYPE_0. */ > + .long 5 /* note type. */ > +0: > + .asciz "GNU" /* vendor name. */ > +1: > + .p2align __PROPERTY_ALIGN > + /* GNU_PROPERTY_1_NEEDED. */ > + .long 0xb0008000 /* pr_type. */ > + .long 3f - 2f /* pr_datasz. */ > +2: > + /* GNU_PROPERTY_1_NEEDED_INDIRECT_EXTERN_ACCESS. */ > + .long 1 > +3: > + .p2align __PROPERTY_ALIGN > +4: > + .text > + .globl main > +main: > + .byte 0 > + } ""] > +} Grüße Thomas