<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugzilla.yoctoproject.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.6"
          urlbase="https://bugzilla.yoctoproject.org/"
          
          maintainer="it-coreprojects-helpdesk@linuxfoundation.org"
>

    <bug>
          <bug_id>15842</bug_id>
          
          <creation_ts>2025-04-25 21:55:46 +0000</creation_ts>
          <short_desc>package.bbclass: Add FILTER support to match SONAME entry handling to avoid missing dependencies</short_desc>
          <delta_ts>2025-05-01 14:56:56 +0000</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>7</classification_id>
          <classification>Build System, Metadata &amp; Runtime</classification>
          <product>OE-Core</product>
          <component>oe-core other</component>
          <version>5.0.8</version>
          <rep_platform>x86</rep_platform>
          <op_sys>Multiple</op_sys>
          <bug_status>NEW</bug_status>
          <resolution></resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>Medium</priority>
          <bug_severity>enhancement</bug_severity>
          <target_milestone>5.99</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Mark Hatle">mark.hatle</reporter>
          <assigned_to name="Unassigned">unassigned</assigned_to>
          <cc>randy.macleod</cc>
    
    <cc>richard.purdie</cc>
    
    <cc>ross.burton</cc>
          
          
          <cf_os>---</cf_os>
          <cf_regression_type>---</cf_regression_type>
          
          <cf_docchange>Don&apos;t know</cf_docchange>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>101756</commentid>
    <comment_count>0</comment_count>
    <who name="Mark Hatle">mark.hatle</who>
    <bug_when>2025-04-25 21:55:46 +0000</bug_when>
    <thetext>In an ELF binary the SONAME section defines the official name for the binaries for the ld.so to look up.  This gets turned into an RPROVIDE.

Similarly in an ELF binary the NEEDED section defines a list of runtime soname dependencies that a library has.  The system converts this to RDEPENDS.

There is another, rarely used section, called &apos;FILTER&apos;.  The &apos;FILTER&apos; section says, if an associated FUNCTION/Symbol is used, THEN load the library associated with that section.  So it acts like a NEEDED, but it&apos;s &quot;dynamic&quot; based on usage.

We should process the FILTER entries the same way we process NEEDED.

(I will attempt to figure out some sort of reproducer for this, but I&apos;m having trouble finding documentation the FILTER secion.  While this documentation is for Solaris, it should be similar to Linux ELF: https://docs.oracle.com/cd/E23824_01/html/819-0690/chapter4-4.html )</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>101849</commentid>
    <comment_count>1</comment_count>
    <who name="Randy MacLeod">randy.macleod</who>
    <bug_when>2025-05-01 14:38:23 +0000</bug_when>
    <thetext>Ross is going to look into how to generate such an object...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>101857</commentid>
    <comment_count>2</comment_count>
    <who name="Ross Burton">ross.burton</who>
    <bug_when>2025-05-01 14:56:56 +0000</bug_when>
    <thetext>The best documentation I can find is the Oracle stuff too, which has a small example.  GNU ld has --filter to set this: https://sourceware.org/binutils/docs-2.39/ld/Options.html.</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>