On Wed, Jan 24, 2024 at 4:23 AM Thomas Schwinge <tschwi...@baylibre.com> wrote: > > 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
Only for linkers which support GNU_PROPERTY, but the current GNU_PROPERTY. > 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 -- H.J.