Index: dbxread.c =================================================================== RCS file: /cvs/src/src/gdb/dbxread.c,v retrieving revision 1.98 diff -u -p -u -r1.98 dbxread.c --- dbxread.c 1 Oct 2008 16:41:27 -0000 1.98 +++ dbxread.c 13 Dec 2008 18:07:31 -0000 @@ -2597,6 +2597,11 @@ read_ofile_symtab (struct partial_symtab if (type & N_STAB) { + if (sizeof (nlist.n_value) > 4 + && (type == N_LSYM || type == N_PSYM)) + /* These are very likely to be 32-bit negative. + Sign-extend them for 64-bit GDB. */ + nlist.n_value = (nlist.n_value ^ 0x80000000) - 0x80000000; process_one_symbol (type, nlist.n_desc, nlist.n_value, namestring, section_offsets, objfile); }