]> jspc29.x-matter.uni-frankfurt.de Git - daqdata.git/commitdiff
new records added.
authorhadaq <hadaq>
Mon, 5 May 2008 15:01:19 +0000 (15:01 +0000)
committerhadaq <hadaq>
Mon, 5 May 2008 15:01:19 +0000 (15:01 +0000)
Sergey Yurevich. 05.05.2008

13 files changed:
ebctrl/ioc/bin/linux-x86/ebctrl
ebctrl/ioc/db/evtbuild.db
ebctrl/ioc/dbd/ebctrl.dbd
ebctrl/ioc/ebctrlApp/Db/Makefile
ebctrl/ioc/ebctrlApp/Db/evtbuild.db
ebctrl/ioc/ebctrlApp/Db/netmem.db [new file with mode: 0644]
ebctrl/ioc/ebctrlApp/src/Makefile
ebctrl/ioc/ebctrlApp/src/evtbuild.c
ebctrl/ioc/ebctrlApp/src/netmem.c [new file with mode: 0644]
ebctrl/ioc/ebctrlApp/src/netmem.dbd [new file with mode: 0644]
ebctrl/ioc/ebctrlApp/src/writerunid.c
ebctrl/ioc/iocBoot/iocebctrl/st.cmd
ebctrl/ioc/lib/linux-x86/libxxxSupport.a

