diff --git a/src/tests/kernel/boot/loader/Handle.cpp b/src/tests/kernel/boot/loader/Handle.cpp index b027c4a2b1..d3487de075 100644 --- a/src/tests/kernel/boot/loader/Handle.cpp +++ b/src/tests/kernel/boot/loader/Handle.cpp @@ -13,6 +13,12 @@ #include +#ifndef HAVE_READ_POS +# define read_pos(fd, pos, buffer, size) pread(fd, buffer, size, pos) +# define write_pos(fd, pos, buffer, size) pwrite(fd, buffer, size, pos) +#endif + + Handle::Handle(int handle, bool takeOwnership) : fHandle(handle), @@ -49,14 +55,14 @@ Handle::SetHandle(int handle, bool takeOwnership) ssize_t Handle::ReadAt(void *cookie, off_t pos, void *buffer, size_t bufferSize) { - return pread(fHandle, buffer, bufferSize, pos); + return read_pos(fHandle, pos, buffer, bufferSize); } ssize_t Handle::WriteAt(void *cookie, off_t pos, const void *buffer, size_t bufferSize) { - return pwrite(fHandle, buffer, bufferSize, pos); + return write_pos(fHandle, pos, buffer, bufferSize); } diff --git a/src/tests/kernel/boot/loader/Jamfile b/src/tests/kernel/boot/loader/Jamfile index e631f18760..992d63d7bb 100644 --- a/src/tests/kernel/boot/loader/Jamfile +++ b/src/tests/kernel/boot/loader/Jamfile @@ -23,7 +23,8 @@ ObjectDefines if $(OS) = "LINUX" { # SubDirC++Flags -include /usr/include/stdio.h ; } else { - SubDirC++Flags -include /boot/develop/headers/posix/stdio.h ; +# SubDirC++Flags -include /boot/develop/headers/posix/stdio.h ; + SubDirC++Flags -DHAVE_READ_POS=1 ; } SimpleTest BootLoaderTest :