title: Latest compiler versions and GLIBC_2.32 dependency
body: <ul>
  <li><p>When I compile my library with <strong>GCC 11</strong> or <strong>Clang 12</strong> I get a GLIBC_2.32 dependency.</p>
  </li>
  <li><p>When I compile the same library with the same arguments but with older version compilers (<strong>GCC 10</strong>, <strong>Clang 11</strong>) I don't get the GLIBC_2.32 dependency.</p>
  </li>
  </ul>
  <p>Is there a way to get rid of this dependency on newer versions of compilers?</p>
  <pre><code>readelf -s mylib.so | grep GLIBC                                        
   4: 00000000     0 FUNC    WEAK   DEFAULT  UND [...]@GLIBC_2.1.3 (2)
   5: 00000000     0 FUNC    GLOBAL DEFAULT  UND sn[...]@GLIBC_2.0 (3)
   6: 00000000     0 FUNC    GLOBAL DEFAULT  UND strlen@GLIBC_2.0 (3)
   7: 00000000     0 FUNC    GLOBAL DEFAULT  UND getcwd@GLIBC_2.0 (3)
   8: 00000000     0 FUNC    GLOBAL DEFAULT  UND dlopen@GLIBC_2.1 (4)
   9: 00000000     0 FUNC    GLOBAL DEFAULT  UND strcmp@GLIBC_2.0 (3)
  10: 00000000     0 FUNC    GLOBAL DEFAULT  UND dlsym@GLIBC_2.0 (5)
  11: 00000000     0 FUNC    GLOBAL DEFAULT  UND st[...]@GLIBC_2.0 (3)
  12: 00000000     0 FUNC    GLOBAL DEFAULT  UND fopen@GLIBC_2.1 (6)
  13: 00000000     0 FUNC    GLOBAL DEFAULT  UND fgets@GLIBC_2.0 (3)
  14: 00000000     0 FUNC    GLOBAL DEFAULT  UND fclose@GLIBC_2.1 (6)
  15: 00000000     0 FUNC    GLOBAL DEFAULT  UND isspace@GLIBC_2.0 (3)
  16: 00000000     0 FUNC    GLOBAL DEFAULT  UND memchr@GLIBC_2.0 (3)
  17: 00000000     0 FUNC    GLOBAL DEFAULT  UND printf@GLIBC_2.0 (3)
  18: 00000000     0 FUNC    GLOBAL DEFAULT  UND puts@GLIBC_2.0 (3)
  19: 00000000     0 FUNC    GLOBAL DEFAULT  UND bcmp@GLIBC_2.0 (3)
  20: 00000000     0 FUNC    GLOBAL DEFAULT  UND __[...]@GLIBC_2.0 (3)
  21: 00000000     0 FUNC    GLOBAL DEFAULT  UND strtol@GLIBC_2.0 (3)
  22: 00000000     0 FUNC    GLOBAL DEFAULT  UND abort@GLIBC_2.0 (3)
  23: 00000000     0 OBJECT  GLOBAL DEFAULT  UND _[...]@GLIBC_2.32 (7)  &lt;&lt; WHAT IS THIS?
  24: 00000000     0 FUNC    GLOBAL DEFAULT  UND sprintf@GLIBC_2.0 (3)
  25: 00000000     0 FUNC    GLOBAL DEFAULT  UND strncmp@GLIBC_2.0 (3)
  26: 00000000     0 FUNC    GLOBAL DEFAULT  UND gettext@GLIBC_2.0 (3)
  27: 00000000     0 FUNC    GLOBAL DEFAULT  UND __[...]@GLIBC_2.4 (8)
  28: 00000000     0 FUNC    WEAK   DEFAULT  UND pt[...]@GLIBC_2.0 (3)
  29: 00000000     0 FUNC    GLOBAL DEFAULT  UND realloc@GLIBC_2.0 (3)
  30: 00000000     0 FUNC    GLOBAL DEFAULT  UND memset@GLIBC_2.0 (3)
  31: 00000000     0 FUNC    GLOBAL DEFAULT  UND read@GLIBC_2.0 (3)
  32: 00000000     0 FUNC    GLOBAL DEFAULT  UND memcmp@GLIBC_2.0 (3)
  34: 00000000     0 FUNC    WEAK   DEFAULT  UND pt[...]@GLIBC_2.0 (3)
  35: 00000000     0 FUNC    GLOBAL DEFAULT  UND fputc@GLIBC_2.0 (3)
  36: 00000000     0 FUNC    GLOBAL DEFAULT  UND fputs@GLIBC_2.0 (3)
  37: 00000000     0 FUNC    GLOBAL DEFAULT  UND memcpy@GLIBC_2.0 (3)
  38: 00000000     0 FUNC    GLOBAL DEFAULT  UND malloc@GLIBC_2.0 (3)
  39: 00000000     0 OBJECT  GLOBAL DEFAULT  UND stderr@GLIBC_2.0 (3)
  40: 00000000     0 FUNC    GLOBAL DEFAULT  UND ioctl@GLIBC_2.0 (3)
  41: 00000000     0 FUNC    GLOBAL DEFAULT  UND fwrite@GLIBC_2.0 (3)
  42: 00000000     0 FUNC    GLOBAL DEFAULT  UND close@GLIBC_2.0 (3)
  43: 00000000     0 FUNC    GLOBAL DEFAULT  UND open@GLIBC_2.0 (3)
  44: 00000000     0 FUNC    GLOBAL DEFAULT  UND syscall@GLIBC_2.0 (3)
  45: 00000000     0 FUNC    GLOBAL DEFAULT  UND memmove@GLIBC_2.0 (3)
  46: 00000000     0 FUNC    GLOBAL DEFAULT  UND free@GLIBC_2.0 (3)
  47: 00000000     0 FUNC    GLOBAL DEFAULT  UND _[...]@GLIBC_2.3 (10)
  </code></pre>