From 32e05367caf33b728e28c565caa3eecc22fbc23f Mon Sep 17 00:00:00 2001 From: Lubos Dolezel Date: Wed, 16 Nov 2016 10:13:32 +0100 Subject: [PATCH] Fix gdbjit build on i386 --- src/libdyld/gdbjit.cpp | 25 +++++++++++-------------- 1 file changed, 11 insertions(+), 14 deletions(-) diff --git a/src/libdyld/gdbjit.cpp b/src/libdyld/gdbjit.cpp index b413606cc..83b5a1907 100644 --- a/src/libdyld/gdbjit.cpp +++ b/src/libdyld/gdbjit.cpp @@ -100,24 +100,21 @@ void OnMachOLoaded(const struct ::mach_header* mh, intptr_t vmaddr_slide) producer.addSymbol(sym.name.c_str(), (void*)(sym.addr + vmaddr_slide), true, false); } - if (mo->is64()) +#ifdef __x86_64__ + const std::vector& segs = mo->segments64(); + for (const segment_command_64* seg : segs) { - const std::vector& segs = mo->segments64(); - for (const segment_command_64* seg : segs) - { - producer.addSegment(Darling::ELFProducer::Segment { seg->segname, seg->fileoff, (void*)(seg->vmaddr + vmaddr_slide), - seg->vmsize, seg->filesize, MachO2ElfFlags(seg->initprot) }); - } + producer.addSegment(Darling::ELFProducer::Segment { seg->segname, seg->fileoff, (void*)(seg->vmaddr + vmaddr_slide), + seg->vmsize, seg->filesize, MachO2ElfFlags(seg->initprot) }); } - else +#else + const std::vector& segs = mo->segments(); + for (const segment_command* seg : segs) { - const std::vector& segs = mo->segments(); - for (const segment_command* seg : segs) - { - producer.addSegment(Darling::ELFProducer::Segment { seg->segname, seg->fileoff, (void*)(seg->vmaddr + vmaddr_slide), - seg->vmsize, seg->filesize, MachO2ElfFlags(seg->initprot) }); - } + producer.addSegment(Darling::ELFProducer::Segment { seg->segname, seg->fileoff, (void*)(seg->vmaddr + vmaddr_slide), + seg->vmsize, seg->filesize, MachO2ElfFlags(seg->initprot) }); } +#endif producer.setEHSection(mo->get_eh_frame().first, mo->get_eh_frame().second); -- 2.51.2