Ton patch ne corrige pas le plantage avec 
_FORTIFY_SOURCE. 
 
    if (calctype == CALC_TI89) strcpy(header.signature,SIGNATURE_TI89);
    else                       strcpy(header.signature,SIGNATURE_TI92P);
déborde d'un octet. (Oui, ça déborde dans 
fill1 que tu écris juste après, mais 
_FORTIFY_SOURCE détecte quand-même le débordement et arrête le programme avec une erreur.)
Le code dans 
ttbin2oth (
bin2oth.c):
    if (calctype == CALC_TI89) strncpy(psh->signature,SIGNATURE_TI89,8);
    else                       strncpy(psh->signature,SIGNATURE_TI92P,8);
est correct.