index 91069f33b686046232fd6a5daffefa8a3154ed4b..7c5444a4bc726f1f6d7ee020dc0a90bdad96aed6 100755 (executable)
Binary files a/ebctrl/ioc/bin/linux-x86/ebctrl and b/ebctrl/ioc/bin/linux-x86/ebctrl differ
index b39319d2fb23214055bf23a8e7b6c2e38cc04654..f36c9272b5c68f8162eb4b9ce45735423f8318cd 100644 (file)
@@ -23,6 +23,8 @@ record(genSub,"HAD:$(eb)") {
     field(FTF,"LONG")\r
     field(FTG,"LONG")\r
     field(FTH,"LONG")\r
+    field(FTI,"LONG")\r
+    field(FTJ,"LONG")\r
     field(FTVA,"LONG")\r
     field(FTVB,"LONG")\r
     field(FTVC,"LONG")\r
@@ -31,6 +33,8 @@ record(genSub,"HAD:$(eb)") {
     field(FTVF,"LONG")\r
     field(FTVG,"LONG")\r
     field(FTVH,"LONG")\r
+    field(FTVI,"LONG")\r
+    field(FTVJ,"LONG")\r
     field(NOA,"50")\r
     field(NOB,"50")\r
     field(NOC,"50")\r
@@ -39,6 +43,8 @@ record(genSub,"HAD:$(eb)") {
     field(NOF,"50")\r
     field(NOG,"50")\r
     field(NOH,"50")\r
+    field(NOI,"50")\r
+    field(NOJ,"50")\r
     field(NOVA,"1")\r
     field(NOVB,"1")\r
     field(NOVC,"1")\r
@@ -47,6 +53,8 @@ record(genSub,"HAD:$(eb)") {
     field(NOVF,"1")\r
     field(NOVG,"100")\r
     field(NOVH,"1")\r
+    field(NOVI,"1")\r
+    field(NOVJ,"1")\r
     field(OUTA,"HAD:$(eb):nrOfMsgs PP NMS")\r
     field(OUTB,"HAD:$(eb):byteWrit PP NMS")    \r
     field(OUTC,"HAD:$(eb):evtsComp PP NMS")\r
@@ -55,6 +63,8 @@ record(genSub,"HAD:$(eb)") {
     field(OUTF,"HAD:$(eb):evtsTagErr PP NMS")  \r
     field(OUTG,"HAD:$(eb):evtbuildBuff PP NMS")\r
     field(OUTH,"HAD:$(eb):status PP NMS")\r
+    field(OUTI,"HAD:$(eb):evtsCompletePS PP NMS")\r
+    field(OUTJ,"HAD:$(eb):bytesWrittenPS PP NMS")      \r
 }\r
 record(longin,"HAD:$(eb):nrOfMsgs")\r
 {\r
@@ -98,6 +108,18 @@ record(longin,"HAD:$(eb):status")
     field(SCAN,"Passive")\r
     field(INP,"Constant")\r
 }\r
+record(longin,"HAD:$(eb):evtsCompletePS")\r
+{\r
+    field(DTYP,"Soft Channel")\r
+    field(SCAN,"Passive")\r
+    field(INP,"Constant")\r
+}\r
+record(longin,"HAD:$(eb):bytesWrittenPS")\r
+{\r
+    field(DTYP,"Soft Channel")\r
+    field(SCAN,"Passive")\r
+    field(INP,"Constant")\r
+}\r
 record(waveform,"HAD:$(eb):evtbuildBuff")\r
 {\r
     field(DTYP,"Soft Channel")\r
index ebabb252fd899c2bca44f007353f4f9ec3c3bb84..c0fc8da6f43518e740f7c169f7da334750ea318d 100644 (file)
@@ -13309,6 +13309,8 @@ device(xxx,CONSTANT,devXxxSoft,"SoftChannel")
 registrar(asSub)
 function(evtbuild_init)
 function(evtbuild_proc)
+function(netmem_init)
+function(netmem_proc)
 function(genRunId_init)
 function(genRunId_proc)
 function(writeRunId_init)
@@ -13316,5 +13318,6 @@ function(writeRunId_proc)
 variable(asCaDebug,int)
 variable(dbRecordsOnceOnly,int)
 variable(evtbuildDebug,int)
+variable(netmemDebug,int)
 variable(genrunidDebug,int)
 variable(writerunidDebug,int)
index e1ceb993656bb24791cca3682ace23a10ee406e2..4bd02a7306db6cff0b66a07d79cf7cc17717da96 100644 (file)
@@ -11,6 +11,7 @@ include $(TOP)/configure/CONFIG
 # Create and install (or just install)
 # databases, templates, substitutions like this
 DB += evtbuild.db
+DB += netmem.db
 DB += user.substitutions
 DB += userHost.substitutions
 
index b39319d2fb23214055bf23a8e7b6c2e38cc04654..f36c9272b5c68f8162eb4b9ce45735423f8318cd 100755 (executable)
@@ -23,6 +23,8 @@ record(genSub,"HAD:$(eb)") {
     field(FTF,"LONG")\r
     field(FTG,"LONG")\r
     field(FTH,"LONG")\r
+    field(FTI,"LONG")\r
+    field(FTJ,"LONG")\r
     field(FTVA,"LONG")\r
     field(FTVB,"LONG")\r
     field(FTVC,"LONG")\r
@@ -31,6 +33,8 @@ record(genSub,"HAD:$(eb)") {
     field(FTVF,"LONG")\r
     field(FTVG,"LONG")\r
     field(FTVH,"LONG")\r
+    field(FTVI,"LONG")\r
+    field(FTVJ,"LONG")\r
     field(NOA,"50")\r
     field(NOB,"50")\r
     field(NOC,"50")\r
@@ -39,6 +43,8 @@ record(genSub,"HAD:$(eb)") {
     field(NOF,"50")\r
     field(NOG,"50")\r
     field(NOH,"50")\r
+    field(NOI,"50")\r
+    field(NOJ,"50")\r
     field(NOVA,"1")\r
     field(NOVB,"1")\r
     field(NOVC,"1")\r
@@ -47,6 +53,8 @@ record(genSub,"HAD:$(eb)") {
     field(NOVF,"1")\r
     field(NOVG,"100")\r
     field(NOVH,"1")\r
+    field(NOVI,"1")\r
+    field(NOVJ,"1")\r
     field(OUTA,"HAD:$(eb):nrOfMsgs PP NMS")\r
     field(OUTB,"HAD:$(eb):byteWrit PP NMS")    \r
     field(OUTC,"HAD:$(eb):evtsComp PP NMS")\r
@@ -55,6 +63,8 @@ record(genSub,"HAD:$(eb)") {
     field(OUTF,"HAD:$(eb):evtsTagErr PP NMS")  \r
     field(OUTG,"HAD:$(eb):evtbuildBuff PP NMS")\r
     field(OUTH,"HAD:$(eb):status PP NMS")\r
+    field(OUTI,"HAD:$(eb):evtsCompletePS PP NMS")\r
+    field(OUTJ,"HAD:$(eb):bytesWrittenPS PP NMS")      \r
 }\r
 record(longin,"HAD:$(eb):nrOfMsgs")\r
 {\r
@@ -98,6 +108,18 @@ record(longin,"HAD:$(eb):status")
     field(SCAN,"Passive")\r
     field(INP,"Constant")\r
 }\r
+record(longin,"HAD:$(eb):evtsCompletePS")\r
+{\r
+    field(DTYP,"Soft Channel")\r
+    field(SCAN,"Passive")\r
+    field(INP,"Constant")\r
+}\r
+record(longin,"HAD:$(eb):bytesWrittenPS")\r
+{\r
+    field(DTYP,"Soft Channel")\r
+    field(SCAN,"Passive")\r
+    field(INP,"Constant")\r
+}\r
 record(waveform,"HAD:$(eb):evtbuildBuff")\r
 {\r
     field(DTYP,"Soft Channel")\r
diff --git a/ebctrl/ioc/ebctrlApp/Db/netmem.db b/ebctrl/ioc/ebctrlApp/Db/netmem.db
new file mode 100644 (file)
index 0000000..6fd5014
--- /dev/null
@@ -0,0 +1,121 @@
+record(genSub,"HAD:$(eb):netmem") {
+    field(DESC,"General Subroutine Record")
+    field(SCAN,"1 second")
+    field(PINI,"NO")
+    field(PHAS,"0")
+    field(EVNT,"0")
+    field(DISV,"1")
+    field(LFLG,"IGNORE")
+    field(EFLG,"ALWAYS")
+    field(SDIS,"0.0000000000000000e+00")
+    field(DISS,"NO_ALARM")
+    field(PRIO,"LOW")
+    field(FLNK,"0.000000000000000e+00")
+    field(SUBL,"0.0000000000000000e+00")
+    field(BRSV,"NO_ALARM")
+    field(INAM,"netmem_init")
+    field(SNAM,"netmem_proc")
+    field(FTA,"LONG")
+    field(FTB,"LONG")
+    field(FTC,"LONG")
+    field(FTD,"LONG")
+    field(FTE,"LONG")
+    field(FTF,"LONG")
+    field(FTG,"LONG")
+    field(FTH,"LONG")
+    field(FTVA,"LONG")
+    field(FTVB,"LONG")
+    field(FTVC,"LONG")
+    field(FTVD,"LONG")
+    field(FTVE,"LONG")
+    field(FTVF,"LONG")
+    field(FTVG,"LONG")
+    field(FTVH,"LONG") 
+    field(NOA,"50")
+    field(NOB,"50")
+    field(NOC,"50")
+    field(NOD,"50")
+    field(NOE,"50")
+    field(NOF,"50")
+    field(NOG,"50")
+    field(NOH,"50")
+    field(NOVA,"1")
+    field(NOVB,"100")  
+    field(NOVC,"100")
+    field(NOVD,"100")
+    field(NOVE,"100")
+    field(NOVF,"100")
+    field(NOVG,"100")
+    field(NOVH,"100")
+    field(OUTA,"HAD:$(eb):netmem:nrOfMsgs PP NMS")             
+    field(OUTB,"HAD:$(eb):netmem:buff PP NMS")
+    field(OUTC,"HAD:$(eb):netmem:pktsReceived PP NMS")
+    field(OUTD,"HAD:$(eb):netmem:msgsReceived PP NMS")
+    field(OUTE,"HAD:$(eb):netmem:pktsDiscarded PP NMS")
+    field(OUTF,"HAD:$(eb):netmem:msgsDiscarded PP NMS")
+    field(OUTG,"HAD:$(eb):netmem:bytesReceived PP NMS")
+    field(OUTH,"HAD:$(eb):netmem:bytesReceivedPS PP NMS")
+}
+record(longin,"HAD:$(eb):netmem:nrOfMsgs")
+{
+    field(DTYP,"Soft Channel")
+    field(SCAN,"Passive")
+    field(INP,"Constant")
+}
+record(waveform,"HAD:$(eb):netmem:buff")
+{
+    field(DTYP,"Soft Channel")
+    field(SCAN,"Passive")
+    field(INP,"Constant")
+    field(NELM,"100")
+    field(FTVL,"LONG")
+}
+record(waveform,"HAD:$(eb):netmem:pktsReceived")
+{
+    field(DTYP,"Soft Channel")
+    field(SCAN,"Passive")
+    field(INP,"Constant")
+    field(NELM,"100")
+    field(FTVL,"LONG")
+}
+record(waveform,"HAD:$(eb):netmem:msgsReceived")
+{
+    field(DTYP,"Soft Channel")
+    field(SCAN,"Passive")
+    field(INP,"Constant")
+    field(NELM,"100")
+    field(FTVL,"LONG")
+}
+record(waveform,"HAD:$(eb):netmem:pktsDiscarded")
+{
+    field(DTYP,"Soft Channel")
+    field(SCAN,"Passive")
+    field(INP,"Constant")
+    field(NELM,"100")
+    field(FTVL,"LONG")
+}
+record(waveform,"HAD:$(eb):netmem:msgsDiscarded")
+{
+    field(DTYP,"Soft Channel")
+    field(SCAN,"Passive")
+    field(INP,"Constant")
+    field(NELM,"100")
+    field(FTVL,"LONG")
+}
+record(waveform,"HAD:$(eb):netmem:bytesReceived")
+{
+    field(DTYP,"Soft Channel")
+    field(SCAN,"Passive")
+    field(INP,"Constant")
+    field(NELM,"100")
+    field(FTVL,"LONG")
+}
+record(waveform,"HAD:$(eb):netmem:bytesReceivedPS")
+{
+    field(DTYP,"Soft Channel")
+    field(SCAN,"Passive")
+    field(INP,"Constant")
+    field(NELM,"100")
+    field(FTVL,"LONG")
+}
+
index 46985d56653c6ed6c7e2600363897a94d06d6a2c..5f0c1189f7865e70e4b2dad708ad51c56a0ce576 100644 (file)
@@ -38,6 +38,7 @@ ebctrl_DBD += base.dbd
 ebctrl_DBD += xxxSupport.dbd
 ebctrl_DBD += genSubRecord.dbd
 ebctrl_DBD += evtbuild.dbd
+ebctrl_DBD += netmem.dbd
 ebctrl_DBD += genrunid.dbd
 ebctrl_DBD += writerunid.dbd
 
@@ -49,6 +50,7 @@ ebctrl_SRCS_vxWorks += -nil-
 # Add locally compiled object code
 ebctrl_SRCS += genSubRecord.c
 ebctrl_SRCS += evtbuild.c
+ebctrl_SRCS += netmem.c
 ebctrl_SRCS += genrunid.c
 ebctrl_SRCS += writerunid.c
 
index b0a9baa54b815046335937e86e2d4ea9e292e8b1..8a2385c1d3ae0ce5c6e68e337156c443c97c70b8 100644 (file)
@@ -23,14 +23,16 @@ long evtbuild_proc( struct genSubRecord *pgsub )
   unsigned long *temp;
   int i;
 
-  out[0] = (unsigned long *)pgsub->vala;
-  out[1] = (unsigned long *)pgsub->valb;
-  out[2] = (unsigned long *)pgsub->valc;
-  out[3] = (unsigned long *)pgsub->vald;
-  out[4] = (unsigned long *)pgsub->vale;
-  out[5] = (unsigned long *)pgsub->valf;
-  out[6] = (unsigned long *)pgsub->valg;
-  out[7] = (unsigned long *)pgsub->valh; 
+  out[0] = (unsigned long *)pgsub->vala;  /* nrOfMsgs */
+  out[1] = (unsigned long *)pgsub->valb;  /* bytesWritten */
+  out[2] = (unsigned long *)pgsub->valc;  /* evtsComplete */
+  out[3] = (unsigned long *)pgsub->vald;  /* evtsDiscarded */
+  out[4] = (unsigned long *)pgsub->vale;  /* evtsDataError */
+  out[5] = (unsigned long *)pgsub->valf;  /* evtsTagError */
+  out[6] = (unsigned long *)pgsub->valg;  /* evtbuildBuff */
+  out[7] = (unsigned long *)pgsub->valh;  /* status */
+  out[8] = (unsigned long *)pgsub->vali;  /* evtsCompletePS */
+  out[8] = (unsigned long *)pgsub->valj;  /* bytesWrittenPS */
 
   for( i=0; i<7; i++ )
     *out[i] = 0;
@@ -73,16 +75,24 @@ long evtbuild_proc( struct genSubRecord *pgsub )
 
     if( Worker_getStatistic( "daq_evtbuild", buf, out[6] ) == -1) { 
       if(evtbuildDebug)
-       printf("Worker_getStatistic failed for %s!\n", buf);
+       printf("evtbuild.c: Worker_getStatistic failed for %s!\n", buf);
     }
     else {
       if(evtbuildDebug) 
-       printf("%s = %lu\n", buf, *out[6]);
+       printf("evtbuild.c, %s = %lu\n", buf, *out[6]);
 
       out[6]++;
     }
   }
 
+  if( Worker_getStatistic( "daq_evtbuild", "evtsCompletePS", out[8] ) == -1)
+    if(evtbuildDebug)
+      printf("Worker_getStatistic failed for evtsCompletePS!\n");
+  
+  if( Worker_getStatistic( "daq_evtbuild", "bytesWrittenPS", out[9] ) == -1)
+    if(evtbuildDebug)
+      printf("Worker_getStatistic failed for bytesWrittenPS!\n");
+
   return(0);
 }
 
diff --git a/ebctrl/ioc/ebctrlApp/src/netmem.c b/ebctrl/ioc/ebctrlApp/src/netmem.c
new file mode 100644 (file)
index 0000000..74f272a
--- /dev/null
@@ -0,0 +1,167 @@
+#include <stdio.h>
+#include <stdlib.h>
+
+#include <dbDefs.h>
+#include <registryFunction.h>
+#include <subRecord.h>
+#include <epicsExport.h>
+#include <genSubRecord.h>
+
+#include "worker.h"
+
+int netmemDebug;
+
+long netmem_init( struct genSubRecord *pgsub )
+{
+  return(0);
+}
+
+long netmem_proc( struct genSubRecord *pgsub )
+{
+
+  unsigned long *out[2];
+  int i;
+
+  out[0] = (unsigned long *)pgsub->vala;  /* number of sources */
+  out[1] = (unsigned long *)pgsub->valb;  /* daq_netmem buff fill levels */
+  out[2] = (unsigned long *)pgsub->valc;  /* pktsReceived */
+  out[3] = (unsigned long *)pgsub->vald;  /* msgsReceived */
+  out[4] = (unsigned long *)pgsub->vale;  /* pktsDiscarded */
+  out[5] = (unsigned long *)pgsub->valf;  /* msgsDiscarded */
+  out[6] = (unsigned long *)pgsub->valg;  /* bytesReceived */
+  out[7] = (unsigned long *)pgsub->valh;  /* bytesReceivedPS */
+
+  for( i=0; i<2; i++ )
+    *out[1] = 0;
+
+  if( Worker_getStatistic( "daq_evtbuild", "nrOfMsgs", out[0] ) == -1) {
+    if(netmemDebug)
+      printf("netmem.c: Worker_getStatistic failed for nrOfMsgs!\n");
+  }
+  else {
+    if(netmemDebug)
+      printf("netmem.c: Worker_getStatistic::nrOfMsgs = %lu\n", (*out[0]));
+  }
+
+  char buf[100];
+  for( i=0; i<(*out[0]); i++ ) {
+
+    sprintf( buf, "netmemBuff%d", i );
+
+    if( Worker_getStatistic( "daq_netmem", buf, out[1] ) == -1) {
+      if(netmemDebug)
+        printf("netmem.c: Worker_getStatistic failed for %s!\n", buf);
+    }
+    else {
+      if(netmemDebug)
+        printf("netmem.c: %s = %lu\n", buf, *out[1]);
+
+      out[1]++;
+    }
+  }
+
+  for( i=0; i<(*out[0]); i++ ) {
+
+    sprintf( buf, "pktsReceived%d", i );
+
+    if( Worker_getStatistic( "daq_netmem", buf, out[2] ) == -1) {
+      if(netmemDebug)
+        printf("netmem.c: Worker_getStatistic failed for %s!\n", buf);
+    }
+    else {
+      if(netmemDebug)
+        printf("netmem.c: %s = %lu\n", buf, *out[2]);
+
+      out[2]++;
+    }
+  }
+
+  for( i=0; i<(*out[0]); i++ ) {
+
+    sprintf( buf, "msgsReceived%d", i );
+
+    if( Worker_getStatistic( "daq_netmem", buf, out[3] ) == -1) {
+      if(netmemDebug)
+        printf("netmem.c: Worker_getStatistic failed for %s!\n", buf);
+    }
+    else {
+      if(netmemDebug)
+        printf("netmem.c: %s = %lu\n", buf, *out[3]);
+
+      out[3]++;
+    }
+  }
+
+  for( i=0; i<(*out[0]); i++ ) {
+
+    sprintf( buf, "pktsDiscarded%d", i );
+
+    if( Worker_getStatistic( "daq_netmem", buf, out[4] ) == -1) {
+      if(netmemDebug)
+        printf("netmem.c: Worker_getStatistic failed for %s!\n", buf);
+    }
+    else {
+      if(netmemDebug)
+        printf("netmem.c: %s = %lu\n", buf, *out[4]);
+
+      out[4]++;
+    }
+  }
+
+  for( i=0; i<(*out[0]); i++ ) {
+
+    sprintf( buf, "msgsDiscarded%d", i );
+
+    if( Worker_getStatistic( "daq_netmem", buf, out[5] ) == -1) {
+      if(netmemDebug)
+        printf("netmem.c: Worker_getStatistic failed for %s!\n", buf);
+    }
+    else {
+      if(netmemDebug)
+        printf("netmem.c: %s = %lu\n", buf, *out[5]);
+
+      out[5]++;
+    }
+  }
+
+  for( i=0; i<(*out[0]); i++ ) {
+
+    sprintf( buf, "bytesReceived%d", i );
+
+    if( Worker_getStatistic( "daq_netmem", buf, out[6] ) == -1) {
+      if(netmemDebug)
+        printf("netmem.c: Worker_getStatistic failed for %s!\n", buf);
+    }
+    else {
+      if(netmemDebug)
+        printf("netmem.c: %s = %lu\n", buf, *out[6]);
+
+      out[6]++;
+    }
+  }
+
+  for( i=0; i<(*out[0]); i++ ) {
+
+    sprintf( buf, "bytesReceivedPS%d", i );
+
+    if( Worker_getStatistic( "daq_netmem", buf, out[7] ) == -1) {
+      if(netmemDebug)
+        printf("netmem.c: Worker_getStatistic failed for %s!\n", buf);
+    }
+    else {
+      if(netmemDebug)
+        printf("netmem.c: %s = %lu\n", buf, *out[7]);
+
+      out[7]++;
+    }
+  }
+
+
+  return(0);
+}
+
+/* Register these symbols for use by IOC code: */
+
+epicsExportAddress(int, netmemDebug);
+epicsRegisterFunction(netmem_init);
+epicsRegisterFunction(netmem_proc);
diff --git a/ebctrl/ioc/ebctrlApp/src/netmem.dbd b/ebctrl/ioc/ebctrlApp/src/netmem.dbd
new file mode 100644 (file)
index 0000000..34a6685
--- /dev/null
@@ -0,0 +1,3 @@
+variable(netmemDebug)
+function(netmem_init)
+function(netmem_proc)
\ No newline at end of file
index 6e4cf4fa557d835adc3e6f5bef33b7041c9a2d69..836e3511dfbe0057ee6a2dbef7c9bc87e6137207 100644 (file)
@@ -42,6 +42,7 @@ long writeRunId_proc( struct subRecord *psub )
       else
        printf("<D> writerunid.c: check: Worker_getStatistic runId = %lu\n", runId_check);
     }
+
   return(0);
 }
 
index 25e36ea30d9b211868470c057e5ac125eaeb430b..b6d6435ca22f53954066877496028dc58472f82e 100644 (file)
@@ -14,9 +14,11 @@ ebctrl_registerRecordDeviceDriver(pdbbase)
 ## Load record instances
 dbLoadTemplate "db/userHost.substitutions"
 dbLoadRecords("db/evtbuild.db","eb=eb01")
+dbLoadRecords("db/netmem.db","eb=eb01")
 
 ## Set this to see messages from mySub
 var evtbuildDebug 0
+var netmemDebug 1
 var genrunidDebug 1
 var writerunidDebug 1
 
index 5edb3a5edbe2bbec26ef33ce1c192235747babcb..bae92fb97722c70685c2ab1b9d1c636067350b52 100644 (file)
Binary files a/ebctrl/ioc/lib/linux-x86/libxxxSupport.a and b/ebctrl/ioc/lib/linux-x86/libxxxSupport.a differ