Mit pacman aus testing hast du ja auch einige Abhängigkeiten daraus mitgekriegt. Die passen jetzt ja nicht mehr zum normalen pacman aus core.
Einzig problematisch dürfte das libarchive Paket sein, welches für testing Version 3.x hat, für core 2.x (deine fehlermeldung)
Downgrade des Paketes ohne pacman ist ja nun nicht möglich ;-)
Zwei Möglichkeiten:
a) Lege dir einen Symlink namens libarchive.so.2 auf das File libarchive.so.3.x.y in /usr/lib (Genaue datei/versionsbezeichnung mußt du schauen bei dir). Evtl. ist libarchive rückwärtskompatibel und du kannst dann pacman wieder benutzen.
b) Entpacke das alte libarchive manuell:
cd /
bsdtar xf /var/cache/pacman/pkg/libarchive-2.8.5-2-x86_64.pkg.tar.gz
Dann sollte pacman auch wieder funktionieren.
Nach beiden Möglichkeiten solltest du alle pakete aus testing wieder downgraden (siehe pacman.log).... libarchive aus core wirst du per --force downgraden müssen...
//Edit: zum Downgrade würde sich pacman -Syuu anbieten, das bringt dann alle Pakete wieder auf die Version in den normalen Repos deren Version sich davon unterscheidet (testing sollte nicht mehr aktiv sein, besser vorher noch ein pacman -Syy machen). Das mit -uu wäre wohl auch von Anfang an der bessere Weg gewesen (habe ich aber nie getestet... Siehe ggf. man pacman->Sync options)
Hmm, sehe gerade daß es evtl. auch mit der glibc das selbe Problem gibt... Die würde ich dann erstmal nicht so mutig per Hand drüberbügeln.... Versuche mal das mit der libarchive...
Und schau mal mit:
ldd /usr/bin/pacman
ob noch andere Libs nicht gefunden würden.