From 55536a13db827ae23289d7b5907f44fe63be114d Mon Sep 17 00:00:00 2001 From: Dirk Zimoch Date: Mon, 19 Jul 2021 15:36:21 +0200 Subject: [PATCH] revert several files back to upstream version --- configure/CONFIG.gnuCommon | 4 +- configure/os/CONFIG.Common.vxWorks-ppc32 | 1 - configure/os/CONFIG.Common.vxWorks-ppc603 | 2 +- configure/os/CONFIG.Common.vxWorks-ppc604 | 11 ++-- configure/os/CONFIG.win32-x86.win32-x86 | 12 ++--- modules/database/src/ioc/db/dbAccess.c | 52 +++++-------------- .../database/src/std/dev/devAiSoftCallback.c | 2 +- .../database/src/std/dev/devBiSoftCallback.c | 2 +- .../src/std/dev/devI64inSoftCallback.c | 2 +- .../database/src/std/dev/devLiSoftCallback.c | 2 +- .../src/std/dev/devMbbiDirectSoftCallback.c | 2 +- .../src/std/dev/devMbbiSoftCallback.c | 2 +- .../database/src/std/dev/devSiSoftCallback.c | 2 +- modules/database/test/ioc/db/Makefile | 4 +- modules/database/test/std/filters/Makefile | 4 +- modules/database/test/std/link/Makefile | 4 +- modules/database/test/std/rec/Makefile | 8 +-- modules/libcom/test/Makefile | 4 +- 18 files changed, 44 insertions(+), 76 deletions(-) diff --git a/configure/CONFIG.gnuCommon b/configure/CONFIG.gnuCommon index b7740fc94..d3a9a41cf 100644 --- a/configure/CONFIG.gnuCommon +++ b/configure/CONFIG.gnuCommon @@ -33,7 +33,7 @@ CODE_CFLAGS = $(PROF_CFLAGS_$(PROFILE)) $(GPROF_CFLAGS_$(GPROF)) CODE_CFLAGS += $(ASAN_FLAGS_$(ENABLE_ASAN)) WARN_CFLAGS_YES = -Wall -Werror-implicit-function-declaration WARN_CFLAGS_NO = -w -OPT_CFLAGS_YES = -O3 -g +OPT_CFLAGS_YES = -O3 OPT_CFLAGS_NO = -g PROF_CXXFLAGS_YES = -p @@ -42,7 +42,7 @@ CODE_CXXFLAGS = $(PROF_CXXFLAGS_$(PROFILE)) $(GPROF_CXXFLAGS_$(GPROF)) CODE_CXXFLAGS += $(ASAN_FLAGS_$(ENABLE_ASAN)) WARN_CXXFLAGS_YES = -Wall WARN_CXXFLAGS_NO = -w -OPT_CXXFLAGS_YES = -O3 -g +OPT_CXXFLAGS_YES = -O3 OPT_CXXFLAGS_NO = -g CODE_LDFLAGS = $(PROF_CXXFLAGS_$(PROFILE)) $(GPROF_CXXFLAGS_$(GPROF)) diff --git a/configure/os/CONFIG.Common.vxWorks-ppc32 b/configure/os/CONFIG.Common.vxWorks-ppc32 index 0aee67f74..4e208b59b 100644 --- a/configure/os/CONFIG.Common.vxWorks-ppc32 +++ b/configure/os/CONFIG.Common.vxWorks-ppc32 @@ -14,7 +14,6 @@ ARCH_CLASS = ppc # Architecture specific build flags ARCH_DEP_CPPFLAGS = -DCPU=PPC32 -ARCH_DEP_CPPFLAGS = -DCPU=PPC604 ARCH_DEP_CFLAGS = -mstrict-align GNU_TARGET = powerpc-wrs-vxworks diff --git a/configure/os/CONFIG.Common.vxWorks-ppc603 b/configure/os/CONFIG.Common.vxWorks-ppc603 index a9d8a34ce..3b0e73b3d 100644 --- a/configure/os/CONFIG.Common.vxWorks-ppc603 +++ b/configure/os/CONFIG.Common.vxWorks-ppc603 @@ -13,7 +13,7 @@ CMPLR_SUFFIX = ppc ARCH_CLASS = ppc # Architecture specific build flags -ARCH_DEP_CPPFLAGS = -DCPU=PPC603 +ARCH_DEP_CPPFLAGS = -DCPU=PPC603 ARCH_DEP_CFLAGS = -mcpu=603 -mstrict-align GNU_TARGET = powerpc-wrs-vxworks diff --git a/configure/os/CONFIG.Common.vxWorks-ppc604 b/configure/os/CONFIG.Common.vxWorks-ppc604 index 9c26c643f..45115a876 100644 --- a/configure/os/CONFIG.Common.vxWorks-ppc604 +++ b/configure/os/CONFIG.Common.vxWorks-ppc604 @@ -14,12 +14,9 @@ ARCH_CLASS = ppc # Architecture specific build flags ARCH_DEP_CPPFLAGS = -DCPU=PPC604 -ARCH_DEP_CFLAGS = -mcpu=604 -mstrict-align - -CODE_CFLAGS_2 = -mno-implicit-fp -CODE_CFLAGS_3 = -mno-implicit-fp -CODE_CFLAGS_4 = -fno-implicit-fp -CODE_CFLAGS += $(CODE_CFLAGS_$(VX_GNU_MAJOR_VERSION)) - +ARCH_DEP_CFLAGS_2 = -mcpu=604 -mstrict-align -mno-implicit-fp +ARCH_DEP_CFLAGS_3 = -mcpu=604 -mstrict-align -mno-implicit-fp +ARCH_DEP_CFLAGS_4 = -mcpu=604 -mstrict-align -fno-implicit-fp +ARCH_DEP_CFLAGS = $(ARCH_DEP_CFLAGS_$(VX_GNU_MAJOR_VERSION)) GNU_TARGET = powerpc-wrs-vxworks diff --git a/configure/os/CONFIG.win32-x86.win32-x86 b/configure/os/CONFIG.win32-x86.win32-x86 index 29b61cf5c..767f4c7fa 100644 --- a/configure/os/CONFIG.win32-x86.win32-x86 +++ b/configure/os/CONFIG.win32-x86.win32-x86 @@ -14,15 +14,15 @@ OPT_WHOLE_PROGRAM = YES #------------------------------------------------------- -WINLINK = $(MSVC_DIR)link +WINLINK = link -RCCMD = $(MSVC_DIR)rc -l 0x409 $(INCLUDES) -fo $@ $< +RCCMD = rc -l 0x409 $(INCLUDES) -fo $@ $< -ARCMD = $(MSVC_DIR)lib -nologo -verbose -out:$@ $(LIB_OPT_LDFLAGS) $(LIBRARY_LD_OBJS) +ARCMD = lib -nologo -verbose -out:$@ $(LIB_OPT_LDFLAGS) $(LIBRARY_LD_OBJS) # # Configure OS vendor C compiler -CC = $(MSVC_DIR)cl +CC = cl # Override CONFIG.gnuCommon settings for cross builds. GNU = NO @@ -75,14 +75,14 @@ STATIC_CFLAGS_YES= -MT$(VISC_CFLAGS_DEBUG) $(BUILD_DLL_CFLAGS) STATIC_CFLAGS_NO= -MD$(VISC_CFLAGS_DEBUG) $(BUILD_DLL_CFLAGS) -DEPICS_CALL_DLL # OS vendor c preprocessor -CPP = $(MSVC_DIR)cl -nologo -C -E +CPP = cl -nologo -C -E # Configure OS vendor C++ compiler # # -EHsc - generate code for exceptions # -GR - generate code for run time type identification # -CCC = $(MSVC_DIR)cl -EHsc -GR +CCC = cl -EHsc -GR # Other compiler flags, used for CPP, C and C++ # diff --git a/modules/database/src/ioc/db/dbAccess.c b/modules/database/src/ioc/db/dbAccess.c index 295c6d543..8aac52f00 100644 --- a/modules/database/src/ioc/db/dbAccess.c +++ b/modules/database/src/ioc/db/dbAccess.c @@ -1177,6 +1177,8 @@ static long dbPutFieldLink(DBADDR *paddr, if (!status) status = dbSetLink(plink, &link_info, new_devsup); + if (!status && special) status = dbPutSpecial(paddr, 1); + if (status) { if (isDevLink) { precord->dset = NULL; @@ -1185,60 +1187,29 @@ static long dbPutFieldLink(DBADDR *paddr, goto postScanEvent; } - /* We need to initialize any links with a link support layer, i.e. - * any CONSTANT, JSON_LINK, or PV_LINK types. However for a PV_LINK - * when isDevLink is set (i.e. this is the record's INP or OUT link) - * we must wait until after calling dsxt->add_record(). This allows - * the Async Soft Channel input supports to change it to a PN_LINK. - * For other cases we initialize the link before the second call to - * dbPutSpecial() because some record types such as calcout need to - * be able to call link support methods from prset->special(). - */ - - switch (plink->type) { /* New type */ - case PV_LINK: - if (isDevLink) - break; - /* else fall through */ - case CONSTANT: - case JSON_LINK: - dbAddLink(&locker, plink, pfldDes->field_type, chan); - chan = NULL; /* we used it, don't clean it up */ - } - - if (special) status = dbPutSpecial(paddr, 1); - - if (!status && isDevLink) { + if (isDevLink) { precord->dpvt = NULL; precord->dset = new_dset; precord->pact = FALSE; status = new_dsxt->add_record(precord); - } - - if (status) { - if (isDevLink) { + if (status) { precord->dset = NULL; precord->pact = TRUE; + goto postScanEvent; } - goto postScanEvent; } switch (plink->type) { /* New link type */ - case CONSTANT: - case CA_LINK: - case DB_LINK: - case PN_LINK: - case JSON_LINK: - break; - case PV_LINK: - if (isDevLink) { - dbAddLink(&locker, plink, pfldDes->field_type, chan); - chan = NULL; /* we used it, don't clean it up */ - } + case CONSTANT: + case JSON_LINK: + dbAddLink(&locker, plink, pfldDes->field_type, chan); + chan = NULL; /* don't clean it up */ break; + case DB_LINK: + case CA_LINK: case MACRO_LINK: break; /* should never get here */ @@ -1247,6 +1218,7 @@ static long dbPutFieldLink(DBADDR *paddr, status = S_db_badHWaddr; goto postScanEvent; } + break; } db_post_events(precord, plink, DBE_VALUE | DBE_LOG); diff --git a/modules/database/src/std/dev/devAiSoftCallback.c b/modules/database/src/std/dev/devAiSoftCallback.c index db13fbbed..a7ed167db 100644 --- a/modules/database/src/std/dev/devAiSoftCallback.c +++ b/modules/database/src/std/dev/devAiSoftCallback.c @@ -81,7 +81,7 @@ static long add_record(dbCommon *pcommon) devPvt *pdevPvt; processNotify *ppn; - if (plink->type == CONSTANT) + if (dbLinkIsDefined(plink) && dbLinkIsConstant(plink)) return 0; if (plink->type != PV_LINK) { diff --git a/modules/database/src/std/dev/devBiSoftCallback.c b/modules/database/src/std/dev/devBiSoftCallback.c index 4fcbc464b..3bd38f8f2 100644 --- a/modules/database/src/std/dev/devBiSoftCallback.c +++ b/modules/database/src/std/dev/devBiSoftCallback.c @@ -79,7 +79,7 @@ static long add_record(dbCommon *pcommon) devPvt *pdevPvt; processNotify *ppn; - if (plink->type == CONSTANT) + if (dbLinkIsDefined(plink) && dbLinkIsConstant(plink)) return 0; if (plink->type != PV_LINK) { diff --git a/modules/database/src/std/dev/devI64inSoftCallback.c b/modules/database/src/std/dev/devI64inSoftCallback.c index 4af1a885e..0ccdfcc18 100644 --- a/modules/database/src/std/dev/devI64inSoftCallback.c +++ b/modules/database/src/std/dev/devI64inSoftCallback.c @@ -79,7 +79,7 @@ static long add_record(dbCommon *pcommon) devPvt *pdevPvt; processNotify *ppn; - if (plink->type == CONSTANT) + if (dbLinkIsDefined(plink) && dbLinkIsConstant(plink)) return 0; if (plink->type != PV_LINK) { diff --git a/modules/database/src/std/dev/devLiSoftCallback.c b/modules/database/src/std/dev/devLiSoftCallback.c index 7c7c5d86b..058abd93a 100644 --- a/modules/database/src/std/dev/devLiSoftCallback.c +++ b/modules/database/src/std/dev/devLiSoftCallback.c @@ -79,7 +79,7 @@ static long add_record(dbCommon *pcommon) devPvt *pdevPvt; processNotify *ppn; - if (plink->type == CONSTANT) + if (dbLinkIsDefined(plink) && dbLinkIsConstant(plink)) return 0; if (plink->type != PV_LINK) { diff --git a/modules/database/src/std/dev/devMbbiDirectSoftCallback.c b/modules/database/src/std/dev/devMbbiDirectSoftCallback.c index c46e90bb4..e2269d25e 100644 --- a/modules/database/src/std/dev/devMbbiDirectSoftCallback.c +++ b/modules/database/src/std/dev/devMbbiDirectSoftCallback.c @@ -79,7 +79,7 @@ static long add_record(dbCommon *pcommon) devPvt *pdevPvt; processNotify *ppn; - if (plink->type == CONSTANT) + if (dbLinkIsDefined(plink) && dbLinkIsConstant(plink)) return 0; if (plink->type != PV_LINK) { diff --git a/modules/database/src/std/dev/devMbbiSoftCallback.c b/modules/database/src/std/dev/devMbbiSoftCallback.c index 4afcb3e3e..ae97fc70a 100644 --- a/modules/database/src/std/dev/devMbbiSoftCallback.c +++ b/modules/database/src/std/dev/devMbbiSoftCallback.c @@ -79,7 +79,7 @@ static long add_record(dbCommon *pcommon) devPvt *pdevPvt; processNotify *ppn; - if (plink->type == CONSTANT) + if (dbLinkIsDefined(plink) && dbLinkIsConstant(plink)) return 0; if (plink->type != PV_LINK) { diff --git a/modules/database/src/std/dev/devSiSoftCallback.c b/modules/database/src/std/dev/devSiSoftCallback.c index 92009826d..85ec4fcad 100644 --- a/modules/database/src/std/dev/devSiSoftCallback.c +++ b/modules/database/src/std/dev/devSiSoftCallback.c @@ -81,7 +81,7 @@ static long add_record(dbCommon *pcommon) devPvt *pdevPvt; processNotify *ppn; - if (plink->type == CONSTANT) + if (dbLinkIsDefined(plink) && dbLinkIsConstant(plink)) return 0; if (plink->type != PV_LINK) { diff --git a/modules/database/test/ioc/db/Makefile b/modules/database/test/ioc/db/Makefile index f059226d9..11f74f238 100644 --- a/modules/database/test/ioc/db/Makefile +++ b/modules/database/test/ioc/db/Makefile @@ -191,8 +191,8 @@ dbTestHarness_SRCS_RTEMS += rtemsTestHarness.c PROD_SRCS_RTEMS += rtemsTestData.c -TESTPROD_vxWorks = dbTestHarness -TESTPROD_RTEMS = dbTestHarness +PROD_vxWorks = dbTestHarness +PROD_RTEMS = dbTestHarness TESTSPEC_vxWorks = dbTestHarness.munch; epicsRunDbTests TESTSPEC_RTEMS = dbTestHarness.boot; epicsRunDbTests diff --git a/modules/database/test/std/filters/Makefile b/modules/database/test/std/filters/Makefile index c2849a3cd..2576ce46d 100644 --- a/modules/database/test/std/filters/Makefile +++ b/modules/database/test/std/filters/Makefile @@ -73,8 +73,8 @@ filterTestHarness_SRCS_RTEMS += rtemsTestHarness.c PROD_SRCS_RTEMS += rtemsTestData.c -TESTPROD_vxWorks = filterTestHarness -TESTPROD_RTEMS = filterTestHarness +PROD_vxWorks = filterTestHarness +PROD_RTEMS = filterTestHarness TESTSPEC_vxWorks = filterTestHarness.munch; epicsRunFilterTests TESTSPEC_RTEMS = filterTestHarness.boot; epicsRunFilterTests diff --git a/modules/database/test/std/link/Makefile b/modules/database/test/std/link/Makefile index 2948157fd..fca089966 100644 --- a/modules/database/test/std/link/Makefile +++ b/modules/database/test/std/link/Makefile @@ -49,8 +49,8 @@ linkTestHarness_SRCS_RTEMS += rtemsTestHarness.c PROD_SRCS_RTEMS += rtemsTestData.c -TESTPROD_vxWorks = linkTestHarness -TESTPROD_RTEMS = linkTestHarness +PROD_vxWorks = linkTestHarness +PROD_RTEMS = linkTestHarness TESTSPEC_vxWorks = linkTestHarness.munch; epicsRunLinkTests TESTSPEC_RTEMS = linkTestHarness.boot; epicsRunLinkTests diff --git a/modules/database/test/std/rec/Makefile b/modules/database/test/std/rec/Makefile index f489b7545..52db82400 100644 --- a/modules/database/test/std/rec/Makefile +++ b/modules/database/test/std/rec/Makefile @@ -126,8 +126,8 @@ regressTest_DBD += base.dbd TESTPROD_HOST += regressTest regressTest_SRCS += regressTest.c regressTest_SRCS += regressTest_registerRecordDeviceDriver.cpp -TESTFILES += $(COMMON_DIR)/regressTest.dbd ../regressArray1.db ../regressHex.db -TESTFILES += ../regressLinkMS.db ../badCaLink.db ../regressCalcout.db +TESTFILES += $(COMMON_DIR)/regressTest.dbd ../regressArray1.db ../regressHex.db ../regressLinkMS.db +TESTFILES += ../badCaLink.db TESTS += regressTest TARGETS += $(COMMON_DIR)/simmTest.dbd @@ -189,8 +189,8 @@ recordTestHarness_SRCS_RTEMS += rtemsTestHarness.c PROD_SRCS_RTEMS += rtemsTestData.c -TESTPROD_vxWorks = recordTestHarness -TESTPROD_RTEMS = recordTestHarness +PROD_vxWorks = recordTestHarness +PROD_RTEMS = recordTestHarness TESTSPEC_vxWorks = recordTestHarness.munch; epicsRunRecordTests TESTSPEC_RTEMS = recordTestHarness.boot; epicsRunRecordTests diff --git a/modules/libcom/test/Makefile b/modules/libcom/test/Makefile index 0e50a1d74..809ae7338 100644 --- a/modules/libcom/test/Makefile +++ b/modules/libcom/test/Makefile @@ -286,8 +286,8 @@ testHarness_SRCS += epicsRunLibComTests.c libComTestHarness_SRCS += $(testHarness_SRCS) libComTestHarness_SRCS_RTEMS += rtemsTestHarness.c -TESTPROD_vxWorks = libComTestHarness -TESTPROD_RTEMS += libComTestHarness +PROD_vxWorks = libComTestHarness +PROD_RTEMS += libComTestHarness TESTSPEC_vxWorks = libComTestHarness.munch; epicsRunLibComTests TESTSPEC_RTEMS = libComTestHarness.boot; epicsRunLibComTests