- Jan 10, 2013
-
-
Avi Kivity authored
Conflicts: libc/fd.cc __xstat change: obsoleted by upstream open64(): moved to fs/vfs/main.c
-
Avi Kivity authored
-
Avi Kivity authored
When we aligned the sizes for mmap(), we neglected to clear memory between the end of the read data and the beginning of anonymous memory. If a variable sat there, it would not be initialized correctly.
-
Avi Kivity authored
Could be better, but waiting for vfs revamp anyway.
-
Christoph Hellwig authored
-
Christoph Hellwig authored
This seems to break the actual jvm execution for some reason.
-
Christoph Hellwig authored
Also based on prex code.
-
Christoph Hellwig authored
Various changes to fit into the OSv environment. This also includes a ramfs in-memory full filesystem. Bootfs is rewritten as a simple unpacker into ramfs, and the fs class is modified to wrap the VFS instead of being an abstract subclass.
-
Christoph Hellwig authored
Using the recently commited strncmp broke the VFS path lookup.
-
Avi Kivity authored
-
Avi Kivity authored
-
Avi Kivity authored
-
Avi Kivity authored
-
Avi Kivity authored
-
Avi Kivity authored
On a release build, the compiler hoists the computation of current() until after the wrmsr() which changes the TLS base, corrupting it. Insert a barrier to fix.
-
Avi Kivity authored
Start with a simple compiler barrier.
-
Avi Kivity authored
Harmless.
-
Avi Kivity authored
Unlike most glibc data types, FILE is not opaque - it is defined as _IO_FILE in libio.h and some glibc inlines actually use it. So we must use the same structure. Do this by subclassing _IO_FILE. Unbreaks mode=release build.
-
Avi Kivity authored
-
Avi Kivity authored
PT_GNU_EH_FRAME segments are contained within PT_LOAD segments, and so need not be loaded. Moreover, when we load a segment, we align it to page boundaries; this overwrites previous contents. Does serious damage with small objects (like tst-dir.so) - overwriting the main function. Fix by ignoring EH_FRAME segments (libunwind will later re-discover them when iterating over the objects's phdrs).
-
- Jan 09, 2013
-
-
Dor Laor authored
* 'master' of github.com:/avikivity/osv: bootfs: add some jars for the jvm bootfs: switch to more traditional file layout elf: reduce debug noise README: document 'osv syms' mempool: fix corruption with almost-page-sized objects
-
Dor Laor authored
-
Avi Kivity authored
-
Avi Kivity authored
Mirror the jre file layout closely, otherwise it gets confused.
-
Avi Kivity authored
-
Avi Kivity authored
-
Avi Kivity authored
-
Avi Kivity authored
When we free the last object in a page, we free the page itself, removing it from the pool's page list. However, pages with no free objects are not present on the free page list, causing corruption. The only condition this can happen is if there is exactly one object on a page; so it's simultaneously the last allocated and the last freed object.
-
Dor Laor authored
* 'master' of github.com:/avikivity/osv: mkbootfs: remove errant print build: quiet down mkbootfs invocation scripts: support multiple objects in running image elf: store object list in an area easily accessible to the debugger printf: implement zero fill libc: import qsort from freebsd
-
Dor Laor authored
- add git submodule init - use the right flag for autoreconf
-
Avi Kivity authored
-
Avi Kivity authored
-
Avi Kivity authored
-
Avi Kivity authored
Since we're loading multiple objects, we need to load symbol tables for all of them. The base addresses are no longer static (esp. after we started loading mulitple payloads, so we need to read them from the image). A new command is added for this: 'osv syms'. It will try to locate symbol tables for anything that has been loaded at this stage.
-
Avi Kivity authored
Since we're loading many objects, we need to make them accessible to the debugger so it can load symbol tables.
-
Avi Kivity authored
as in "%016lx".
-
Avi Kivity authored
-
Christoph Hellwig authored
-
Avi Kivity authored
-
Avi Kivity authored
-