Error while linking Linux_P4SSE2 V3.6.0

Help
2007-10-19
2013-01-09
  • Hello,

    while linking against precompiled Linux_P4SSE2 V3.6.0, we encounter several linker errors of the following type:

      [...]
      ld: warning: type and size of dynamic symbol `ATL_dJIK72x72x72TN72x72x0_a1_b1' are not defined
      ld: dynamic variable `ATL_dJIK72x72x72TN72x72x0_a1_b1' is zero size
      [...]
      ld: /home/chris/Packages/ATLAS/lib/libatlas.a(ATL_dAgemmNN.o)(.text+0x14d): unresolvable R_386_32 relocation against symbol `ATL_dJIK72x72x72TN72x72x0_a1_b1'
      ld: final link failed: Nonrepresentable section on output

    We checked libatlas.a with nm -S which should produce output of the following form: <address> <size> T <symbol_name>.
    It looks like <size> is missing for several ATLAS symbols:

      # nm -S libatlas.a | grep "^[^ ]* \&lt;T\&gt;"
      [...]
      00000000 T ATL_dJIK72x72x72TN72x72x0_a1_b0
      00000000 T ATL_dJIK72x72x72TN72x72x0_a1_b1
      [...]

    However, for most other symbols, the size is defined, e.g.
      ATL_dprow2blkT_a1.o:
      00000548 00000202 T ATL_dprow2blkT_a1
      00000000 00000547 T ATL_dprow2blkTF

    Can you confirm this? Is there a workaround?
    We are using "GNU ld version 2.16.91.0.5 20051219" with SuSE10.1 Linux.

    Best regards,
    Chris