Что такое символ «___emutls_get_address»?

О, я новичок в GCC и MAC и Makefile. Сегодня я намеревался создать динамическую библиотеку с использованием MAC OS X и GCC 4.4.2, но при связывании файлов .o компилятор жалуется следующим образом:

Undefined symbols:
  "___emutls_get_address", referenced from:
      _malloc in michael.o
      _malloc in michael.o
ld: symbol(s) not found

Я погуглил эту информацию, но не могу хорошо понять результаты, Интересно, что означает этот символ и почему многие программы имеют эту ошибку связывания. Мне также интересно, какова возможная причина этой ошибки, команда связывания:

g++ -Dx86 -D_GNU_SOURCE -D_REENTRANT  -Wall -m32 \
    -fno-strict-aliasing -fno-pic -O3 -ggdb \
    michael.o malloc_new.o -o libmichael.so \
    -lpthread -lm -lstdc++  -shared
8
задан Andrew Barber 24 February 2013 в 09:33
поделиться