danny@spectre ~/projects/haiku/haiku/gcc4 $ valgrind /home/danny/projects/haiku/haiku/gcc4/objects/linux/x86/debug_5/tools/xres -o "/home/danny/projects/haiku/haiku/gcc4/objects/haiku/x86/common/bin/makebootable/platform/bios_ia32/file-data-RAWT:666:BootCode-stage1.bin.rsrc" -a "RAWT:666:BootCode" "/home/danny/projects/haiku/haiku/src/system/boot/platform/bios_ia32/stage1.bin" ==13825== Memcheck, a memory error detector. ==13825== Copyright (C) 2002-2007, and GNU GPL'd, by Julian Seward et al. ==13825== Using LibVEX rev 1732, a library for dynamic binary translation. ==13825== Copyright (C) 2004-2007, and GNU GPL'd, by OpenWorks LLP. ==13825== Using valgrind-3.2.3, a dynamic binary instrumentation framework. ==13825== Copyright (C) 2000-2007, and GNU GPL'd, by Julian Seward et al. ==13825== For more details, rerun with: -v ==13825== ==13825== Invalid write of size 8 ==13825== at 0x4DDF005: BPrivate::Storage::fill_pattern(unsigned long, void*, unsigned long) (ResourceFile.cpp:154) ==13825== by 0x4DDF04C: BPrivate::Storage::fill_pattern(void const*, void*, unsigned long) (ResourceFile.cpp:162) ==13825== by 0x4DDF093: BPrivate::Storage::fill_pattern(void const*, void*, void const*) (ResourceFile.cpp:171) ==13825== by 0x4DDFDDD: BPrivate::Storage::ResourceFile::_WriteResources(BPrivate::Storage::ResourcesContainer&) (ResourceFile.cpp:1134) ==13825== by 0x4DE0448: BPrivate::Storage::ResourceFile::WriteResources(BPrivate::Storage::ResourcesContainer&) (ResourceFile.cpp:378) ==13825== by 0x4DE3416: BPrivate::Storage::ResourceFile::_InitFile(BFile&, bool) (ResourceFile.cpp:460) ==13825== by 0x4DE34AF: BPrivate::Storage::ResourceFile::SetTo(BFile*, bool) (ResourceFile.cpp:260) ==13825== by 0x4DE5521: BResources::SetTo(BFile const*, bool) (Resources.cpp:117) ==13825== by 0x403466: WriteFileState::_PrepareOutput() (xres.cpp:512) ==13825== by 0x4037A9: WriteFileState::AddResource(ResourceID const&, char const*, ResourceDataSource*) (xres.cpp:452) ==13825== by 0x4022E1: AddResourceCommand::Do(State*) (xres.cpp:618) ==13825== by 0x401FB6: main (xres.cpp:878) ==13825== Address 0x56CD174 is 1,532 bytes inside a block of size 1,536 alloc'd ==13825== at 0x4A1F912: operator new[](unsigned long, std::nothrow_t const&) (in /usr/lib64/valgrind/amd64-linux/vgpreload_memcheck.so) ==13825== by 0x4DDFA98: BPrivate::Storage::ResourceFile::_WriteResources(BPrivate::Storage::ResourcesContainer&) (ResourceFile.cpp:1089) ==13825== by 0x4DE0448: BPrivate::Storage::ResourceFile::WriteResources(BPrivate::Storage::ResourcesContainer&) (ResourceFile.cpp:378) ==13825== by 0x4DE3416: BPrivate::Storage::ResourceFile::_InitFile(BFile&, bool) (ResourceFile.cpp:460) ==13825== by 0x4DE34AF: BPrivate::Storage::ResourceFile::SetTo(BFile*, bool) (ResourceFile.cpp:260) ==13825== by 0x4DE5521: BResources::SetTo(BFile const*, bool) (Resources.cpp:117) ==13825== by 0x403466: WriteFileState::_PrepareOutput() (xres.cpp:512) ==13825== by 0x4037A9: WriteFileState::AddResource(ResourceID const&, char const*, ResourceDataSource*) (xres.cpp:452) ==13825== by 0x4022E1: AddResourceCommand::Do(State*) (xres.cpp:618) ==13825== by 0x401FB6: main (xres.cpp:878) ==13825== ==13825== Conditional jump or move depends on uninitialised value(s) ==13825== at 0x4DE1B68: BPrivate::Storage::ResourceFile::_ReadIndex(BPrivate::Storage::resource_parse_info&) (ResourceFile.cpp:766) ==13825== by 0x4DE3867: BPrivate::Storage::ResourceFile::InitContainer(BPrivate::Storage::ResourcesContainer&) (ResourceFile.cpp:310) ==13825== by 0x4DE5561: BResources::SetTo(BFile const*, bool) (Resources.cpp:123) ==13825== by 0x403466: WriteFileState::_PrepareOutput() (xres.cpp:512) ==13825== by 0x4037A9: WriteFileState::AddResource(ResourceID const&, char const*, ResourceDataSource*) (xres.cpp:452) ==13825== by 0x4022E1: AddResourceCommand::Do(State*) (xres.cpp:618) ==13825== by 0x401FB6: main (xres.cpp:878) ==13825== ==13825== Conditional jump or move depends on uninitialised value(s) ==13825== at 0x4DE06B8: BPrivate::Storage::check_pattern(unsigned long, void*, unsigned long, bool) (ResourceFile.cpp:182) ==13825== by 0x4DE1500: BPrivate::Storage::ResourceFile::_ReadIndexEntry(BPrivate::Storage::resource_parse_info&, long, unsigned long, bool) (ResourceFile.cpp:810) ==13825== by 0x4DE1C8B: BPrivate::Storage::ResourceFile::_ReadIndex(BPrivate::Storage::resource_parse_info&) (ResourceFile.cpp:780) ==13825== by 0x4DE3867: BPrivate::Storage::ResourceFile::InitContainer(BPrivate::Storage::ResourcesContainer&) (ResourceFile.cpp:310) ==13825== by 0x4DE5561: BResources::SetTo(BFile const*, bool) (Resources.cpp:123) ==13825== by 0x403466: WriteFileState::_PrepareOutput() (xres.cpp:512) ==13825== by 0x4037A9: WriteFileState::AddResource(ResourceID const&, char const*, ResourceDataSource*) (xres.cpp:452) ==13825== by 0x4022E1: AddResourceCommand::Do(State*) (xres.cpp:618) ==13825== by 0x401FB6: main (xres.cpp:878) ==13825== ==13825== Conditional jump or move depends on uninitialised value(s) ==13825== at 0x4DE1506: BPrivate::Storage::ResourceFile::_ReadIndexEntry(BPrivate::Storage::resource_parse_info&, long, unsigned long, bool) (ResourceFile.cpp:810) ==13825== by 0x4DE1C8B: BPrivate::Storage::ResourceFile::_ReadIndex(BPrivate::Storage::resource_parse_info&) (ResourceFile.cpp:780) ==13825== by 0x4DE3867: BPrivate::Storage::ResourceFile::InitContainer(BPrivate::Storage::ResourcesContainer&) (ResourceFile.cpp:310) ==13825== by 0x4DE5561: BResources::SetTo(BFile const*, bool) (Resources.cpp:123) ==13825== by 0x403466: WriteFileState::_PrepareOutput() (xres.cpp:512) ==13825== by 0x4037A9: WriteFileState::AddResource(ResourceID const&, char const*, ResourceDataSource*) (xres.cpp:452) ==13825== by 0x4022E1: AddResourceCommand::Do(State*) (xres.cpp:618) ==13825== by 0x401FB6: main (xres.cpp:878) ==13825== ==13825== Conditional jump or move depends on uninitialised value(s) ==13825== at 0x4DE1568: BPrivate::Storage::ResourceFile::_ReadIndexEntry(BPrivate::Storage::resource_parse_info&, long, unsigned long, bool) (ResourceFile.cpp:822) ==13825== by 0x4DE1C8B: BPrivate::Storage::ResourceFile::_ReadIndex(BPrivate::Storage::resource_parse_info&) (ResourceFile.cpp:780) ==13825== by 0x4DE3867: BPrivate::Storage::ResourceFile::InitContainer(BPrivate::Storage::ResourcesContainer&) (ResourceFile.cpp:310) ==13825== by 0x4DE5561: BResources::SetTo(BFile const*, bool) (Resources.cpp:123) ==13825== by 0x403466: WriteFileState::_PrepareOutput() (xres.cpp:512) ==13825== by 0x4037A9: WriteFileState::AddResource(ResourceID const&, char const*, ResourceDataSource*) (xres.cpp:452) ==13825== by 0x4022E1: AddResourceCommand::Do(State*) (xres.cpp:618) ==13825== by 0x401FB6: main (xres.cpp:878) --13825-- VALGRIND INTERNAL ERROR: Valgrind received a signal 11 (SIGSEGV) - exiting --13825-- si_code=1; Faulting address: 0x3E9056CD188; sp: 0x4023A9D70 valgrind: the 'impossible' happened: Killed by fatal signal ==13825== at 0x3801E5C2: (within /usr/lib64/valgrind/amd64-linux/memcheck) ==13825== by 0x3800229C: (within /usr/lib64/valgrind/amd64-linux/memcheck) ==13825== by 0x380327D8: (within /usr/lib64/valgrind/amd64-linux/memcheck) ==13825== by 0x380336BA: (within /usr/lib64/valgrind/amd64-linux/memcheck) ==13825== by 0x3804E080: (within /usr/lib64/valgrind/amd64-linux/memcheck) sched status: running_tid=1 Thread 1: status = VgTs_Runnable ==13825== at 0x4A1F912: operator new[](unsigned long, std::nothrow_t const&) (in /usr/lib64/valgrind/amd64-linux/vgpreload_memcheck.so) ==13825== by 0x4DE0D54: BPrivate::Storage::ResourceFile::_ReadInfoTable(BPrivate::Storage::resource_parse_info&) (ResourceFile.cpp:854) ==13825== by 0x4DE3874: BPrivate::Storage::ResourceFile::InitContainer(BPrivate::Storage::ResourcesContainer&) (ResourceFile.cpp:311) ==13825== by 0x4DE5561: BResources::SetTo(BFile const*, bool) (Resources.cpp:123) ==13825== by 0x403466: WriteFileState::_PrepareOutput() (xres.cpp:512) ==13825== by 0x4037A9: WriteFileState::AddResource(ResourceID const&, char const*, ResourceDataSource*) (xres.cpp:452) ==13825== by 0x4022E1: AddResourceCommand::Do(State*) (xres.cpp:618) ==13825== by 0x401FB6: main (xres.cpp:878) Note: see also the FAQ.txt in the source distribution. It contains workarounds to several common problems. If that doesn't help, please report this bug to: www.valgrind.org In the bug report, send all the above text, the valgrind version, and what Linux distro you are using. Thanks.