Mac Intel

Mikael Pettersson mikpe@REDACTED
Thu Aug 10 11:41:39 CEST 2006


Joel Reymont writes:
 > Mikael,
 > 
 > My emulator compiles fine after fixing up the assembler (m4-style). I  
 > do get a bunch of undefined symbols during linking, though. I think  
 > hipe_native_bif.o is not being picked up. It does get compiled into ./ 
 > obj.hybrid.beam/i386-apple-darwin8.7.1/hipe_native_bif.o, though.
 > 
 > I'm missing the symbols below and a whole bunch of others. I'm  
 > investigating but if you have any quick clues please let me know!
 > 
 > /usr/bin/ld: Undefined symbols:
 > _nbif_abs_1
 > _nbif_add_2
 > _nbif_and_2
 > _nbif_append_2
 > _nbif_append_element_2
 > _nbif_apply
 > _nbif_apply_3
 > _nbif_atom_to_list_1
 > _nbif_band_2
 > _nbif_binary_to_list_1
 > _nbif_binary_to_list_3

These are standard HiPE wrappers for standard BIFs or primops.
They should be listed in the generated erl_bif_list.h file like this

BIF_LIST(am_erlang,am_append_element,2,append_element_2,288)

from which the hipe_x86_bifs.m4 file will construct an appropriate
wrapper in the generated hipe_x86_bifs.S file. Please check that
they occur in both erl_bif_list.h and hipe_x86_bifs.S. If they do
occur in hipe_x86_bifs.S, then check that they are defined as global
symbols in hipe_x86_bifs.o (nm hipe_x86_bifs.o | grep append_element_2).



More information about the erlang-questions mailing list