[Vm-dev] [commit] r2530 - Add 1007,
1008 & 1009 attribute info to version info on linux,
& 1009 on Windows.
commits at squeakvm.org
commits at squeakvm.org
Fri Feb 3 23:02:38 UTC 2012
Author: eliot
Date: 2012-02-03 15:02:38 -0800 (Fri, 03 Feb 2012)
New Revision: 2530
Modified:
branches/Cog/platforms/Cross/vm/sqSCCSVersion.h
branches/Cog/platforms/Mac OS/vm/sqMacMain.c
branches/Cog/platforms/Mac OS/vm/sqMacUnixCommandLineInterface.c
branches/Cog/platforms/unix/vm/sqUnixMain.c
branches/Cog/platforms/win32/vm/sqWin32Intel.c
branches/Cog/platforms/win32/vm/sqWin32PluginSupport.c
Log:
Add 1007,1008 & 1009 attribute info to version info on linux, & 1009 on Windows.
Add -version option to Mac VM (with similar info to linux).
Fix compilation warning in sqWin32PluginSupport.c
Property changes on: branches/Cog/platforms/Cross/vm/sqSCCSVersion.h
___________________________________________________________________
Modified: checkindate
- Thu Feb 2 14:44:43 PST 2012
+ Fri Feb 3 15:01:19 PST 2012
Modified: branches/Cog/platforms/Mac OS/vm/sqMacMain.c
===================================================================
--- branches/Cog/platforms/Mac OS/vm/sqMacMain.c 2012-02-02 22:45:39 UTC (rev 2529)
+++ branches/Cog/platforms/Mac OS/vm/sqMacMain.c 2012-02-03 23:02:38 UTC (rev 2530)
@@ -152,6 +152,7 @@
extern void dumpPrimTraceLog(void);
extern BOOL NSApplicationLoad(void);
static void fetchPrefrences(void);
+char *getVersionInfo(int verbose);
/*** errors ***/
@@ -170,6 +171,7 @@
static sqInt printingStack = false;
printf("\n%s%s%s\n\n", msg, date ? " " : "", date ? date : "");
+ printf("%s\n\n", getVersionInfo(1));
#if !defined(NOEXECINFO)
printf("C stack backtrace:\n");
@@ -262,13 +264,12 @@
}
static void
-sigusr1(int sig, siginfo_t *info, ucontext_t *uap)
+sigusr1(int sig, siginfo_t *info, void *uap)
{
int saved_errno = errno;
time_t now = time(NULL);
char ctimebuf[32];
char crashdump[IMAGE_NAME_SIZE+1];
- unsigned long pc;
if (!ioOSThreadsEqual(ioCurrentOSThread(),getVMOSThread())) {
pthread_kill(getVMOSThread(),sig);
@@ -287,7 +288,7 @@
}
static void
-sigsegv(int sig, siginfo_t *info, ucontext_t *uap)
+sigsegv(int sig, siginfo_t *info, void *uap)
{
time_t now = time(NULL);
char ctimebuf[32];
@@ -907,7 +908,45 @@
}
+char *
+getVersionInfo(int verbose)
+{
+#if STACKVM
+ extern char *__interpBuildInfo;
+# define INTERP_BUILD __interpBuildInfo
+# if COGVM
+ extern char *__cogitBuildInfo;
+# endif
+#else
+# define INTERP_BUILD interpreterVersion
+#endif
+ extern char vmBuildString[];
+ CFStringRef versionString;
+ char *info= (char *)malloc(4096);
+ info[0]= '\0';
+
+ if (verbose)
+ sprintf(info+strlen(info), IMAGE_DIALECT_NAME " VM version: ");
+ sprintf(info+strlen(info), "%s ", VM_VERSION);
+ if ((versionString = CFBundleGetValueForInfoDictionaryKey(
+ CFBundleGetMainBundle(),
+ CFSTR("CFBundleVersion"))))
+ CFStringGetCString(versionString, info+strlen(info), 4095-strlen(info), gCurrentVMEncoding);
+ sprintf(info+strlen(info), " %s\n", vmBuildString);
+ if (verbose)
+ sprintf(info+strlen(info), "Built from: ");
+ sprintf(info+strlen(info), "%s\n", INTERP_BUILD);
#if COGVM
+ if (verbose)
+ sprintf(info+strlen(info), "With: ");
+ sprintf(info+strlen(info), "%s\n", GetAttributeString(1008)); /* __cogitBuildInfo */
+#endif
+ if (verbose)
+ sprintf(info+strlen(info), "Revision: ");
+ sprintf(info+strlen(info), "%s\n", sourceVersionString());
+ return info;
+}
+#if COGVM
/*
* Support code for Cog.
* a) Answer whether the C frame pointer is in use, for capture of the C stack
Modified: branches/Cog/platforms/Mac OS/vm/sqMacUnixCommandLineInterface.c
===================================================================
--- branches/Cog/platforms/Mac OS/vm/sqMacUnixCommandLineInterface.c 2012-02-02 22:45:39 UTC (rev 2529)
+++ branches/Cog/platforms/Mac OS/vm/sqMacUnixCommandLineInterface.c 2012-02-03 23:02:38 UTC (rev 2530)
@@ -152,6 +152,11 @@
if (!strcmp(argv[0], "-help")) {
usage();
return 1; }
+ else if (!strcmp(argv[0], "-version")) {
+ extern char *getVersionInfo(int verbose);
+ printf("%s\n", getVersionInfo(0));
+ exit(0);
+ }
else if (!strncmp(argv[0], "-psn_", 5)) { return 1; }
else if (!strcmp(argv[0], "-headless")) { gSqueakHeadless = true; return 1; }
else if (!strcmp(argv[0], "-headfull")) { gSqueakHeadless = false; return 1; }
@@ -280,6 +285,7 @@
#endif
printf(" -pathenc <enc> set encoding for pathnames (default: macintosh)\n");
printf(" -headless run in headless (no window) mode (default: false)\n");
+ printf(" -version print version information, then exit\n");
}
static void printUsageNotes(void)
Modified: branches/Cog/platforms/unix/vm/sqUnixMain.c
===================================================================
--- branches/Cog/platforms/unix/vm/sqUnixMain.c 2012-02-02 22:45:39 UTC (rev 2529)
+++ branches/Cog/platforms/unix/vm/sqUnixMain.c 2012-02-03 23:02:38 UTC (rev 2530)
@@ -137,6 +137,7 @@
struct SqSound *snd= 0;
extern void dumpPrimTraceLog(void);
+char *getVersionInfo(int verbose);
/*
@@ -779,6 +780,7 @@
static sqInt printingStack = false;
printf("\n%s%s%s\n\n", msg, date ? " " : "", date ? date : "");
+ printf("%s\n\n", getVersionInfo(1));
#if !defined(NOEXECINFO)
printf("C stack backtrace:\n");
@@ -860,7 +862,7 @@
}
static void
-sigusr1(int sig, siginfo_t *info, ucontext_t *uap)
+sigusr1(int sig, siginfo_t *info, void *uap)
{
int saved_errno = errno;
time_t now = time(NULL);
@@ -885,7 +887,7 @@
}
static void
-sigsegv(int sig, siginfo_t *info, ucontext_t *uap)
+sigsegv(int sig, siginfo_t *info, void *uap)
{
time_t now = time(NULL);
char ctimebuf[32];
@@ -1405,7 +1407,7 @@
# if !STACKVM
printf(" -jit enable the dynamic compiler (if available)\n");
# endif
- printf(" -notimer disable interval timer for low-res clock \n");
+ printf(" -notimer disable interval timer for low-res clock\n");
printf(" -display <dpy> quivalent to '-vm-display-X11 -display <dpy>'\n");
printf(" -headless quivalent to '-vm-display-X11 -headless'\n");
printf(" -nodisplay quivalent to '-vm-display-null'\n");
@@ -1473,6 +1475,15 @@
char *getVersionInfo(int verbose)
{
+#if STACKVM
+ extern char *__interpBuildInfo;
+# define INTERP_BUILD __interpBuildInfo
+# if COGVM
+ extern char *__cogitBuildInfo;
+# endif
+#else
+# define INTERP_BUILD interpreterVersion
+#endif
extern int vm_serial;
extern char *vm_date, *cc_version, *ux_version;
char *info= (char *)malloc(4096);
@@ -1487,8 +1498,16 @@
sprintf(info+strlen(info), " %s %s\n", vm_date, cc_version);
if (verbose)
sprintf(info+strlen(info), "Built from: ");
- sprintf(info+strlen(info), "%s\n", interpreterVersion);
+ sprintf(info+strlen(info), "%s\n", INTERP_BUILD);
+#if COGVM
if (verbose)
+ sprintf(info+strlen(info), "With: ");
+ sprintf(info+strlen(info), "%s\n", GetAttributeString(1008)); /* __cogitBuildInfo */
+#endif
+ if (verbose)
+ sprintf(info+strlen(info), "Revision: ");
+ sprintf(info+strlen(info), "%s\n", sourceVersionString());
+ if (verbose)
sprintf(info+strlen(info), "Build host: ");
sprintf(info+strlen(info), "%s\n", ux_version);
sprintf(info+strlen(info), "plugin path: %s [default: %s]\n", squeakPlugins, vmPath);
Modified: branches/Cog/platforms/win32/vm/sqWin32Intel.c
===================================================================
--- branches/Cog/platforms/win32/vm/sqWin32Intel.c 2012-02-02 22:45:39 UTC (rev 2529)
+++ branches/Cog/platforms/win32/vm/sqWin32Intel.c 2012-02-03 23:02:38 UTC (rev 2530)
@@ -20,6 +20,7 @@
#include <ole2.h>
#include "sq.h"
#include "sqWin32Backtrace.h"
+#include "sqSCCSVersion.h"
#if COGVM
# include "cogmethod.h"
# if COGMTVM
@@ -854,6 +855,7 @@
fprintf(f,"Cogit Build: %s\n", __cogitBuildInfo);
# endif
#endif
+ fprintf(f,"Source Version: %s\n", sourceVersionString());
fflush(f);
fprintf(f,"\n"
"Current byte code: %d\n"
Modified: branches/Cog/platforms/win32/vm/sqWin32PluginSupport.c
===================================================================
--- branches/Cog/platforms/win32/vm/sqWin32PluginSupport.c 2012-02-02 22:45:39 UTC (rev 2529)
+++ branches/Cog/platforms/win32/vm/sqWin32PluginSupport.c 2012-02-03 23:02:38 UTC (rev 2530)
@@ -250,7 +250,7 @@
#endif
fileHandle = instantiateClassindexableSize(classByteArray(), fileRecordSize());
fBrowserMode = false;
- sqFileOpen(fileValueOf(fileHandle),(int)req->localName, strlen(req->localName), 0);
+ sqFileOpen(fileValueOf(fileHandle),req->localName,strlen(req->localName),0);
fBrowserMode = true;
if(failed()) return 0;
}
More information about the Vm-dev
mailing list