Как известно, на 64-битных системах для запуска 32-битных бинарников требуется полный комплект 32-битных библиотек. А что, если сделать универсальный ABI-переходник, который бы парсил хидеры и создавал 32-битную библиотеку-враппер, которая экспортировала бы те же символы, но была бы 32-битной?
Мну представляет примерную реализацию так: есть некий демон, порождаемый враппером при старте программы, к которому линкуются 64-битные библиотеки. Когда 32-битная программа делает вызов к функции враппера, враппер по некоторому IPC передает демону параметры функции, демон вызывает функцию и по тому же IPC возвращает результат.
Только вот возникает две проблемы: у библиотеки может быть какая-либо привязка к PID-у вызванного процесса (в том числе, она юзает или предоставляет доступ к ресурсам, которые привязаны ядром к конкретному процессу, как, например, открытые файлы), и главаня проблема - что делать с указателями? (тут можно пойти разными путями, но все они требуют знания враппера о том, для чего в данном конкретном случае применяются указатели).
Обосrите идею и предложите методы решения проблемм.