------- Additional Comments From danglin at gcc dot gnu dot org 2005-01-05 04:22 ------- Ignore the last comment. Gdb is confused.
The fundamental problem is the following. Here is the code generated to save the recl_in field in MAIN__. A store double word insn is being used to store the recl_in field. This is wrong as the field in an int. ldi 80,%r28 std %r28,88(%r31) The field is accessed as an int in io/open.c. Because this is a big endian target, it reads back a 0. 80 is in the following word (int). -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19194