[code:1]BFD: /tmp/GZIPELF.27125(.init): relocation 0 has invalid symbol index 4
BFD: /tmp/GZIPELF.27125(.init): relocation 1 has invalid symbol index 4
BFD: /tmp/GZIPELF.27125(.text): relocation 0 has invalid symbol index 21
BFD: /tmp/GZIPELF.27125(.text): relocation 1 has invalid symbol index 21
Solaris(5.8, 5.9)에서 Calloc의 element 수가 0일 때 컴파일시 -lmalloc을 넣은 경우와 넣지 않았을 때 return되는 pointer가 다른 이유를 문의드립니다.
Man에서 확인해보면 일반적인 standard library(-lmalloc을 넣지 않는 경우)의 calloc은 element수가 0이면 특정 arena에 있는 pointer를 return한다고 되어 있지만(null pointer를 return하지는 않는 것 같습니다.), -lmalloc에서는 별도의 언급이 없습니다. 그리고, standard library의 malloc은 효율성과 속도면에서 중간정도이고, -lmalloc의 malloc은 효율성을 높인 memory allocator 정도라는 것만 확인하였습니다.