История изменений
Исправление snizovtsev, (текущая версия) :
Я не вникал в простыню, но мне кажется ты сильно переусложняешь. Пропатчи glibc как нужно, собери статическую либу родными для glibc автотулзами, прилинкуй статический пропатченный glibc к динамическому so wrapper-у, экспортируя через --export-symbols нужные функции. А там линкер уже сам разберётся – что нужно для работы xstat, а что можно выбросить.
Хотя в таких задачах обычно не нужно ничего патчить, достаточно обернуть вызов.
UPD: Ещё проще. В glibc точно есть свой version script, из которого можно просто выбросить патчем лишнее, и собрать родной системой сборки динамический glibc' с одной экспортируемой функцией – xstat. Результат сборки glibc' подсунуть в LD_PRELOAD.
Исправление snizovtsev, :
Я не вникал в простыню, но мне кажется ты сильно переусложняешь. Пропатчи glibc как нужно, собери статическую либу родными для glibc автотулзами, прилинкуй статический пропатченный glibc к динамическому so wrapper-у, экспортируя через --export-symbols нужные функции. А там линкер уже сам разберётся – что нужно для работы xstat, а что можно выбросить.
Хотя в таких задачах обычно не нужно ничего патчить, достаточно обернуть вызов.
UPD: Ещё проще. В glibc точно есть свой version script, из которого можно просто выбросить патчем лишнее, и собрать родной системой сборки динамический glibc’ с одной экспортируемой функцией – xstat. Результат сборки glibc подсунуть в LD_PRELOAD.
Исправление snizovtsev, :
Я не вникал в простыню, но мне кажется ты сильно переусложняешь. Пропатчи glibc как нужно, собери статическую либу родными для glibc автотулзами, прилинкуй статический пропатченный glibc к динамическому so wrapper-у, экспортируя через --export-symbols нужные функции. А там линкер уже сам разберётся – что нужно для работы xstat, а что можно выбросить.
Хотя в таких задачах обычно не нужно ничего патчить, достаточно обернуть вызов.
UPD: Ещё проще. В glibc точно есть свой version script, из которого можно просто выбросить патчем лишнее, и собрать родной системой сборки динамический glibc’ с одной экспортируемой функцией – xstat.
Исправление snizovtsev, :
Я не вникал в простыню, но мне кажется ты сильно переусложняешь. Пропатчи glibc как нужно, собери статическую либу родными для glibc автотулзами, прилинкуй статический пропатченный glibc к динамическому so wrapper-у, экспортируя через --export-symbols нужные функции. А там линкер уже сам разберётся – что нужно для работы xstat, а что можно выбросить.
Хотя в таких задачах обычно не нужно ничего патчить, достаточно обернуть вызов.
Исправление snizovtsev, :
Я не вникал в простыню, но мне кажется ты сильно переусложняешь. Пропатчи glibc как нужно, собери статическую либу родными для glibc автотулзами, прилинкуй статический пропатченный glibc к динамическому so wrapper-у, экспортируя через --export-symbols нужные функции.
Хотя в таких задачах обычно не нужно ничего патчить, достаточно обернуть вызов.
Исправление snizovtsev, :
Я не вникал в простыню, но мне кажется ты сильно переусложняешь. Пропатчи glibc как нужно, собери статическую либу родными автотулзами, прилинкуй статический пропатченный glibc к динамическому so wrapper-у, экспортируя через --export-symbols нужные функции.
Хотя в таких задачах обычно не нужно ничего патчить, достаточно обернуть вызов.
Исходная версия snizovtsev, :
Я не вникал в простыню, но мне кажется ты сильно переусложняешь. Пропатчи glibc как нужно, собери статическую либу, прилинкуй статический пропатченный glibc к динамическому so wrapper-у, экспортируя через --export-symbols нужные функции.
Хотя в таких задачах обычно не нужно ничего патчить, достаточно обернуть вызов.