filter out zero length functions in LC_FUNCTION_STARTS

<rdar://problem/10422823>

--- src/ld/LinkEdit.hpp
+++ src/ld/LinkEdit.hpp
@@ -1332,6 +1332,9 @@ void FunctionStartsAtom<A>::encode() const
 			std::vector<const ld::Atom*>& atoms = sect->atoms;
 			for (std::vector<const ld::Atom*>::iterator ait = atoms.begin(); ait != atoms.end(); ++ait) {
 				const ld::Atom* atom = *ait;
+				// <rdar://problem/10422823> filter out zero-length atoms, so LC_FUNCTION_STARTS address can't spill into next section
+				if ( atom->size() == 0 )
+					continue;
 				uint64_t nextAddr = atom->finalAddress();
 				if ( atom->isThumb() )
 					nextAddr |= 1; 
