increase PIN_SHIFT to 28 for reading large .so-file (temporary, we should use pread instead), and added system-call time
This commit is contained in:
@@ -16,6 +16,7 @@
|
||||
#include <sys/types.h>
|
||||
#include <sys/stat.h>
|
||||
#include <sys/utsname.h>
|
||||
#include <time.h>
|
||||
#include <sys/time.h>
|
||||
#include <signal.h>
|
||||
#include <sys/wait.h>
|
||||
@@ -208,7 +209,7 @@ void print_desc(struct program_load_desc *desc)
|
||||
}
|
||||
}
|
||||
|
||||
#define PIN_SHIFT 24
|
||||
#define PIN_SHIFT 28
|
||||
#define PIN_SIZE (1 << PIN_SHIFT)
|
||||
#define PIN_MASK ~(unsigned long)(PIN_SIZE - 1)
|
||||
|
||||
@@ -591,6 +592,27 @@ int main_loop(int fd, int cpu, pthread_mutex_t *lock)
|
||||
}
|
||||
break;
|
||||
|
||||
/*
|
||||
glibc-2.14.90/sysdeps/unix/sysv/linux/x86_64/time.S
|
||||
linux-2.6.34.13/arch/x86/kernel/vsyscall_64.c
|
||||
/usr/include/time.h
|
||||
/usr/include/bits/types.h
|
||||
/usr/include/bits/typesizes.h
|
||||
#define __TIME_T_TYPE __SLONGWORD_TYPE
|
||||
*/
|
||||
case __NR_time: {
|
||||
time_t ret;
|
||||
if(w.sr.args[0]) {
|
||||
ret = time((time_t *)dma_buf);
|
||||
} else {
|
||||
ret = time(NULL);
|
||||
}
|
||||
SET_ERR(ret);
|
||||
printf("time=%ld\n", ret);
|
||||
do_syscall_return(fd, cpu, ret, 1, (unsigned long)dma_buf,
|
||||
w.sr.args[0], sizeof(time_t));
|
||||
break; }
|
||||
|
||||
case __NR_gettimeofday:
|
||||
ret = gettimeofday((struct timeval *)dma_buf, NULL);
|
||||
SET_ERR(ret);
|
||||
|
||||
Reference in New Issue
Block a user