Penso che in qualche modo non scrivi tutti i dati nel file principale.
Crea uno script semplice, rendilo eseguibile e imposta il modello principale sullo script.
#!/bin/sh
cat > /tmp/core.$$
Ora genera un file core (ad esempio esegui sleep 1243
e premi ctrl+\
) e dovrebbe funzionare.
L'ho appena testato personalmente sul mio sistema e funziona senza problemi.
La prima cosa da verificare che mi viene in mente è il flag di intestazione Elf che indica di che tipo di file si tratta. Ha quattro valori:oggetto condiviso, oggetto non collegato, eseguibile e core dump. Questo è molto probabilmente ciò che sta causando errori gdb.
Inoltre, prova a esaminarlo con objdump:può smontare l'intero file ELF per analizzare quale parte di esso apparentemente non è buona.
Puoi trovare le specifiche ELF su https://refspecs.linuxbase.org/elf/elf.pdf