From: Joel Brobecker <brobecker@gnat.com>
To: Andrew Cagney <ac131313@ges.redhat.com>
Cc: gdb-patches@sources.redhat.com
Subject: Re: [RFA] Missing #include in objfiles.h?
Date: Fri, 02 Aug 2002 20:10:00 -0000 [thread overview]
Message-ID: <20020803031009.GE3259@gnat.com> (raw)
In-Reply-To: <3D499E85.9080506@ges.redhat.com>
[-- Attachment #1: Type: text/plain, Size: 1519 bytes --]
On Thu, Aug 01, 2002 at 04:48:05PM -0400, Andrew Cagney wrote:
> >I'm not sure if this is intended or not, but objfiles.h relies on
> >symfile.h for the definition of certain structures. However, objfiles
> >does not #include symfile. So my attempt to include objfiles without
> >prior including symfile caused a compilation error.
>
> What exactly? A mindless grep suggests opaque references but not a hard
> dependency. Adding an opaque ``struct sym_fns;'' to avoid an include is ok.
Here are the fields in struct objfile that cause the compilation error:
/* Vectors of all partial symbols read in from file. The actual data
is stored in the psymbol_obstack. */
struct psymbol_allocation_list global_psymbols;
struct psymbol_allocation_list static_psymbols;
So the full definition is need for this file to compile.
>2002-08-01 Joel Brobecker <brobecker@gnat.com>
>
> * objfiles.h: Add missing #include "symfile.h"
>
> * Makefile.in (objfiles_h): Add dependency on symfile.h and
> dependents.
>
> >+ #include "symfile.h"
>
> Suggest a comment mentioning what was needed.
The attached patch contains the suggested comment.
> PS: I've this memory of, on true64 or hpux, there being a tangled mess
> of includes that stopped the above from being added. That, however, is
> a true64/hppa problem and is likely fixed by multi-arching.
Just to be on the safe side, I have regression tested this patch on
HP/UX 11.00, and Tru64 5.1A. No problem.
--
Joel
[-- Attachment #2: objfiles.h.diff --]
[-- Type: text/plain, Size: 1679 bytes --]
Index: objfiles.h
===================================================================
RCS file: /cvs/src/src/gdb/objfiles.h,v
retrieving revision 1.14
diff -c -3 -p -r1.14 objfiles.h
*** objfiles.h 29 Jul 2002 22:55:26 -0000 1.14
--- objfiles.h 3 Aug 2002 03:09:08 -0000
***************
*** 23,29 ****
#if !defined (OBJFILES_H)
#define OBJFILES_H
! #include "gdb_obstack.h" /* For obstack internals. */
struct bcache;
/* This structure maintains information on a per-objfile basis about the
--- 23,31 ----
#if !defined (OBJFILES_H)
#define OBJFILES_H
! #include "gdb_obstack.h" /* For obstack internals. */
! #include "symfile.h" /* For struct psymbol_allocation_list */
!
struct bcache;
/* This structure maintains information on a per-objfile basis about the
Index: Makefile.in
===================================================================
RCS file: /cvs/src/src/gdb/Makefile.in,v
retrieving revision 1.228
diff -c -3 -p -r1.228 Makefile.in
*** Makefile.in 30 Jul 2002 19:59:06 -0000 1.228
--- Makefile.in 3 Aug 2002 03:09:10 -0000
*************** macrotab_h = macrotab.h
*** 656,662 ****
macroscope_h = macroscope.h $(macrotab_h) $(symtab_h)
memattr_h = memattr.h
monitor_h = monitor.h
! objfiles_h = objfiles.h $(gdb_obstack_h)
parser_defs_h = parser-defs.h $(doublest_h)
ppc_tdep_h = ppc-tdep.h osabi.h
regcache_h = regcache.h
--- 656,662 ----
macroscope_h = macroscope.h $(macrotab_h) $(symtab_h)
memattr_h = memattr.h
monitor_h = monitor.h
! objfiles_h = objfiles.h $(gdb_obstack_h) $(symfile_h)
parser_defs_h = parser-defs.h $(doublest_h)
ppc_tdep_h = ppc-tdep.h osabi.h
regcache_h = regcache.h
next prev parent reply other threads:[~2002-08-03 3:10 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-08-01 12:28 Joel Brobecker
2002-08-01 13:48 ` Andrew Cagney
2002-08-02 20:10 ` Joel Brobecker [this message]
2002-08-03 16:25 ` Andrew Cagney
2002-08-05 9:18 ` Joel Brobecker
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20020803031009.GE3259@gnat.com \
--to=brobecker@gnat.com \
--cc=ac131313@ges.redhat.com \
--cc=gdb-patches@sources.redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox