Come un po' tutti, nel poco tempo libero, tento di portare avanti qualche progettino personale. Purtroppo però, dedicandoci poco tempo, di tanto in tanto, mi è capitato più volte di dover "reimplementare" varie parti dei progetti perché cambiano le piattaforme usate alla base.
Questo è il caso di MyPABX, ancora devo decidere il nome, questo è temporaneo! Tra i miei progetti ci sta la build di una mini distribuzione linux per appliance che ha come target, per lo meno all'inizio, le schede basate su processori amd geode e schede basate su processori intel atom. Lo scopo principale di questo progetto è la realizzazione di un sistema low-cost, una scheda alix compresa di case, cf e alimentazione costa poco più di 100€.
Per costruire il sistema operativo utilizzo crosstools-ng per la toolchain, in parole pratiche gcc, le libc, binutils e via dicendo e buildroot, da git, per costruire il sistema.
Questo progetto l'ho iniziato parecchio tempo fa, tanto che la macchina su cui lavoravo montava una Ubuntu 8.04. Qualche mese fa ho però effettuato un cambio hardware e software della macchina di sviluppo installando l'ultima distribuzione debian, la debian 5, cosi da poter utilizzare vserver!
Ho scoperto però che anche su Debian, cosi come su Ubuntu (nelle versioni 8.10 e successiva), è stato attivato una nuova funzionalità delle glibc, chiamata FORTIFY: questa funzionalità permette alle glibc di effettuare alcuni controlli a runtime per evitare un utilizzo "errato" di alcune funzionalità.
Per quanto la cosa sia importante ed interessante direi che avrebbero dovuto testarla meglio in quanto con questo flag abilitato è impossibile compilare le glibc stesse o le eglibc (un derivato più "light" delle glibc)
Per risolvere il problema vanno passati tra i CFLAGS per il compilatore e le (e)glibc i seguenti parametri:
-U_FORTIFY_SOURCE -fno-stack-protector
Spero sia utile a qualcuno :)
PS: il fno-stack-protector non è fondamentale, ma considerando cosa si sta compilando magari è meglio fargli fare tutti gli accrocchi che vogliono!

Invia nuovo commento