История изменений
Исправление 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
нужные функции.
Хотя в таких задачах обычно не нужно ничего патчить, достаточно обернуть вызов.