title: Cannot load __log_finite from libm.so.6 with ctypes
body: <p>I'm trying to load the function <code>__log_finite</code> from <code>libm.so.6</code> using <code>ctypes</code>.</p>
  <p>If I run nm on the library I can see that the symbol refers to an indirect function (<a href="https://sourceware.org/binutils/docs/binutils/nm.html" rel="nofollow noreferrer">https://sourceware.org/binutils/docs/binutils/nm.html</a>).</p>
  <pre><code>nm -gD libm.so.6 | grep __log_finite
  000000000002c520 i __log_finite
  </code></pre>
  <p>When I try to load this function with ctypes from python I get an error that suggests that the symbol is not defined:</p>
  <pre><code>import ctypes
  lib = types.CDLL(&quot;/usr/lib/x86_64-linux-gnu/libm.so.6&quot;)
  func = lib.__log_finite
  </code></pre>
  <p>raises:</p>
  <pre><code>AttributeError: /usr/lib/x86_64-linux-gnu/libm.so.6: undefined symbol: __log_finite
  </code></pre>
  <p>If I try to load any other non-indirect function, I do not get this error:</p>
  <pre><code>nm -gD libm.so.6 | grep roundevenl
  000000000001cc20 W roundevenl
  </code></pre>
  <pre><code>func = lib.roundevenl
  print(func)
  </code></pre>
  <p>outputs</p>
  <pre><code>&lt;_FuncPtr object at 0x7fbea6820400&gt;
  </code></pre>
  <p>I'm wondering what is going on here and the reason for this behavior. Is this related to __log_finite or to all the indirect functions?</p>
  <p>NOTE: this issue does not seem related to the indirect function but to the finite suffix: I'm not able to load any <code>*_finite</code> function (e.g., <code>__acos_finite</code>, <code>__expf_finite</code>...)</p>