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

Reply via email to