Talvez esse pacote de compatibilidade não exista (com a finalidade de executar binários armhf de terceiros que esperam /lib/ld-linux.so.3
em vez do novo padrão, concordou com /lib/ld-linuxarmhf.so.3
, certo?) porque esse pacote (se instalado) daria uma "falsa promessa" para se adequar a todos os binários do armel. Mas o vinculador dinâmico armhf deve quebrar binários do armel porque as ABIs são incompatíveis, se eu entendi isso corretamente. (Nesse caso, a solução correta seria agrupar os poucos binários armhf não-padrão especiais para que a localização esperada do vinculador dinâmico seja adaptada para o sistema ou regravar esse valor nos binários. Se isso for possível. Então isso não causará nenhum problema quando você tentar executar binários reais do armel.)
Por outro lado, se você deseja executar binários reais de armel em um sistema armhf, basta acessar " multiarch " (e, portanto, use um linker real de armel dinâmico, em vez de seu link simbólico!): instale os pré-requisitos do armel para seus binários do armel. Entre os pré-requisitos, libc6:armel
ou algo parecido (corrija o nome do pacote se eu estiver errado, por favor) certamente incluiria o /lib/ld-linux.so.3
necessário.
(Em relação à incompatibilidade das ABIs: Como eu poderia entender, em armhf, argumentos de ponto flutuante são passados diretamente em registradores de ponto flutuante, enquanto em armel, eles são passados em registradores inteiros. Essa indirecção adiciona custo extra para ARM que suportam ponto flutuante, é por isso que o armhf é melhor para o ARM moderno.)