projects
/
sbcl.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
0.9.11.5
[sbcl.git]
/
src
/
runtime
/
sunos-os.c
diff --git
a/src/runtime/sunos-os.c
b/src/runtime/sunos-os.c
index
3bd9f45
..
48623d3
100644
(file)
--- a/
src/runtime/sunos-os.c
+++ b/
src/runtime/sunos-os.c
@@
-63,7
+63,7
@@
os_init(char *argv[], char *envp[])
uname(&name);
major_version = atoi(name.release);
if (major_version != 5) {
uname(&name);
major_version = atoi(name.release);
if (major_version != 5) {
- lose("sunos major version=%d (which isn't 5!)", major_version);
+ lose("sunos major version=%d (which isn't 5!)\n", major_version);
}
minor_version = atoi(name.release+2);
if ((minor_version == 8) ||
}
minor_version = atoi(name.release+2);
if ((minor_version == 8) ||
@@
-72,12
+72,12
@@
os_init(char *argv[], char *envp[])
KLUDGE_MAYBE_MAP_ANON = 0x100;
} else if (minor_version > 10) {
FSHOW((stderr, "os_init: Solaris version greater than 9?\nUnknown MAP_ANON behaviour.\n"));
KLUDGE_MAYBE_MAP_ANON = 0x100;
} else if (minor_version > 10) {
FSHOW((stderr, "os_init: Solaris version greater than 9?\nUnknown MAP_ANON behaviour.\n"));
- lose("Unknown mmap() interaction with MAP_ANON");
+ lose("Unknown mmap() interaction with MAP_ANON\n");
} else { /* minor_version < 8 */
kludge_mmap_fd = open("/dev/zero",O_RDONLY);
if (kludge_mmap_fd < 0) {
perror("open");
} else { /* minor_version < 8 */
kludge_mmap_fd = open("/dev/zero",O_RDONLY);
if (kludge_mmap_fd < 0) {
perror("open");
- lose("Error in open(..)");
+ lose("Error in open(..)\n");
}
}
}
}
@@
-115,7
+115,7
@@
os_vm_address_t os_validate(os_vm_address_t addr, os_vm_size_t len)
if (addr == MAP_FAILED) {
perror("mmap");
if (addr == MAP_FAILED) {
perror("mmap");
- lose ("Error in mmap(..)");
+ lose ("Error in mmap(..)\n");
}
return addr;
}
return addr;
@@
-140,7
+140,7
@@
os_map(int fd, int offset, os_vm_address_t addr, os_vm_size_t len)
if (addr == MAP_FAILED) {
perror("mmap");
if (addr == MAP_FAILED) {
perror("mmap");
- lose("Unexpedted mmap(..) failure");
+ lose("Unexpedted mmap(..) failure\n");
}
return addr;
}
return addr;
@@
-241,3
+241,16
@@
os_install_interrupt_handlers()
undoably_install_low_level_interrupt_handler(SIG_MEMORY_FAULT,
sigsegv_handler);
}
undoably_install_low_level_interrupt_handler(SIG_MEMORY_FAULT,
sigsegv_handler);
}
+
+char *
+os_get_runtime_executable_path()
+{
+ int ret;
+ char path[] = "/proc/self/object/a.out";
+
+ ret = access(path, R_OK);
+ if (ret == -1)
+ return NULL;
+
+ return copied_string(path);
+}