diff -urpN src/gdb/Makefile.in dev/gdb/Makefile.in --- src/gdb/Makefile.in 2007-10-11 08:30:21.000000000 +0200 +++ dev/gdb/Makefile.in 2007-10-11 09:30:33.000000000 +0200 @@ -2442,7 +2442,7 @@ p-exp.o: p-exp.c $(defs_h) $(gdb_string_ $(objfiles_h) $(block_h) p-lang.o: p-lang.c $(defs_h) $(gdb_string_h) $(symtab_h) $(gdbtypes_h) \ $(expression_h) $(parser_defs_h) $(language_h) $(p_lang_h) \ - $(valprint_h) $(value_h) + $(valprint_h) $(value_h) $(objfiles_h) posix-hdep.o: posix-hdep.c $(defs_h) $(gdb_string_h) $(gdb_select_h) ppcbug-rom.o: ppcbug-rom.c $(defs_h) $(gdbcore_h) $(target_h) $(monitor_h) \ $(serial_h) $(regcache_h) diff -urpN src/gdb/p-lang.c dev/gdb/p-lang.c --- src/gdb/p-lang.c 2007-10-09 11:33:24.000000000 +0200 +++ dev/gdb/p-lang.c 2007-10-11 09:32:35.000000000 +0200 @@ -31,7 +31,8 @@ #include "valprint.h" #include "value.h" #include - +#include "objfiles.h" + extern void _initialize_pascal_language (void); @@ -335,7 +336,7 @@ pascal_create_fundamental_type (struct o name "". When all the dust settles from the type reconstruction work, this should probably become an error. */ type = init_type (TYPE_CODE_INT, - gdbarch_int_bit (current_gdbarch) / TARGET_CHAR_BIT, + gdbarch_int_bit (objfile->gdbarch) / TARGET_CHAR_BIT, 0, "", objfile); warning (_("internal error: no Pascal fundamental type %d"), typeid); break; @@ -361,80 +362,80 @@ pascal_create_fundamental_type (struct o break; case FT_SHORT: type = init_type (TYPE_CODE_INT, - gdbarch_short_bit (current_gdbarch) / TARGET_CHAR_BIT, + gdbarch_short_bit (objfile->gdbarch) / TARGET_CHAR_BIT, 0, "integer", objfile); break; case FT_SIGNED_SHORT: type = init_type (TYPE_CODE_INT, - gdbarch_short_bit (current_gdbarch) / TARGET_CHAR_BIT, + gdbarch_short_bit (objfile->gdbarch) / TARGET_CHAR_BIT, 0, "integer", objfile); /* FIXME-fnf */ break; case FT_UNSIGNED_SHORT: type = init_type (TYPE_CODE_INT, - gdbarch_short_bit (current_gdbarch) / TARGET_CHAR_BIT, + gdbarch_short_bit (objfile->gdbarch) / TARGET_CHAR_BIT, TYPE_FLAG_UNSIGNED, "word", objfile); break; case FT_INTEGER: type = init_type (TYPE_CODE_INT, - gdbarch_int_bit (current_gdbarch) / TARGET_CHAR_BIT, + gdbarch_int_bit (objfile->gdbarch) / TARGET_CHAR_BIT, 0, "longint", objfile); break; case FT_SIGNED_INTEGER: type = init_type (TYPE_CODE_INT, - gdbarch_int_bit (current_gdbarch) / TARGET_CHAR_BIT, + gdbarch_int_bit (objfile->gdbarch) / TARGET_CHAR_BIT, 0, "longint", objfile); /* FIXME -fnf */ break; case FT_UNSIGNED_INTEGER: type = init_type (TYPE_CODE_INT, - gdbarch_int_bit (current_gdbarch) / TARGET_CHAR_BIT, + gdbarch_int_bit (objfile->gdbarch) / TARGET_CHAR_BIT, TYPE_FLAG_UNSIGNED, "cardinal", objfile); break; case FT_LONG: type = init_type (TYPE_CODE_INT, - gdbarch_long_bit (current_gdbarch) / TARGET_CHAR_BIT, + gdbarch_long_bit (objfile->gdbarch) / TARGET_CHAR_BIT, 0, "long", objfile); break; case FT_SIGNED_LONG: type = init_type (TYPE_CODE_INT, - gdbarch_long_bit (current_gdbarch) / TARGET_CHAR_BIT, + gdbarch_long_bit (objfile->gdbarch) / TARGET_CHAR_BIT, 0, "long", objfile); /* FIXME -fnf */ break; case FT_UNSIGNED_LONG: type = init_type (TYPE_CODE_INT, - gdbarch_long_bit (current_gdbarch) / TARGET_CHAR_BIT, + gdbarch_long_bit (objfile->gdbarch) / TARGET_CHAR_BIT, TYPE_FLAG_UNSIGNED, "unsigned long", objfile); break; case FT_LONG_LONG: type = init_type (TYPE_CODE_INT, gdbarch_long_long_bit - (current_gdbarch) / TARGET_CHAR_BIT, + (objfile->gdbarch) / TARGET_CHAR_BIT, 0, "long long", objfile); break; case FT_SIGNED_LONG_LONG: type = init_type (TYPE_CODE_INT, gdbarch_long_long_bit - (current_gdbarch) / TARGET_CHAR_BIT, + (objfile->gdbarch) / TARGET_CHAR_BIT, 0, "signed long long", objfile); break; case FT_UNSIGNED_LONG_LONG: type = init_type (TYPE_CODE_INT, gdbarch_long_long_bit - (current_gdbarch) / TARGET_CHAR_BIT, + (objfile->gdbarch) / TARGET_CHAR_BIT, TYPE_FLAG_UNSIGNED, "unsigned long long", objfile); break; case FT_FLOAT: type = init_type (TYPE_CODE_FLT, - gdbarch_float_bit (current_gdbarch) / TARGET_CHAR_BIT, + gdbarch_float_bit (objfile->gdbarch) / TARGET_CHAR_BIT, 0, "float", objfile); break; case FT_DBL_PREC_FLOAT: type = init_type (TYPE_CODE_FLT, - gdbarch_double_bit (current_gdbarch) / TARGET_CHAR_BIT, + gdbarch_double_bit (objfile->gdbarch) / TARGET_CHAR_BIT, 0, "double", objfile); break; case FT_EXT_PREC_FLOAT: type = init_type (TYPE_CODE_FLT, - gdbarch_long_double_bit (current_gdbarch) + gdbarch_long_double_bit (objfile->gdbarch) / TARGET_CHAR_BIT, 0, "extended", objfile); break;