From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 11959 invoked by alias); 3 Aug 2010 14:56:46 -0000 Received: (qmail 11946 invoked by uid 22791); 3 Aug 2010 14:56:44 -0000 X-SWARE-Spam-Status: No, hits=-3.3 required=5.0 tests=AWL,BAYES_00,KAM_STOCKTIP,RCVD_IN_DNSWL_HI,SPF_HELO_PASS,TW_BJ,T_RP_MATCHES_RCVD X-Spam-Check-By: sourceware.org Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Tue, 03 Aug 2010 14:56:39 +0000 Received: from int-mx08.intmail.prod.int.phx2.redhat.com (int-mx08.intmail.prod.int.phx2.redhat.com [10.5.11.21]) by mx1.redhat.com (8.13.8/8.13.8) with ESMTP id o73Eucpx028368 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK) for ; Tue, 3 Aug 2010 10:56:38 -0400 Received: from ns3.rdu.redhat.com (ns3.rdu.redhat.com [10.11.255.199]) by int-mx08.intmail.prod.int.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id o73EucW8028374 for ; Tue, 3 Aug 2010 10:56:38 -0400 Received: from [10.15.16.129] (dhcp-10-15-16-129.yyz.redhat.com [10.15.16.129]) by ns3.rdu.redhat.com (8.13.8/8.13.8) with ESMTP id o73EubZB012373 for ; Tue, 3 Aug 2010 10:56:37 -0400 Message-ID: <4C582E25.1030505@redhat.com> Date: Tue, 03 Aug 2010 14:56:00 -0000 From: sami wagiaalla User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1.10) Gecko/20100621 Fedora/3.0.5-1.fc13 Thunderbird/3.0.5 MIME-Version: 1.0 To: gdb-patches@sourceware.org Subject: [patch] create and use symbol_set_language Content-Type: multipart/mixed; boundary="------------000907060908070004050609" X-IsSubscribed: yes Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org X-SW-Source: 2010-08/txt/msg00010.txt.bz2 This is a multi-part message in MIME format. --------------000907060908070004050609 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Content-length: 366 This patch renames SYMBOL_INIT_LANGUAGE_SPECIFIC to SYMBOL_SET_LANGUAGE and symbol_init_language_specific to symbol_set_language, and uses them everywhere the language of a symbol is set. Usually through SYMBOL_LANGUAGE (sym) = language This was tested by running the test suit on F13 with gcc 4.4.4 on x8664 no regressions. Let me know what you think. Sami --------------000907060908070004050609 Content-Type: text/plain; name="symbol_set_language.patch" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="symbol_set_language.patch" Content-length: 8043 2010-07-29 Sami Wagiaalla * symtab.h: Renamed SYMBOL_INIT_LANGUAGE_SPECIFIC to SYMBOL_SET_LANGUAGE. (symbol_init_language_specific): Renamed to symbol_set_language. * symtab.c (symbol_init_language_specific): Renamed to symbol_set_language. * stabsread.c (define_symbol): Updated. (read_enum_type): Updated * psymtab.c (add_psymbol_to_bcache): Updated. * minsyms.c (install_minimal_symbols): Updated. * coffread.c (process_coff_symbol): SYMBOL_SET_LANGUAGE instead of SYMBOL_LANGUAGE to set the language. * minsyms.c (prim_record_minimal_symbol_full): Ditto. * mdebugread.c (new_symbol): Ditto. * cp-namespace.c (check_one_possible_namespace_symbol): Ditto. * dwarf2read.c (new_symbol_full): Ditto. * jv-lang.c (add_class_symbol): Ditto. diff --git a/gdb/coffread.c b/gdb/coffread.c index 52417b2..85e8140 100644 --- a/gdb/coffread.c +++ b/gdb/coffread.c @@ -1512,7 +1512,7 @@ process_coff_symbol (struct coff_symbol *cs, memset (sym, 0, sizeof (struct symbol)); name = cs->c_name; name = EXTERNAL_NAME (name, objfile->obfd); - SYMBOL_LANGUAGE (sym) = current_subfile->language; + SYMBOL_SET_LANGUAGE (sym, current_subfile->language); SYMBOL_SET_NAMES (sym, name, strlen (name), 1, objfile); /* default assumptions */ diff --git a/gdb/cp-namespace.c b/gdb/cp-namespace.c index 49ada64..16f58ca 100644 --- a/gdb/cp-namespace.c +++ b/gdb/cp-namespace.c @@ -938,7 +938,7 @@ check_one_possible_namespace_symbol (const char *name, int len, sym = obstack_alloc (&objfile->objfile_obstack, sizeof (struct symbol)); memset (sym, 0, sizeof (struct symbol)); - SYMBOL_LANGUAGE (sym) = language_cplus; + SYMBOL_SET_LANGUAGE (sym, language_cplus); /* Note that init_type copied the name to the objfile's obstack. */ SYMBOL_SET_NAMES (sym, TYPE_NAME (type), len, 0, objfile); diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c index 9eb7466..e00501e 100644 --- a/gdb/dwarf2read.c +++ b/gdb/dwarf2read.c @@ -10013,7 +10013,7 @@ new_symbol_full (struct die_info *die, struct type *type, struct dwarf2_cu *cu, OBJSTAT (objfile, n_syms++); /* Cache this symbol's name and the name's demangled form (if any). */ - SYMBOL_LANGUAGE (sym) = cu->language; + SYMBOL_SET_LANGUAGE (sym, cu->language); linkagename = dwarf2_physname (name, die, cu); SYMBOL_SET_NAMES (sym, linkagename, strlen (linkagename), 0, objfile); diff --git a/gdb/jv-lang.c b/gdb/jv-lang.c index 53fd9a2..c5f98bd 100644 --- a/gdb/jv-lang.c +++ b/gdb/jv-lang.c @@ -162,7 +162,7 @@ add_class_symbol (struct type *type, CORE_ADDR addr) sym = (struct symbol *) obstack_alloc (&dynamics_objfile->objfile_obstack, sizeof (struct symbol)); memset (sym, 0, sizeof (struct symbol)); - SYMBOL_LANGUAGE (sym) = language_java; + SYMBOL_SET_LANGUAGE (sym, language_java); SYMBOL_SET_LINKAGE_NAME (sym, TYPE_TAG_NAME (type)); SYMBOL_CLASS (sym) = LOC_TYPEDEF; /* SYMBOL_VALUE (sym) = valu; */ diff --git a/gdb/mdebugread.c b/gdb/mdebugread.c index 2e18fa4..0467816 100644 --- a/gdb/mdebugread.c +++ b/gdb/mdebugread.c @@ -4794,7 +4794,7 @@ new_symbol (char *name) sizeof (struct symbol))); memset (s, 0, sizeof (*s)); - SYMBOL_LANGUAGE (s) = psymtab_language; + SYMBOL_SET_LANGUAGE (s, psymtab_language); SYMBOL_SET_NAMES (s, name, strlen (name), 1, current_objfile); return s; } diff --git a/gdb/minsyms.c b/gdb/minsyms.c index cb4545c..0a57e77 100644 --- a/gdb/minsyms.c +++ b/gdb/minsyms.c @@ -833,8 +833,7 @@ prim_record_minimal_symbol_full (const char *name, int name_len, int copy_name, msym_bunch = new; } msymbol = &msym_bunch->contents[msym_bunch_index]; - SYMBOL_INIT_LANGUAGE_SPECIFIC (msymbol, language_unknown); - SYMBOL_LANGUAGE (msymbol) = language_auto; + SYMBOL_SET_LANGUAGE (msymbol, language_auto); SYMBOL_SET_NAMES (msymbol, name, name_len, copy_name, objfile); SYMBOL_VALUE_ADDRESS (msymbol) = address; @@ -1145,7 +1144,7 @@ install_minimal_symbols (struct objfile *objfile) MSYMBOL_TARGET_FLAG_2 (&msymbols[mcount]) = 0; MSYMBOL_SIZE (&msymbols[mcount]) = 0; MSYMBOL_TYPE (&msymbols[mcount]) = mst_unknown; - SYMBOL_INIT_LANGUAGE_SPECIFIC (&msymbols[mcount], language_unknown); + SYMBOL_SET_LANGUAGE (&msymbols[mcount], language_unknown); /* Attach the minimal symbol table to the specified objfile. The strings themselves are also located in the objfile_obstack diff --git a/gdb/objfiles.c b/gdb/objfiles.c index c67c164..b522189 100644 --- a/gdb/objfiles.c +++ b/gdb/objfiles.c @@ -376,7 +376,7 @@ terminate_minimal_symbol_table (struct objfile *objfile) memset (m, 0, sizeof (*m)); /* Don't rely on these enumeration values being 0's. */ MSYMBOL_TYPE (m) = mst_unknown; - SYMBOL_INIT_LANGUAGE_SPECIFIC (m, language_unknown); + SYMBOL_SET_LANGUAGE (m, language_unknown); } } diff --git a/gdb/psymtab.c b/gdb/psymtab.c index c120894..bc47681 100644 --- a/gdb/psymtab.c +++ b/gdb/psymtab.c @@ -1304,7 +1304,7 @@ add_psymbol_to_bcache (char *name, int namelength, int copy_name, SYMBOL_VALUE_ADDRESS (&psymbol) = coreaddr; } SYMBOL_SECTION (&psymbol) = 0; - SYMBOL_LANGUAGE (&psymbol) = language; + SYMBOL_SET_LANGUAGE (&psymbol, language); PSYMBOL_DOMAIN (&psymbol) = domain; PSYMBOL_CLASS (&psymbol) = class; diff --git a/gdb/stabsread.c b/gdb/stabsread.c index b62156c..ea9d1e0 100644 --- a/gdb/stabsread.c +++ b/gdb/stabsread.c @@ -704,7 +704,7 @@ define_symbol (CORE_ADDR valu, char *string, int desc, int type, else { normal: - SYMBOL_LANGUAGE (sym) = current_subfile->language; + SYMBOL_SET_LANGUAGE (sym, current_subfile->language); if (SYMBOL_LANGUAGE (sym) == language_cplus) { char *name = alloca (p - string + 1); @@ -3656,7 +3656,7 @@ read_enum_type (char **pp, struct type *type, obstack_alloc (&objfile->objfile_obstack, sizeof (struct symbol)); memset (sym, 0, sizeof (struct symbol)); SYMBOL_SET_LINKAGE_NAME (sym, name); - SYMBOL_LANGUAGE (sym) = current_subfile->language; + SYMBOL_SET_LANGUAGE (sym, current_subfile->language); SYMBOL_CLASS (sym) = LOC_CONST; SYMBOL_DOMAIN (sym) = VAR_DOMAIN; SYMBOL_VALUE (sym) = n; diff --git a/gdb/symtab.c b/gdb/symtab.c index 4acd4a1..51c7be5 100644 --- a/gdb/symtab.c +++ b/gdb/symtab.c @@ -393,13 +393,11 @@ symbol_get_demangled_name (const struct general_symbol_info *gsymbol) /* Initialize the language dependent portion of a symbol depending upon the language for the symbol. */ void -symbol_init_language_specific (struct general_symbol_info *gsymbol, - enum language language) +symbol_set_language (struct general_symbol_info *gsymbol, + enum language language) { - gsymbol->language = language; - if (gsymbol->language == language_cplus - || gsymbol->language == language_d + if (gsymbol->language == language_d || gsymbol->language == language_java || gsymbol->language == language_objc || gsymbol->language == language_fortran) diff --git a/gdb/symtab.h b/gdb/symtab.h index de6f188..5c1b321 100644 --- a/gdb/symtab.h +++ b/gdb/symtab.h @@ -187,10 +187,10 @@ extern CORE_ADDR symbol_overlayed_address (CORE_ADDR, struct obj_section *); /* Initializes the language dependent portion of a symbol depending upon the language for the symbol. */ -#define SYMBOL_INIT_LANGUAGE_SPECIFIC(symbol,language) \ - (symbol_init_language_specific (&(symbol)->ginfo, (language))) -extern void symbol_init_language_specific (struct general_symbol_info *symbol, - enum language language); +#define SYMBOL_SET_LANGUAGE(symbol,language) \ + (symbol_set_language (&(symbol)->ginfo, (language))) +extern void symbol_set_language (struct general_symbol_info *symbol, + enum language language); /* Set just the linkage name of a symbol; do not try to demangle it. Used for constructs which do not have a mangled name, --------------000907060908070004050609--