@@ -76,6 +76,7 @@ ifeq "$(SUPPORTS_SHARED_LIBRARIES)" "true"
76
76
BYTECODE_STATIC_LIBRARIES += libcamlrun_pic.$(A )
77
77
BYTECODE_SHARED_LIBRARIES += libcamlrun_shared.$(SO )
78
78
NATIVE_STATIC_LIBRARIES += libasmrun_pic.$(A )
79
+ NATIVE_STATIC_LIBRARIES += libasmrunnnp.$(A )
79
80
NATIVE_SHARED_LIBRARIES += libasmrun_shared.$(SO )
80
81
endif
81
82
endif
@@ -106,6 +107,8 @@ libasmruni_OBJECTS := $(NATIVE_C_SOURCES:.c=.ni.$(O)) $(ASM_OBJECTS)
106
107
libasmrunpic_OBJECTS := $(NATIVE_C_SOURCES:.c=.npic.$(O ) ) \
107
108
$(ASM_OBJECTS:.$(O ) =_libasmrunpic.$(O ) )
108
109
110
+ libasmrunnnp_OBJECTS := $(NATIVE_C_SOURCES:.c=.nnp.$(O ) ) $(ASM_OBJECTS )
111
+
109
112
# General (non target-specific) assembler and compiler flags
110
113
111
114
ifneq "$(CCOMPTYPE ) " "msvc"
@@ -310,6 +313,9 @@ libasmruni.$(A): $(libasmruni_OBJECTS)
310
313
libasmrun_pic.$(A ) : $(libasmrunpic_OBJECTS )
311
314
$(call MKLIB,$@ , $^ )
312
315
316
+ libasmrunnnp.$(A ) : $(libasmrunnnp_OBJECTS )
317
+ $(call MKLIB,$@ , $^ )
318
+
313
319
libasmrun_shared.$(SO ) : $(libasmrunpic_OBJECTS )
314
320
$(MKDLL ) -o $@ $^ $(NATIVECCLIBS )
315
321
@@ -336,6 +342,9 @@ libasmrun_shared.$(SO): $(libasmrunpic_OBJECTS)
336
342
% .npic.$(O ) : OC_CPPFLAGS += $(OC_NATIVE_CPPFLAGS )
337
343
% .npic.$(D ) : OC_CPPFLAGS += $(OC_NATIVE_CPPFLAGS )
338
344
345
+ % .nnp.$(O ) : OC_CPPFLAGS += $(OC_NATIVE_CPPFLAGS ) -DNO_NAKED_POINTERS
346
+ % .nnp.$(D ) : OC_CPPFLAGS += $(OC_NATIVE_CPPFLAGS ) -DNO_NAKED_POINTERS
347
+
339
348
# The major GC performs better with this flag on Intel processors
340
349
# This is a workaround for an Intel CPU bug:
341
350
# https://www.intel.co.uk/content/www/uk/en/support/articles/000055650/processors.html
@@ -369,7 +378,7 @@ endef
369
378
370
379
object_types := % %.b %.bd %.bi %.bpic
371
380
ifneq "$(NATIVE_COMPILER ) " "false"
372
- object_types += %.n %.nd %.ni %.np %.npic
381
+ object_types += %.n %.nnp %. nd %.ni %.np %.npic
373
382
endif
374
383
375
384
$(foreach object_type, $(object_types), \
@@ -414,6 +423,7 @@ i386nt.obj: i386nt.asm domain_state32.inc
414
423
DEP_FILES := $(addsuffix .b, $(basename $(BYTECODE_C_SOURCES ) instrtrace) )
415
424
ifneq "$(NATIVE_COMPILER ) " "false"
416
425
DEP_FILES += $(addsuffix .n, $(basename $(NATIVE_C_SOURCES ) ) )
426
+ DEP_FILES += $(addsuffix .nnp, $(basename $(NATIVE_C_SOURCES ) ) )
417
427
endif
418
428
DEP_FILES += $(addsuffix d, $(DEP_FILES ) ) \
419
429
$(addsuffix i, $(DEP_FILES ) ) \
0 commit comments