title: How can I remove linked library from executable file
body: <p>All.</p>
  
  <p>Someone created an executable file.</p>
  
  <pre><code># ldd test_bin 
      libstdc++.so.6 =&gt; /usr/lib/libstdc++.so.6 (0x4082d000)
      libA.so.0 =&gt; /usr/lib/libA.so.0 (0x408fe000)
      libB.so.0 =&gt; /usr/lib/libB.so.0 (0x4093e000)
      libgobject-2.0.so.0 =&gt; /usr/lib/libgobject-2.0.so.0 (0x409ad000)
      libgthread-2.0.so.0 =&gt; /usr/lib/libgthread-2.0.so.0 (0x409fe000)
      librt.so.1 =&gt; /lib/librt.so.1 (0x40a0a000)
      libglib-2.0.so.0 =&gt; /usr/lib/libglib-2.0.so.0 (0x40a19000)
      libdbus-1.so.3 =&gt; /usr/lib/libdbus-1.so.3 (0x40b25000)
      libssl.so.0.9.8 =&gt; /usr/lib/libssl.so.0.9.8 (0x40b67000)
      libgcc_s.so.1 =&gt; /lib/libgcc_s.so.1 (0x40bb0000)
      libpthread.so.0 =&gt; /lib/libpthread.so.0 (0x40bc3000)
      libc.so.6 =&gt; /lib/libc.so.6 (0x40be3000)
      libm.so.6 =&gt; /lib/libm.so.6 (0x40d11000)
      libcrypto.so.0.9.8 =&gt; /usr/lib/libcrypto.so.0.9.8 (0x40d87000)
      /lib/ld-linux.so.3 (0x40000000)
      libgmodule-2.0.so.0 =&gt; /usr/lib/libgmodule-2.0.so.0 (0x40f4e000)
      libdl.so.2 =&gt; /lib/libdl.so.2 (0x40f59000)
  </code></pre>
  
  <p>In this case, I want to merge libB.so into libA.so.</p>
  
  <p>So I create libA.so that is covered all APIs provided by libB.so. </p>
  
  <p>Then I have to re-link with this library. But I don't have any source for test_bin.</p>
  
  <p>How can I remove libB.so linking from executable file without any sources?</p>
  
  <p>Is it possible? I just look around binutils. But I haven't found for it.</p>
  
  <p>Please give me an advice.</p>