In the southern Philippines, a magnitude-5.7 earthquake rattled North Cotabato province and nearby areas late Saturday as people slept, damaging more than 140 houses and several school buildings and setting off a landslide that partially blocked a road with boulders, officials said.