diff --git a/configure/os/CONFIG.Common.ios-x86 b/configure/os/CONFIG.Common.ios-x86 index 0c786653d..a8175a34e 100644 --- a/configure/os/CONFIG.Common.ios-x86 +++ b/configure/os/CONFIG.Common.ios-x86 @@ -13,10 +13,5 @@ IOS_PLATFORM = iPhoneSimulator OP_SYS_CFLAGS += -mios-simulator-version-min=$(IOS_DEPLOYMENT_TARGET) OP_SYS_LDFLAGS += -mios-simulator-version-min=$(IOS_DEPLOYMENT_TARGET) -# -# Architecture-specific information -# -ARCH_CLASS = i386 - # Include definitions common to all iOS targets include $(CONFIG)/os/CONFIG.Common.iosCommon diff --git a/configure/os/CONFIG_SITE.Common.ios-arm b/configure/os/CONFIG_SITE.Common.ios-arm index 3e20f58f6..1262b4372 100644 --- a/configure/os/CONFIG_SITE.Common.ios-arm +++ b/configure/os/CONFIG_SITE.Common.ios-arm @@ -16,11 +16,12 @@ # # Xcode 4.5 dropped support for the ARMv6. # -# ARMv8 (arm64) devices: iPhone 5S -# ARMv7s devices: iPhone 5 and 5C, iPad Gen 4 -# ARMv7 devices: iPhone 3GS, 4 and 4S, iPod Touch Gen 3 to 5 -# iPad Gen 1 to 3, iPad Mini, Apple TV Gen 2 and 3 -# ARMv6 devices: iPhone 1 and 3G, iPod Touch Gen 1 and 2 +# arm64 devices: iPhone 5S, 6 and 6 Plus, iPad Air Gen 1 and 2, +# iPad Mini Gen 2 and 3 +# armv7s devices: iPhone 5 and 5C, iPad Gen 4 +# armv7 devices: iPhone 3GS, 4 and 4S, iPod Touch Gen 3 to 5 +# iPad Gen 1 to 3, iPad Mini, Apple TV Gen 2 and 3 +# armv6 devices: iPhone 1 and 3G, iPod Touch Gen 1 and 2 #ARCH_CLASS = arm64 #ARCH_CLASS = armv7s arm64 diff --git a/configure/os/CONFIG_SITE.Common.ios-x86 b/configure/os/CONFIG_SITE.Common.ios-x86 new file mode 100644 index 000000000..8c59187c7 --- /dev/null +++ b/configure/os/CONFIG_SITE.Common.ios-x86 @@ -0,0 +1,18 @@ +# CONFIG_SITE.Common.ios-x86 +# +# $Revision-Id$ +# +# Site-specific settings for ios-x86 target builds +#------------------------------------------------------- + +# Which x86 instruction set(s) to generate code for: +# The iPhone Simulator now supports both 32-bit and 64-bit +# instruction sets since the iPhone 6 uses a 64-bit CPU. +# +# Apple's compilers can build for multiple architectures, +# generating a Universal binary. This is larger and takes +# longer to compile, but runs efficiently on all devices. + +#ARCH_CLASS = i386 +ARCH_CLASS = i386 x86_64 +#ARCH_CLASS = x86_64 diff --git a/src/ioc/db/dbLink.c b/src/ioc/db/dbLink.c index 6d0ca3dee..ac9354a3b 100644 --- a/src/ioc/db/dbLink.c +++ b/src/ioc/db/dbLink.c @@ -76,6 +76,25 @@ static void inherit_severity(const struct pv_link *ppv_link, dbCommon *pdest, } } +/* How to identify links in error messages */ +static const char * link_field_name(const struct link *plink) +{ + const struct dbCommon *precord = plink->value.pv_link.precord; + const dbRecordType *pdbRecordType = precord->rdes; + dbFldDes * const *papFldDes = pdbRecordType->papFldDes; + const short *link_ind = pdbRecordType->link_ind; + int i; + + for (i = 0; i < pdbRecordType->no_links; i++) { + const dbFldDes *pdbFldDes = papFldDes[link_ind[i]]; + + if (plink == (DBLINK *)((char *)precord + pdbFldDes->offset)) + return pdbFldDes->name; + } + return "????"; +} + + /***************************** Constant Links *****************************/ static long dbConstLoadLink(struct link *plink, short dbrType, void *pbuffer) @@ -412,9 +431,13 @@ void dbInitLink(struct dbCommon *precord, struct link *plink, short dbfType) if (pperiod && strstr(pperiod, "PROC")) { plink->value.pv_link.pvlMask |= pvlOptFWD; - } else { - errlogPrintf("%s.FLNK is a Channel Access Link " - " but does not link to a PROC field\n", precord->name); + } + else { + errlogPrintf("Forward-link uses Channel Access " + "without pointing to PROC field\n" + " %s.%s => %s\n", + precord->name, link_field_name(plink), + plink->value.pv_link.pvname); } } }