--- src/ld/MachOWriterExecutable.hpp 2010-04-20 20:41:08.000000000 +0200 +++ src/ld/MachOWriterExecutable.hpp 2012-12-13 20:08:24.000000000 +0100 @@ -10999,7 +10999,7 @@ const int64_t bl_sixteenMegLimit = 0x00FFFFFF; if ( fTarget.getContentType() == ObjectFile::Atom::kBranchIsland ) { displacement = getFinalTargetAdress() - this->getAddress(); - if ( (displacement > bl_sixteenMegLimit) && (displacement < (-bl_sixteenMegLimit)) ) { + if ( (displacement > bl_sixteenMegLimit) || (displacement < (-bl_sixteenMegLimit)) ) { displacement = fTarget.getAddress() - this->getAddress(); } } @@ -11017,7 +11017,7 @@ const int64_t bl_sixteenMegLimit = 0x00FFFFFF; if ( fTarget.getContentType() == ObjectFile::Atom::kBranchIsland ) { displacement = getFinalTargetAdress() - this->getAddress(); - if ( (displacement > bl_sixteenMegLimit) && (displacement < (-bl_sixteenMegLimit)) ) { + if ( (displacement > bl_sixteenMegLimit) || (displacement < (-bl_sixteenMegLimit)) ) { displacement = fTarget.getAddress() - this->getAddress(); } }