* [rfc] [10/17] Get rid of current_gdbarch in p-lang.c
@ 2007-10-11 8:56 Markus Deuling
2007-10-11 13:36 ` Pierre Muller
0 siblings, 1 reply; 2+ messages in thread
From: Markus Deuling @ 2007-10-11 8:56 UTC (permalink / raw)
To: GDB Patches; +Cc: Ulrich Weigand
[-- Attachment #1: Type: text/plain, Size: 377 bytes --]
Hi,
this patch gets rid of some of the current_gdbarch's in p-lang.c
Is this ok to commit?
ChangeLog:
* p-lang.c: Add new include objfiles.h.
(pascal_create_fundamental_type): Use objfile->gdbarch to get
at the current architecture.
* Makefile.in (p-lang.o): Add dependency on objfile.h.
--
Markus Deuling
GNU Toolchain for Linux on Cell BE
deuling@de.ibm.com
[-- Attachment #2: diff-p-lang --]
[-- Type: text/plain, Size: 5033 bytes --]
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 <ctype.h>
-
+#include "objfiles.h"
+
extern void _initialize_pascal_language (void);
@@ -335,7 +336,7 @@ pascal_create_fundamental_type (struct o
name "<?type?>". 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, "<?type?>", 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;
^ permalink raw reply [flat|nested] 2+ messages in thread* RE: [rfc] [10/17] Get rid of current_gdbarch in p-lang.c
2007-10-11 8:56 [rfc] [10/17] Get rid of current_gdbarch in p-lang.c Markus Deuling
@ 2007-10-11 13:36 ` Pierre Muller
0 siblings, 0 replies; 2+ messages in thread
From: Pierre Muller @ 2007-10-11 13:36 UTC (permalink / raw)
To: 'Markus Deuling', 'GDB Patches'; +Cc: 'Ulrich Weigand'
The patch seems OK, but
I compiled it by applying also the objfiles.c patch
and tried to get the pascal_create_fundamental_type to
be called, and had a hard time finding something
that triggered a call to that function.
I finally found that an untyped real constant in pascal
with stabs debugging worked, and the code seemed to be working
fine.
Thus the pascal patch is approved.
Just a small remark on your ChangeLog:
you forgot the 's' on objfiles.h for the Makefile.in entry.
Pierre Muller
Pascal language maintainer.
> -----Original Message-----
> From: gdb-patches-owner@sourceware.org [mailto:gdb-patches-
> owner@sourceware.org] On Behalf Of Markus Deuling
> Sent: Thursday, October 11, 2007 10:54 AM
> To: GDB Patches
> Cc: Ulrich Weigand
> Subject: [rfc] [10/17] Get rid of current_gdbarch in p-lang.c
>
> Hi,
>
> this patch gets rid of some of the current_gdbarch's in p-lang.c Is
> this ok to commit?
>
> ChangeLog:
>
>
> * p-lang.c: Add new include objfiles.h.
> (pascal_create_fundamental_type): Use objfile->gdbarch to get
> at the current architecture.
> * Makefile.in (p-lang.o): Add dependency on objfile.h.
>
>
>
> --
> Markus Deuling
> GNU Toolchain for Linux on Cell BE
> deuling@de.ibm.com
>
>
>
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2007-10-11 10:35 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2007-10-11 8:56 [rfc] [10/17] Get rid of current_gdbarch in p-lang.c Markus Deuling
2007-10-11 13:36 ` Pierre Muller
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox