On Wed, Jan 24, 2024 at 4:23 AM Thomas Schwinge <[email protected]> wrote:
>
> Hi!
>
> On 2022-02-10T05:55:15-0800, "H.J. Lu via Gcc-patches"
> <[email protected]> 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.