Ok, resolvido. Aparentemente, por algum motivo misterioso, a ordem das opções do gcc agora é importante. Então, quando eu faço:
gcc -I /usr/include/SDL -o test test.cpp -lSDL
(moveu a opção -lSDL
para o final) tudo funciona bem. Eu adoraria saber por que isso de repente importa, quando antes se não, mas por enquanto estou feliz que as coisas funcionem novamente.