Uploaded image for project: 'RHEL'
  1. RHEL
  2. RHEL-46315

annocheck failure for libffi.so.8.1.2 in aarch64 [rhel-10-beta]

    • None
    • None
    • sst_pt_libraries
    • ssg_platform_tools
    • 2
    • False
    • Hide

      None

      Show
      None
    • No
    • None
    • None
    • None
    • Unspecified Release Note Type - Unknown
    • aarch64
    • None

      Latest build libffi-3.4.4-8.el10 shows an annocheck failure in rpminspect. Complete output:

      Command: annocheck --ignore-unknown --verbose --profile=el10 --debug-dir=/usr/lib/debug/ /usr/lib64/libffi.so.8.1.2
      Exit Code: 1
      
      annocheck: Version 12.59.
      Hardened: /usr/lib64/libffi.so.8.1.2: PASS: pie test because the ELF file header has the correct type 
      Hardened: /usr/lib64/libffi.so.8.1.2: info: written in C (source: DW_AT_language string).
      Hardened: /usr/lib64/libffi.so.8.1.2: PASS: pic test because option found in DW_AT_producer string 
      Hardened: /usr/lib64/libffi.so.8.1.2: PASS: stack-prot test because option found in DW_AT_producer string 
      Hardened: /usr/lib64/libffi.so.8.1.2: PASS: optimization test because option found in DW_AT_producer string 
      Hardened: /usr/lib64/libffi.so.8.1.2: PASS: branch-protection test because correct option found in DW_AT_producer string 
      Hardened: /usr/lib64/libffi.so.8.1.2: PASS: lto test because detected in DW_AT_producer string 
      Hardened: /usr/lib64/libffi.so.8.1.2: info: ALSO written in Assembler (source: DW_AT_language string).
      Hardened: /usr/lib64/libffi.so.8.1.2: info: Command line options not recorded in DWARF DW_AT_producer variable.
      Hardened: /usr/lib64/libffi.so.8.1.2: PASS: writable-got test 
      Hardened: /usr/lib64/libffi.so.8.1.2: PASS: dynamic-segment test 
      Hardened: /usr/lib64/libffi.so.8.1.2: PASS: bind-now test 
      Hardened: /usr/lib64/libffi.so.8.1.2: FAIL: dynamic-tags test because the BTI_PLT flag is missing from the dynamic tags 
      Hardened: /usr/lib64/libffi.so.8.1.2: info: For more information visit: https://sourceware.org/annobin/annobin.html/Test-dynamic-tags.html
      Hardened: /usr/lib64/libffi.so.8.1.2: PASS: gnu-stack test because stack segment exists with the correct permissions 
      Hardened: /usr/lib64/libffi.so.8.1.2: PASS: gnu-relro test 
      Hardened: /usr/lib64/libffi.so.8.1.2: PASS: notes test because annobin notes found in the .annobin.notes section 
      Hardened: /usr/lib64/libffi.so.8.1.2: skip: warnings test because LTO compilation discards preprocessor options 
      Hardened: /usr/lib64/libffi.so.8.1.2: skip: implicit-values test because -Wimplicit-int setting is hidden by LTO 
      Hardened: /usr/lib64/libffi.so.8.1.2: skip: fortify test because LTO compilation discards preprocessor options 
      Hardened: /usr/lib64/libffi.so.8.1.2: PASS: glibcxx-assertions test 
      Hardened: /usr/lib64/libffi.so.8.1.2: PASS: stack-clash test because compiled with -fstack-clash-protection 
      Hardened: /usr/lib64/libffi.so.8.1.2: skip: gaps test because string notes imply full coverage 
      Hardened: /usr/lib64/libffi.so.8.1.2: skip: cf-protection test because not an x86_64 binary 
      Hardened: /usr/lib64/libffi.so.8.1.2: PASS: entry test 
      Hardened: /usr/lib64/libffi.so.8.1.2: PASS: fast test 
      Hardened: /usr/lib64/libffi.so.8.1.2: skip: fips test because not a GO binary 
      Hardened: /usr/lib64/libffi.so.8.1.2: skip: go-revision test because no GO compiled code found 
      Hardened: /usr/lib64/libffi.so.8.1.2: PASS: instrumentation test 
      Hardened: /usr/lib64/libffi.so.8.1.2: PASS: openssl-engine test 
      Hardened: /usr/lib64/libffi.so.8.1.2: PASS: production test 
      Hardened: /usr/lib64/libffi.so.8.1.2: FAIL: property-note test because properly formatted .note.gnu.property not found (it is needed for branch protection support) 
      Hardened: /usr/lib64/libffi.so.8.1.2: info: For more information visit: https://sourceware.org/annobin/annobin.html/Test-property-note.html
      Hardened: /usr/lib64/libffi.so.8.1.2: PASS: run-path test 
      Hardened: /usr/lib64/libffi.so.8.1.2: PASS: rwx-seg test 
      Hardened: /usr/lib64/libffi.so.8.1.2: PASS: short-enums test 
      Hardened: /usr/lib64/libffi.so.8.1.2: skip: stack-realign test because not an i686 executable 
      Hardened: /usr/lib64/libffi.so.8.1.2: PASS: textrel test 
      Hardened: /usr/lib64/libffi.so.8.1.2: PASS: threads test 
      Hardened: /usr/lib64/libffi.so.8.1.2: PASS: unicode test 
      Hardened: /usr/lib64/libffi.so.8.1.2: Overall: FAIL.
      

      The tests failing are dynamic-tags and property-note. This is caused because there is an assembly file for aarch64 (src/aarch64/sysv.S) that has not the proper BTI instruction (dynamic-tags) or missing .note.gnu.property section (property-note).
      This was added in libffi v3.4.6 so to fix the test we need to either backport it or update to 3.4.6.

            Unassigned Unassigned
            rhn-support-jchecahi Jesus Checa Hidalgo
            DJ Delorie DJ Delorie
            Jesus Checa Hidalgo Jesus Checa Hidalgo
            Votes:
            0 Vote for this issue
            Watchers:
            6 Start watching this issue

              Created:
              Updated: