title: How to read nm commands : What does nm options -T and -U (undefined) mean?
body: <p>I have linking errors that I suspected from 'libsimint.a'. </p>
  
  <pre><code>Linker messages (if any) follow...
  /home/.../simint/lib/libsimint.a(shell.c.o): In function `simint_copy_shell':
  shell.c:(.text+0x126): undefined reference to `__intel_ssse3_rep_memcpy'
  /home/.../simint/lib/libsimint.a(shell.c.o): In function`simint_normalize_shells':
  shell.c:(.text+0x4e3): undefined reference to `__svml_pow4'
  </code></pre>
  
  <p>I tried nm commands to figure it out: </p>
  
  <pre><code>&gt;&gt; nm libsimint.a |grep __intel_ssse3_rep_memcpy
  U __intel_ssse3_rep_memcpy
  
  &gt;&gt; nm libsimint.a |grep simint_copy_shell
  0000000000000090 T simint_copy_shell
  </code></pre>
  
  <p>From what I understand by the above (with help of nm man), simint_copy_shell function is mentioned in code but __intel_ssse3_rep_memcpy is not defined in some other libray our libsimint is compiled with. Can anybody verify this or add any clarification? Thanks</p>
  
  <p>(I'm compiling and linking a large code using gcc, that was compiled with icpc but instead.)</p>