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.

Reply via email to