Frage

ich eine App haben, dass Anwendungen eventfd und timerfd Kernel syscalls. Für diese Verwendung benötigen Sie einen modernen Kernel und einen libc, dass Stützen sie mindestens 2,8.

Meine aktuelle Situation ist, ich habe ein System, mit dem richtigen Kernel, sondern eine 2.7.11 libc-Version, die offensichtlich nicht die erforderlichen Funktionen für den neuen syscalls unterstützt.
Aber, wie die 2-Schnittstellen (timerfd, eventfd) ist wahrscheinlich nur ein syscall Anruf von dem libc ich mich gefragt, ob ich statisch die gewünschten Symbole mit einem modernen libc verbinden könnte und führen Sie die App auf dem 2.7.11 libc mit dem richtigen Kernel .

Wie ich sehe, die statisch gelinkte Funktionen werden nur die syscalls ausführen, ohne die libc zu verwenden und das würde sie sicher machen, aber ich könnte mit Blick auf andere Probleme werden.

Wer weiß, ob dies machbar klingt und wie könnte ich einen Link statisch diese Funktionen nur?

War es hilfreich?

Lösung

Es ist wahrscheinlich machbar Ihre eigenen bedingt kompilierte Versionen zu erstellen, dass die Verwendung syscall() sie direkt zu nennen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top