Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
home:Ledest:erlang:23
erlang
2821-otp-Remove-all-purify-support.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File 2821-otp-Remove-all-purify-support.patch of Package erlang
From 0fecce7e33c88b5b08f5bfa811e663395a7803ba Mon Sep 17 00:00:00 2001 From: Sverker Eriksson <sverker@erlang.org> Date: Fri, 6 Nov 2020 15:52:15 +0100 Subject: [PATCH] otp: Remove all purify support not used the last decade. Build targets: purify, quantify and purecov. --- erts/doc/src/erlang.xml | 4 +- erts/emulator/Makefile.in | 50 ++--------------- erts/emulator/beam/atom.names | 2 - erts/emulator/beam/dist.c | 16 +++--- erts/emulator/beam/erl_alloc.c | 2 +- erts/emulator/beam/erl_bif_info.c | 56 +------------------ erts/emulator/beam/erl_gc.c | 2 +- erts/emulator/beam/external.c | 4 +- erts/emulator/sys/unix/sys_drivers.c | 6 -- erts/emulator/test/mtx_SUITE.erl | 3 +- erts/epmd/src/Makefile.in | 11 +--- erts/etc/common/Makefile.in | 25 +++------ erts/etc/unix/cerl.src | 18 ------ erts/include/internal/ethread.h | 2 +- erts/include/internal/i386/ethr_dw_atomic.h | 2 +- erts/lib_src/Makefile.in | 18 ------ erts/preloaded/src/erlang.erl | 2 +- erts/preloaded/src/init.erl | 4 -- erts/test/utils/gccifier.c | 21 ------- lib/erl_interface/src/Makefile | 2 +- lib/erl_interface/src/Makefile.in | 27 +-------- .../test/all_SUITE_data/gccifier.c | 21 ------- lib/tools/c_src/Makefile.in | 18 ------ lib/tools/c_src/erl_memory.c | 9 --- lib/tools/test/emem_SUITE.erl | 2 - make/run_make.mk | 2 +- 26 files changed, 37 insertions(+), 292 deletions(-) diff --git a/erts/doc/src/erlang.xml b/erts/doc/src/erlang.xml index 48a9762296..d72744e5b2 100644 --- a/erts/doc/src/erlang.xml +++ b/erts/doc/src/erlang.xml @@ -10107,8 +10107,8 @@ Metadata = #{ pid => pid(), <item> <p>Returns an atom describing the build type of the runtime system. This is normally the atom <c>opt</c> for optimized. - Other possible return values are <c>debug</c>, <c>purify</c>, - <c>quantify</c>, <c>purecov</c>, <c>gcov</c>, <c>valgrind</c>, + Other possible return values are <c>debug</c>, + <c>gcov</c>, <c>valgrind</c>, <c>gprof</c>, and <c>lcnt</c>. Possible return values can be added or removed at any time without prior notice.</p> </item> diff --git a/erts/emulator/Makefile.in b/erts/emulator/Makefile.in index 76415f3641..1b1975baea 100644 --- a/erts/emulator/Makefile.in +++ b/erts/emulator/Makefile.in @@ -1,4 +1,3 @@ - # # %CopyrightBegin% # @@ -121,7 +120,6 @@ endif DIRTY_SCHEDULER_TEST=@DIRTY_SCHEDULER_TEST@ ifeq ($(TYPE),debug) -PURIFY = TYPEMARKER = .debug TYPE_FLAGS = $(DEBUG_CFLAGS) -DDEBUG ENABLE_ALLOC_TYPE_VARS += debug @@ -131,29 +129,7 @@ LDFLAGS += -g endif else -ifeq ($(TYPE),purify) -PURIFY = purify $(PURIFY_BUILD_OPTIONS) -TYPEMARKER = .purify -TYPE_FLAGS = $(DEBUG_CFLAGS) -DPURIFY -DNO_JUMP_TABLE -ENABLE_ALLOC_TYPE_VARS += purify -else - -ifeq ($(TYPE),quantify) -PURIFY = quantify $(QUANTIFY_BUILD_OPTIONS) -TYPEMARKER = .quantify -ENABLE_ALLOC_TYPE_VARS += quantify - TYPE_FLAGS = @CFLAGS@ -g -O2 -DQUANTIFY -DNO_JUMP_TABLE -else - -ifeq ($(TYPE),purecov) -PURIFY = purecov --follow-child-processes=yes $(PURECOV_BUILD_OPTIONS) -TYPEMARKER = .purecov -TYPE_FLAGS = $(DEBUG_CFLAGS) -DPURECOV -DNO_JUMP_TABLE -ENABLE_ALLOC_TYPE_VARS += purecov -else - ifeq ($(TYPE),gcov) -PURIFY = TYPEMARKER = .gcov TYPE_FLAGS = $(DEBUG_CFLAGS) -DERTS_GCOV -DNO_JUMP_TABLE -fprofile-arcs -ftest-coverage -O0 -DERTS_CAN_INLINE=0 -DERTS_INLINE= ifneq ($(findstring solaris,$(TARGET)),solaris) @@ -163,14 +139,12 @@ ENABLE_ALLOC_TYPE_VARS += debug else ifeq ($(TYPE),valgrind) -PURIFY = TYPEMARKER = .valgrind TYPE_FLAGS = $(DEBUG_CFLAGS) -DVALGRIND -DNO_JUMP_TABLE ENABLE_ALLOC_TYPE_VARS += valgrind else ifeq ($(TYPE),gprof) -PURIFY = TYPEMARKER = .gprof TYPE_FLAGS = @CFLAGS@ -DGPROF -pg -DERTS_CAN_INLINE=0 -DERTS_INLINE= LDFLAGS += -pg @@ -179,28 +153,24 @@ NO_INLINE_FUNCTIONS=true else ifeq ($(TYPE),lcnt) -PURIFY = TYPEMARKER = .lcnt TYPE_FLAGS = @CFLAGS@ -DERTS_ENABLE_LOCK_COUNT ENABLE_ALLOC_TYPE_VARS += lcnt else ifeq ($(TYPE),frmptr) -PURIFY = OMIT_OMIT_FP=yes TYPEMARKER = .frmptr TYPE_FLAGS = @CFLAGS@ -DERTS_FRMPTR else ifeq ($(TYPE),icount) -PURIFY = TYPEMARKER = .icount TYPE_FLAGS = @CFLAGS@ -DERTS_OPCODE_COUNTER_SUPPORT else # If type isn't one of the above, it *is* opt type... override TYPE=opt -PURIFY = TYPEMARKER = TYPE_FLAGS = @CFLAGS@ endif @@ -210,9 +180,6 @@ endif endif endif endif -endif -endif -endif LIBS += $(TYPE_LIBS) @@ -356,19 +323,10 @@ RC=false endif endif - -ifdef PURIFY_CHILD_SETUP -CS_PURIFY = $(PURIFY) -CS_TYPE_FLAGS = $(TYPE_FLAGS) -else -CS_PURIFY = -CS_TYPE_FLAGS = $(subst QUANTIFY,FAKE_QUANTIFY, \ - $(subst PURIFY,FAKE_PURIFY, $(TYPE_FLAGS))) -endif ifeq ($(GCC),yes) -CS_CFLAGS = $(CS_TYPE_FLAGS) $(GEN_OPT_FLGS) $(UNROLL_FLG) $(DEFS) $(WFLAGS) +CS_CFLAGS = $(TYPE_FLAGS) $(GEN_OPT_FLGS) $(UNROLL_FLG) $(DEFS) $(WFLAGS) else -CS_CFLAGS = $(CS_TYPE_FLAGS) $(DEFS) $(WFLAGS) +CS_CFLAGS = $(TYPE_FLAGS) $(DEFS) $(WFLAGS) endif CS_LDFLAGS = $(LDFLAGS) CS_LIBS = -L../lib/internal/$(TARGET) -lerts_internal$(TYPEMARKER) @ERTS_INTERNAL_X_LIBS@ @SOCKET_LIBS@ @@ -917,7 +875,7 @@ CS_OBJ = $(OBJDIR)/erl_child_setup.o $(OBJDIR)/sys_uds.o $(OBJDIR)/hash.o $(BINDIR)/$(CS_EXECUTABLE): $(TTF_DIR)/GENERATED $(PRELOAD_SRC) $(CS_OBJ) $(ERTS_LIB) - $(ld_verbose)$(CS_PURIFY) $(LD) $(CS_LDFLAGS) -o $(BINDIR)/$(CS_EXECUTABLE) \ + $(ld_verbose) $(LD) $(CS_LDFLAGS) -o $(BINDIR)/$(CS_EXECUTABLE) \ $(CS_CFLAGS) $(COMMON_INCLUDES) $(CS_OBJ) $(CS_LIBS) ifeq ($(GCC),yes) @@ -1183,13 +1141,13 @@ $(OBJS): $(TTF_DIR)/GENERATED ifeq ($(TARGET), win32) # Only the basic erlang to begin with eh? $(BINDIR)/$(EMULATOR_EXECUTABLE): $(INIT_OBJS) $(OBJS) $(DEPLIBS) - $(ld_verbose)$(PURIFY) $(LD) -dll -def:sys/$(ERLANG_OSTYPE)/erl.def -implib:$(BINDIR)/erl_dll.lib -o $(BINDIR)/$(EMULATOR_EXECUTABLE) \ + $(ld_verbose) $(LD) -dll -def:sys/$(ERLANG_OSTYPE)/erl.def -implib:$(BINDIR)/erl_dll.lib -o $(BINDIR)/$(EMULATOR_EXECUTABLE) \ $(LDFLAGS) $(DEXPORT) $(INIT_OBJS) $(OBJS) $(STATIC_NIF_LIBS) \ $(STATIC_DRIVER_LIBS) $(LIBS) else $(BINDIR)/$(EMULATOR_EXECUTABLE): $(INIT_OBJS) $(OBJS) $(DEPLIBS) - $(ld_verbose)$(PURIFY) $(LD) -o $@ \ + $(ld_verbose) $(LD) -o $@ \ $(HIPEBEAMLDFLAGS) $(PROFILE_LDFLAGS) $(LDFLAGS) $(DEXPORT) $(INIT_OBJS) $(OBJS) \ $(STATIC_NIF_LIBS) $(STATIC_DRIVER_LIBS) $(LIBS) diff --git a/erts/emulator/beam/atom.names b/erts/emulator/beam/atom.names index 6efc166630..4234a05ff2 100644 --- a/erts/emulator/beam/atom.names +++ b/erts/emulator/beam/atom.names @@ -545,8 +545,6 @@ atom protected atom protection atom ptab_list_continue atom public -atom purify -atom quantify atom queue_size atom raw atom re diff --git a/erts/emulator/beam/dist.c b/erts/emulator/beam/dist.c index dc331c7fb0..a3ef41a21e 100644 --- a/erts/emulator/beam/dist.c +++ b/erts/emulator/beam/dist.c @@ -163,13 +163,11 @@ static char *erts_dop_to_string(enum dop dop) { #endif #if defined(VALGRIND) -#include <valgrind/valgrind.h> -#include <valgrind/memcheck.h> - -# define PURIFY_MSG(msg) \ - VALGRIND_PRINTF("%s, line %d: %s", __FILE__, __LINE__, msg) +# include <valgrind/valgrind.h> +# include <valgrind/memcheck.h> +# define VALGRIND_MSG(msg) VALGRIND_PRINTF("%s, line %d: %s", __FILE__, __LINE__, msg) #else -# define PURIFY_MSG(msg) +# define VALGRIND_MSG(msg) #endif int erts_is_alive; /* System must be blocked on change */ @@ -1874,7 +1872,7 @@ int erts_net_message(Port *prt, erts_fprintf(dbg_file, "DIST MSG DEBUG: erts_decode_dist_ext_size(CTL) failed:\n"); bw(buf, orig_len); #endif - PURIFY_MSG("data error"); + VALGRIND_MSG("data error"); goto data_error; } @@ -1962,7 +1960,7 @@ int erts_net_message(Port *prt, erts_fprintf(dbg_file, "DIST MSG DEBUG: erts_decode_dist_ext(CTL) failed:\n"); bw(buf, orig_len); #endif - PURIFY_MSG("data error"); + VALGRIND_MSG("data error"); goto decode_error; } @@ -2747,7 +2745,7 @@ int erts_net_message(Port *prt, erts_send_error_to_logger_nogl(dsbufp); } decode_error: - PURIFY_MSG("data error"); + VALGRIND_MSG("data error"); if (ede_hfrag == NULL) { erts_factory_close(&factory); if (ctl != ctl_default) { diff --git a/erts/emulator/beam/erl_alloc.c b/erts/emulator/beam/erl_alloc.c index 1e5a836b7c..192a3e76db 100644 --- a/erts/emulator/beam/erl_alloc.c +++ b/erts/emulator/beam/erl_alloc.c @@ -66,7 +66,7 @@ #define ERTS_ALC_DEFAULT_MAX_THR_PREF ERTS_MAX_NO_OF_SCHEDULERS -#if defined(SMALL_MEMORY) || defined(PURIFY) || defined(VALGRIND) +#if defined(SMALL_MEMORY) || defined(VALGRIND) #define AU_ALLOC_DEFAULT_ENABLE(X) 0 #else #define AU_ALLOC_DEFAULT_ENABLE(X) (X) diff --git a/erts/emulator/beam/erl_bif_info.c b/erts/emulator/beam/erl_bif_info.c index 6e79156ab0..4a4c4f9278 100644 --- a/erts/emulator/beam/erl_bif_info.c +++ b/erts/emulator/beam/erl_bif_info.c @@ -122,9 +122,6 @@ static char erts_system_version[] = ("Erlang/OTP " ERLANG_OTP_RELEASE #ifdef ERTS_OPCODE_COUNTER_SUPPORT " [instruction-counting]" #endif -#ifdef PURIFY - " [purify-compiled]" -#endif #ifdef VALGRIND " [valgrind-compiled]" #endif @@ -2183,44 +2180,22 @@ info_1_tuple(Process* BIF_P, /* Pointer to current process. */ goto badarg; ERTS_BIF_PREP_TRAP1(ret, erts_format_cpu_topology_trap, BIF_P, res); return ret; -#if defined(PURIFY) || defined(VALGRIND) +#if defined(VALGRIND) } else if (ERTS_IS_ATOM_STR("error_checker", sel) -#if defined(PURIFY) - || sel == am_purify -#elif defined(VALGRIND) - || ERTS_IS_ATOM_STR("valgrind", sel) -#endif - ) { + || ERTS_IS_ATOM_STR("valgrind", sel)) { if (*tp == am_memory) { -#if defined(PURIFY) - BIF_RET(erts_make_integer(purify_new_leaks(), BIF_P)); -#elif defined(VALGRIND) # ifdef VALGRIND_DO_ADDED_LEAK_CHECK VALGRIND_DO_ADDED_LEAK_CHECK; # else VALGRIND_DO_LEAK_CHECK; # endif BIF_RET(make_small(0)); -#endif } else if (*tp == am_fd) { -#if defined(PURIFY) - BIF_RET(erts_make_integer(purify_new_fds_inuse(), BIF_P)); -#elif defined(VALGRIND) /* Not present in valgrind... */ BIF_RET(make_small(0)); -#endif } else if (*tp == am_running) { -#if defined(PURIFY) - BIF_RET(purify_is_running() ? am_true : am_false); -#elif defined(VALGRIND) BIF_RET(RUNNING_ON_VALGRIND ? am_true : am_false); -#endif } else if (is_list(*tp)) { -#if defined(PURIFY) -# define ERTS_ERROR_CHECKER_PRINTF purify_printf -#elif defined(VALGRIND) -# define ERTS_ERROR_CHECKER_PRINTF VALGRIND_PRINTF -#endif ErlDrvSizeT buf_size = 8*1024; /* Try with 8KB first */ char *buf = erts_alloc(ERTS_ALC_T_TMP, buf_size); ErlDrvSizeT r = erts_iolist_to_buf(*tp, (char*) buf, buf_size - 1); @@ -2235,25 +2210,9 @@ info_1_tuple(Process* BIF_P, /* Pointer to current process. */ ASSERT(r == buf_size - 1); } buf[buf_size - 1 - r] = '\0'; - ERTS_ERROR_CHECKER_PRINTF("%s\n", buf); + VALGRIND_PRINTF("%s\n", buf); erts_free(ERTS_ALC_T_TMP, (void *) buf); BIF_RET(am_true); -#undef ERTS_ERROR_CHECKER_PRINTF - } -#endif -#ifdef QUANTIFY - } else if (sel == am_quantify) { - if (*tp == am_clear) { - quantify_clear_data(); - BIF_RET(am_true); - } else if (*tp == am_start) { - quantify_start_recording_data(); - BIF_RET(am_true); - } else if (*tp == am_stop) { - quantify_stop_recording_data(); - BIF_RET(am_true); - } else if (*tp == am_running) { - BIF_RET(quantify_is_running() ? am_true : am_false); } #endif #if defined(__GNUC__) && defined(HAVE_SOLARIS_SPARC_PERFMON) @@ -2445,15 +2404,6 @@ BIF_RETTYPE system_info_1(BIF_ALIST_1) #if defined(DEBUG) ERTS_DECL_AM(debug); BIF_RET(AM_debug); -#elif defined(PURIFY) - ERTS_DECL_AM(purify); - BIF_RET(AM_purify); -#elif defined(QUANTIFY) - ERTS_DECL_AM(quantify); - BIF_RET(AM_quantify); -#elif defined(PURECOV) - ERTS_DECL_AM(purecov); - BIF_RET(AM_purecov); #elif defined(ERTS_GCOV) ERTS_DECL_AM(gcov); BIF_RET(AM_gcov); diff --git a/erts/emulator/beam/erl_gc.c b/erts/emulator/beam/erl_gc.c index 42d35d39c3..a59f2c0f2e 100644 --- a/erts/emulator/beam/erl_gc.c +++ b/erts/emulator/beam/erl_gc.c @@ -2684,7 +2684,7 @@ shrink_new_heap(Process *p, Uint new_sz, Eterm *objv, int nobj) /* * Normally, we don't expect a shrunk heap to move, but you never - * know on some strange embedded systems... Or when using purify. + * know on some strange embedded systems... */ offset_heap(new_heap, heap_size, offs, area, area_size); diff --git a/erts/emulator/beam/external.c b/erts/emulator/beam/external.c index 0396e14ff8..c1158ea459 100644 --- a/erts/emulator/beam/external.c +++ b/erts/emulator/beam/external.c @@ -3385,9 +3385,7 @@ enc_term_int(TTBEncodeContext* ctx, ErtsAtomCacheMap *acmp, Eterm obj, byte* ep, /* now the erts_snprintf which does the work */ i = sys_double_to_chars(f.fd, (char*) ep, (size_t)31); - /* Don't leave garbage after the float! (Bad practice in general, - * and Purify complains.) - */ + /* Don't leave garbage after the float */ sys_memset(ep+i, 0, 31-i); ep += 31; } diff --git a/erts/emulator/sys/unix/sys_drivers.c b/erts/emulator/sys/unix/sys_drivers.c index e3f9a8073e..69f8458166 100644 --- a/erts/emulator/sys/unix/sys_drivers.c +++ b/erts/emulator/sys/unix/sys_drivers.c @@ -128,12 +128,6 @@ typedef struct driver_data { #if defined(DEBUG) #define ERL_BUILD_TYPE_MARKER ".debug" -#elif defined(PURIFY) -#define ERL_BUILD_TYPE_MARKER ".purify" -#elif defined(QUANTIFY) -#define ERL_BUILD_TYPE_MARKER ".quantify" -#elif defined(PURECOV) -#define ERL_BUILD_TYPE_MARKER ".purecov" #elif defined(VALGRIND) #define ERL_BUILD_TYPE_MARKER ".valgrind" #else /* opt */ diff --git a/erts/emulator/test/mtx_SUITE.erl b/erts/emulator/test/mtx_SUITE.erl index 843e917dfc..24bbc70907 100644 --- a/erts/emulator/test/mtx_SUITE.erl +++ b/erts/emulator/test/mtx_SUITE.erl @@ -477,8 +477,7 @@ handicap() -> opt -> X0; ReallySlow when ReallySlow == debug; - ReallySlow == valgrind; - ReallySlow == purify -> + ReallySlow == valgrind -> X0*3; _Slow -> X0*2 diff --git a/erts/epmd/src/Makefile.in b/erts/epmd/src/Makefile.in index f9f65cec5e..7f38e3bdcb 100644 --- a/erts/epmd/src/Makefile.in +++ b/erts/epmd/src/Makefile.in @@ -20,23 +20,14 @@ include $(ERL_TOP)/make/target.mk ifeq ($(TYPE),debug) -PURIFY = TYPEMARKER = .debug TYPE_FLAGS = -DDEBUG @DEBUG_FLAGS@ else -ifeq ($(TYPE),purify) -PURIFY = purify -TYPEMARKER = -TYPE_FLAGS = -O2 -DPURIFY -else - override TYPE = opt -PURIFY = TYPEMARKER = TYPE_FLAGS = -O2 endif -endif include $(ERL_TOP)/make/$(TARGET)/otp.mk include ../../vsn.mk @@ -116,7 +107,7 @@ clean: # $(BINDIR)/$(EPMD): $(EPMD_OBJS) $(ERTS_LIB) - $(ld_verbose)$(PURIFY) $(LD) $(LDFLAGS) -o $@ $(EPMD_OBJS) $(LIBS) + $(ld_verbose) $(LD) $(LDFLAGS) -o $@ $(EPMD_OBJS) $(LIBS) $(OBJDIR)/%.o: %.c epmd.h epmd_int.h $(V_CC) $(CFLAGS) $(EPMD_FLAGS) -o $@ -c $< diff --git a/erts/etc/common/Makefile.in b/erts/etc/common/Makefile.in index 4e7b708f46..ba4d898f79 100644 --- a/erts/etc/common/Makefile.in +++ b/erts/etc/common/Makefile.in @@ -26,24 +26,15 @@ ERTS_LIB_TYPEMARKER=.$(TYPE) USING_VC=@MIXED_VC@ ifeq ($(TYPE),debug) -PURIFY = TYPEMARKER = .debug TYPE_FLAGS = -DDEBUG @DEBUG_FLAGS@ else -ifeq ($(TYPE),purify) -PURIFY = purify -TYPEMARKER = -TYPE_FLAGS = -g -O2 -DPURIFY -else - override TYPE=opt -PURIFY = TYPEMARKER = ERTS_LIB_TYPEMARKER= TYPE_FLAGS = endif -endif include $(ERL_TOP)/make/$(TARGET)/otp.mk include ../../vsn.mk @@ -411,14 +402,14 @@ $(OBJDIR)/heart.o: heart.c $(RC_GENERATED) # $(V_CC) $(CFLAGS) -o $@ -c $< # #$(BINDIR)/%: $(OBJDIR)/%.o -# $(ld_verbose)$(PURIFY) $(LD) $(LDFLAGS) -o $@ $< $(LIBS) +# $(ld_verbose) $(LD) $(LDFLAGS) -o $@ $< $(LIBS) $(OBJDIR)/inet_gethost.o: inet_gethost.c $(RC_GENERATED) $(V_CC) $(CFLAGS) -o $@ -c inet_gethost.c # inet_gethost $(BINDIR)/inet_gethost@EXEEXT@: $(OBJDIR)/inet_gethost.o $(ENTRY_OBJ) $(ERTS_LIB) - $(ld_verbose)$(PURIFY) $(LD) $(LDFLAGS) $(ENTRY_LDFLAGS) -o $@ $(OBJDIR)/inet_gethost.o $(ENTRY_OBJ) $(LIBS) $(ERTS_INTERNAL_LIBS) + $(ld_verbose) $(LD) $(LDFLAGS) $(ENTRY_LDFLAGS) -o $@ $(OBJDIR)/inet_gethost.o $(ENTRY_OBJ) $(LIBS) $(ERTS_INTERNAL_LIBS) # run_erl $(BINDIR)/run_erl: $(OBJDIR)/safe_string.o $(OBJDIR)/run_erl.o @@ -446,38 +437,38 @@ $(BINDIR)/erl_call@EXEEXT@: $(ERL_TOP)/lib/erl_interface/bin/$(TARGET)/erl_call@ ifneq ($(TARGET),win32) $(BINDIR)/$(ERLEXEC): $(OBJDIR)/$(ERLEXEC).o $(ERTS_LIB) - $(ld_verbose)$(PURIFY) $(LD) $(LDFLAGS) -o $@ $(OBJDIR)/$(ERLEXEC).o $(ERTS_INTERNAL_LIBS) + $(ld_verbose) $(LD) $(LDFLAGS) -o $@ $(OBJDIR)/$(ERLEXEC).o $(ERTS_INTERNAL_LIBS) $(OBJDIR)/$(ERLEXEC).o: $(ERLEXECDIR)/$(ERLEXEC).c $(RC_GENERATED) $(V_CC) -I$(EMUDIR) $(CFLAGS) -o $@ -c $(ERLEXECDIR)/$(ERLEXEC).c endif $(BINDIR)/erlc@EXEEXT@: $(OBJDIR)/erlc.o $(ERTS_LIB) - $(ld_verbose)$(PURIFY) $(LD) $(LDFLAGS) -o $@ $(OBJDIR)/erlc.o -L$(OBJDIR) $(LIBS) $(ERTS_INTERNAL_LIBS) $(EI_LIB) + $(ld_verbose) $(LD) $(LDFLAGS) -o $@ $(OBJDIR)/erlc.o -L$(OBJDIR) $(LIBS) $(ERTS_INTERNAL_LIBS) $(EI_LIB) $(OBJDIR)/erlc.o: erlc.c $(RC_GENERATED) $(V_CC) $(CFLAGS) $(THR_DEFS) $(EI_INCL) $(MT_FLAG) -o $@ -c erlc.c $(BINDIR)/dialyzer@EXEEXT@: $(OBJDIR)/dialyzer.o $(ERTS_LIB) - $(ld_verbose)$(PURIFY) $(LD) $(LDFLAGS) -o $@ $(OBJDIR)/dialyzer.o -L$(OBJDIR) $(LIBS) $(ERTS_INTERNAL_LIBS) + $(ld_verbose) $(LD) $(LDFLAGS) -o $@ $(OBJDIR)/dialyzer.o -L$(OBJDIR) $(LIBS) $(ERTS_INTERNAL_LIBS) $(OBJDIR)/dialyzer.o: dialyzer.c $(RC_GENERATED) $(V_CC) $(CFLAGS) -o $@ -c dialyzer.c $(BINDIR)/typer@EXEEXT@: $(OBJDIR)/typer.o $(ERTS_LIB) - $(ld_verbose)$(PURIFY) $(LD) $(LDFLAGS) -o $@ $(OBJDIR)/typer.o -L$(OBJDIR) $(LIBS) $(ERTS_INTERNAL_LIBS) + $(ld_verbose) $(LD) $(LDFLAGS) -o $@ $(OBJDIR)/typer.o -L$(OBJDIR) $(LIBS) $(ERTS_INTERNAL_LIBS) $(OBJDIR)/typer.o: typer.c $(RC_GENERATED) $(V_CC) $(CFLAGS) -o $@ -c typer.c $(BINDIR)/escript@EXEEXT@: $(OBJDIR)/escript.o $(ERTS_LIB) - $(ld_verbose)$(PURIFY) $(LD) $(LDFLAGS) -o $@ $(OBJDIR)/escript.o -L$(OBJDIR) $(LIBS) $(ERTS_INTERNAL_LIBS) + $(ld_verbose) $(LD) $(LDFLAGS) -o $@ $(OBJDIR)/escript.o -L$(OBJDIR) $(LIBS) $(ERTS_INTERNAL_LIBS) $(OBJDIR)/escript.o: escript.c $(RC_GENERATED) $(V_CC) $(CFLAGS) -o $@ -c escript.c $(BINDIR)/ct_run@EXEEXT@: $(OBJDIR)/ct_run.o $(ERTS_LIB) - $(ld_verbose)$(PURIFY) $(LD) $(LDFLAGS) -o $@ $(OBJDIR)/ct_run.o -L$(OBJDIR) $(LIBS) $(ERTS_INTERNAL_LIBS) + $(ld_verbose) $(LD) $(LDFLAGS) -o $@ $(OBJDIR)/ct_run.o -L$(OBJDIR) $(LIBS) $(ERTS_INTERNAL_LIBS) $(OBJDIR)/ct_run.o: ct_run.c $(RC_GENERATED) $(V_CC) $(CFLAGS) -o $@ -c ct_run.c diff --git a/erts/etc/unix/cerl.src b/erts/etc/unix/cerl.src index 3e5087c0d8..575ef80e88 100644 --- a/erts/etc/unix/cerl.src +++ b/erts/etc/unix/cerl.src @@ -38,9 +38,6 @@ # -break F Run the debug compiled emulator in emacs and gdb and set break. # The session is started, i.e. "run" is already don for you. # -xxgdb FIXME currently disabled -# -purify Run emulator compiled for purify -# -quantify Run emulator compiled for quantify -# -purecov Run emulator compiled for purecov # -gcov Run emulator compiled for gcov # -valgrind Run emulator compiled for valgrind # -lcnt Run emulator compiled for lock counting @@ -194,21 +191,6 @@ while [ $# -gt 0 ]; do # shift # GDB=xxgdb # ;; - "-purify") - shift - cargs="$cargs -purify" - TYPE=.purify - ;; - "-quantify") - shift - cargs="$cargs -quantify" - TYPE=.quantify - ;; - "-purecov") - shift - cargs="$cargs -purecov" - TYPE=.purecov - ;; "-gcov") shift cargs="$cargs -gcov" diff --git a/erts/include/internal/ethread.h b/erts/include/internal/ethread.h index e5a692090a..83c66f381d 100644 --- a/erts/include/internal/ethread.h +++ b/erts/include/internal/ethread.h @@ -131,7 +131,7 @@ typedef pthread_key_t ethr_tsd_key; #define ETHR_HAVE_ETHR_SIG_FUNCS 1 -#if defined(PURIFY) || defined(VALGRIND) +#if defined(VALGRIND) # define ETHR_FORCE_PTHREAD_RWLOCK # define ETHR_FORCE_PTHREAD_MUTEX #endif diff --git a/erts/include/internal/i386/ethr_dw_atomic.h b/erts/include/internal/i386/ethr_dw_atomic.h index 8e037be578..e3dbc82518 100644 --- a/erts/include/internal/i386/ethr_dw_atomic.h +++ b/erts/include/internal/i386/ethr_dw_atomic.h @@ -137,7 +137,7 @@ ethr_native_dw_atomic_addr(ethr_native_dw_atomic_t *var) #if ETHR_NO_CLOBBER_EBX__ && !defined(ETHR_CMPXCHG8B_REGISTER_SHORTAGE) /* When no optimization is on, we'll run into a register shortage */ # if defined(ETHR_DEBUG) || defined(DEBUG) || defined(VALGRIND) \ - || defined(GCOV) || defined(PURIFY) || defined(PURECOV) + || defined(GCOV) # define ETHR_CMPXCHG8B_REGISTER_SHORTAGE 1 # else # define ETHR_CMPXCHG8B_REGISTER_SHORTAGE 0 diff --git a/erts/lib_src/Makefile.in b/erts/lib_src/Makefile.in index bb43d51d97..45ff7639d4 100644 --- a/erts/lib_src/Makefile.in +++ b/erts/lib_src/Makefile.in @@ -56,21 +56,6 @@ PRE_LD= else -ifeq ($(TYPE),purify) -CFLAGS=@DEBUG_CFLAGS@ -DPURIFY -TYPE_SUFFIX=.purify -PRE_LD=purify $(PURIFY_BUILD_OPTIONS) -else -ifeq ($(TYPE),quantify) -CFLAGS += -DQUANTIFY -TYPE_SUFFIX=.quantify -PRE_LD=quantify $(QUANTIFY_BUILD_OPTIONS) -else -ifeq ($(TYPE),purecov) -CFLAGS=@DEBUG_CFLAGS@ -DPURECOV -TYPE_SUFFIX=.purecov -PRE_LD=purecov $(PURECOV_BUILD_OPTIONS) -else ifeq ($(TYPE),gcov) CFLAGS=@DEBUG_CFLAGS@ -DGCOV -fprofile-arcs -ftest-coverage -O0 TYPE_SUFFIX=.gcov @@ -114,9 +99,6 @@ endif endif endif endif -endif -endif -endif OPSYS=@OPSYS@ sol2CFLAGS= diff --git a/erts/preloaded/src/erlang.erl b/erts/preloaded/src/erlang.erl index 313c9d34e1..0c1db03248 100644 --- a/erts/preloaded/src/erlang.erl +++ b/erts/preloaded/src/erlang.erl @@ -2730,7 +2730,7 @@ tuple_to_list(_Tuple) -> Alloc :: atom(); (atom_count) -> pos_integer(); (atom_limit) -> pos_integer(); - (build_type) -> opt | debug | purify | quantify | purecov | + (build_type) -> opt | debug | gcov | valgrind | gprof | lcnt | frmptr; (c_compiler_used) -> {atom(), term()}; (check_io) -> [_]; diff --git a/erts/preloaded/src/init.erl b/erts/preloaded/src/init.erl index e39c13b63d..6aa73587fe 100644 --- a/erts/preloaded/src/init.erl +++ b/erts/preloaded/src/init.erl @@ -824,10 +824,6 @@ do_boot(Init,Flags,Start) -> vars=BootVars}, eval_script(BootList, Es), - %% To help identifying Purify windows that pop up, - %% print the node name into the Purify log. - (catch erlang:system_info({purify, "Node: " ++ atom_to_list(node())})), - start_em(Start), case b2a(get_flag(profile_boot,Flags,false)) of false -> ok; diff --git a/erts/test/utils/gccifier.c b/erts/test/utils/gccifier.c index 0c3ef915fb..df7329f408 100644 --- a/erts/test/utils/gccifier.c +++ b/erts/test/utils/gccifier.c @@ -138,9 +138,6 @@ main(int argc, char *argv[]) char *cc = NULL; args_t args = {0}; int is_debug = 0; - int is_purify = 0; - int is_quantify = 0; - int is_purecov = 0; #ifdef __WIN32__ int is_shared = 0; stdlib_t stdlib = STDLIB_NONE; @@ -191,18 +188,6 @@ main(int argc, char *argv[]) } } } - else if (strcmp("-DPURIFY", arg) == 0) { - save_arg(&args, arg, NULL); - is_purify = 1; - } - else if (strcmp("-DQUANTIFY", arg) == 0) { - save_arg(&args, arg, NULL); - is_quantify = 1; - } - else if (strcmp("-DPURECOV", arg) == 0) { - save_arg(&args, arg, NULL); - is_purecov = 1; - } #ifdef __WIN32__ else if (strcmp("-g", arg) == 0) { goto set_debug; @@ -246,12 +231,6 @@ main(int argc, char *argv[]) CHECK_FIRST_LINK_ARG; if (is_debug && strcmp("ethread", arg) == 0) arg = "ethread.debug"; - else if (is_purify && strcmp("ethread", arg) == 0) - arg = "ethread.purify"; - else if (is_quantify && strcmp("ethread", arg) == 0) - arg = "ethread.quantify"; - else if (is_purecov && strcmp("ethread", arg) == 0) - arg = "ethread.purecov"; #ifdef __WIN32__ else if (strcmp("socket", arg) == 0) arg = "ws2_32"; diff --git a/lib/erl_interface/src/Makefile b/lib/erl_interface/src/Makefile index dab0cee8a4..6b5e2c1e61 100644 --- a/lib/erl_interface/src/Makefile +++ b/lib/erl_interface/src/Makefile @@ -26,7 +26,7 @@ include $(ERL_TOP)/make/output.mk include $(ERL_TOP)/make/target.mk -debug opt shared purify quantify purecov gcov: +debug opt shared gcov: ifndef TERTIARY_BOOTSTRAP $(make_verbose)$(MAKE) -f $(TARGET)/Makefile TYPE=$@ endif diff --git a/lib/erl_interface/src/Makefile.in b/lib/erl_interface/src/Makefile.in index 7ff3f09abb..de82f4ad51 100644 --- a/lib/erl_interface/src/Makefile.in +++ b/lib/erl_interface/src/Makefile.in @@ -66,44 +66,23 @@ LDFLAGS = @LDFLAGS@ LIBS = @LIBS@ ifeq ($(TYPE),debug) -PURIFY = TYPEMARKER = .debug TYPE_FLAGS = -g -DDEBUG ifeq ($(TARGET),win32) LDFLAGS += -g endif else -ifeq ($(TYPE),purify) -PURIFY = purify -TYPEMARKER = .purify -TYPE_FLAGS = -DPURIFY -DNO_JUMP_TABLE -else -ifeq ($(TYPE),quantify) -PURIFY = quantify -TYPEMARKER = .quantify -TYPE_FLAGS = -g -O2 -DQUANTIFY -else -ifeq ($(TYPE),purecov) -PURIFY = purecov --follow-child-processes=yes -TYPEMARKER = .purecov -TYPE_FLAGS = -g -DPURECOV -DNO_JUMP_TABLE -else ifeq ($(TYPE),gcov) -PURIFY = TYPEMARKER = TYPE_FLAGS = -DNO_JUMP_TABLE -fprofile-arcs -ftest-coverage ifeq ($(TARGET),linux) LIBS += -lgcov endif else -PURIFY = TYPEMARKER = TYPE_FLAGS = endif endif -endif -endif -endif CC = @CC@ LD = @LD@ @@ -566,16 +545,16 @@ endif ifeq ($(TARGET),win32) $(ERL_CALL): $(ERLCALL) ../include/ei.h $(MD_EILIB) - $(ld_verbose)$(PURIFY) $(CC) -MD $(PROG_CFLAGS) $(THR_DEFS) -o $@ $(ERLCALL) \ + $(ld_verbose) $(CC) -MD $(PROG_CFLAGS) $(THR_DEFS) -o $@ $(ERLCALL) \ -L$(OBJDIR) -lei_md $(THR_LIBS) $(LIBS) -lsocket else ifdef THR_DEFS $(ERL_CALL): $(ERLCALL) ../include/ei.h $(MT_EILIB) - $(ld_verbose)$(PURIFY) $(CC) $(PROG_CFLAGS) $(THR_DEFS) $(LDFLAGS) -o $@ $(ERLCALL) \ + $(ld_verbose) $(CC) $(PROG_CFLAGS) $(THR_DEFS) $(LDFLAGS) -o $@ $(ERLCALL) \ -L$(OBJDIR) -lei $(THR_LIBS) $(LIBS) else $(ERL_CALL): $(ERLCALL) ../include/ei.h $(ST_EILIB) - $(ld_verbose)$(PURIFY) $(CC) $(PROG_CFLAGS) $(LDFLAGS) -o $@ $(ERLCALL) \ + $(ld_verbose) $(CC) $(PROG_CFLAGS) $(LDFLAGS) -o $@ $(ERLCALL) \ -L$(OBJDIR) -lei $(LIBS) endif endif diff --git a/lib/erl_interface/test/all_SUITE_data/gccifier.c b/lib/erl_interface/test/all_SUITE_data/gccifier.c index 0c3ef915fb..df7329f408 100644 --- a/lib/erl_interface/test/all_SUITE_data/gccifier.c +++ b/lib/erl_interface/test/all_SUITE_data/gccifier.c @@ -138,9 +138,6 @@ main(int argc, char *argv[]) char *cc = NULL; args_t args = {0}; int is_debug = 0; - int is_purify = 0; - int is_quantify = 0; - int is_purecov = 0; #ifdef __WIN32__ int is_shared = 0; stdlib_t stdlib = STDLIB_NONE; @@ -191,18 +188,6 @@ main(int argc, char *argv[]) } } } - else if (strcmp("-DPURIFY", arg) == 0) { - save_arg(&args, arg, NULL); - is_purify = 1; - } - else if (strcmp("-DQUANTIFY", arg) == 0) { - save_arg(&args, arg, NULL); - is_quantify = 1; - } - else if (strcmp("-DPURECOV", arg) == 0) { - save_arg(&args, arg, NULL); - is_purecov = 1; - } #ifdef __WIN32__ else if (strcmp("-g", arg) == 0) { goto set_debug; @@ -246,12 +231,6 @@ main(int argc, char *argv[]) CHECK_FIRST_LINK_ARG; if (is_debug && strcmp("ethread", arg) == 0) arg = "ethread.debug"; - else if (is_purify && strcmp("ethread", arg) == 0) - arg = "ethread.purify"; - else if (is_quantify && strcmp("ethread", arg) == 0) - arg = "ethread.quantify"; - else if (is_purecov && strcmp("ethread", arg) == 0) - arg = "ethread.purecov"; #ifdef __WIN32__ else if (strcmp("socket", arg) == 0) arg = "ws2_32"; diff --git a/lib/tools/c_src/Makefile.in b/lib/tools/c_src/Makefile.in index 8e13571786..878aa2cde6 100644 --- a/lib/tools/c_src/Makefile.in +++ b/lib/tools/c_src/Makefile.in @@ -43,29 +43,11 @@ ifeq ($(TARGET),win32) LDFLAGS += -g endif else -ifeq ($(TYPE),purify) -CFLAGS = @CFLAGS@ -DPURIFY -TYPEMARKER=.purify -PRE_LD = purify $(PURIFY_BUILD_OPTIONS) -else -ifeq ($(TYPE),quantify) -CFLAGS = @CFLAGS@ -DQUANTIFY -TYPEMARKER=.quantify -PRE_LD = quantify $(QUANTIFY_BUILD_OPTIONS) -else -ifeq ($(TYPE),purecov) -CFLAGS = @DEBUG_CFLAGS@ -DPURECOV -TYPEMARKER=.purecov -PRE_LD = purecov $(PURECOV_BUILD_OPTIONS) -else override TYPE=opt CFLAGS = @CFLAGS@ PRE_LD = TYPEMARKER = endif -endif -endif -endif ifeq ($(findstring -D_GNU_SOURCE,$(CFLAGS)),) THR_DEFS = $(ETHR_DEFS) diff --git a/lib/tools/c_src/erl_memory.c b/lib/tools/c_src/erl_memory.c index d52203c7cd..2726d7b81e 100644 --- a/lib/tools/c_src/erl_memory.c +++ b/lib/tools/c_src/erl_memory.c @@ -2790,15 +2790,6 @@ main(int argc, char *argv[]) #ifdef DEBUG print_string(state, "> [debug]\n"); #endif -#ifdef PURIFY - print_string(state, "> [purify]\n"); -#endif -#ifdef QUANTIFY - print_string(state, "> [quantify]\n"); -#endif -#ifdef PURECOV - print_string(state, "> [purecov]\n"); -#endif res = init_connection(state); if (res != 0) diff --git a/lib/tools/test/emem_SUITE.erl b/lib/tools/test/emem_SUITE.erl index 6dca7f6739..fd8ee875dd 100644 --- a/lib/tools/test/emem_SUITE.erl +++ b/lib/tools/test/emem_SUITE.erl @@ -117,8 +117,6 @@ init_per_suite(Config) when is_list(Config) -> case check_dir(filename:join([BinDir, Target])) of not_found -> ok; TDir -> - check_emem(TDir, purecov), - check_emem(TDir, purify), check_emem(TDir, debug), check_emem(TDir, opt) end, diff --git a/make/run_make.mk b/make/run_make.mk index 2c001b7cf9..d66339d28e 100644 --- a/make/run_make.mk +++ b/make/run_make.mk @@ -31,7 +31,7 @@ include $(ERL_TOP)/make/target.mk .PHONY: valgrind -opt debug purify quantify purecov valgrind gcov gprof lcnt frmptr icount: +opt debug valgrind gcov gprof lcnt frmptr icount: $(make_verbose)$(MAKE) -f $(TARGET)/Makefile TYPE=$@ plain smp frag smp_frag: -- 2.26.2
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor