This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] Fix building gdb-7.0 on x86_64-*-freebsd


On Fri, Oct 16, 2009 at 04:22:38PM -0700, Joel Brobecker wrote:
> [gdb-patches added back]
> 
> I sent a private note to Mark asking whether he wanted to review
> this patch and he approved it.   The version number was further
> refined based on feedback from the FreeBSD developers, I believe.
> 
> So I checked in this change for Mark (who is currently traveling).
> 
> What I am not sure I understand completely is whether this patch
> is required for gdb-7.x or not.  On the one hand, you say it should
> compile fine on FreeBSD 8.0 (which is coming up for release, hopefully
> soon).  But then you say that the fields has been removed from
> 8.0 and mainline, and so it's needed.  I wonder if it was just a typo
> meaning ix86-*-freebsd instead of x86_64-*-freebsd.  If this is the
> case, then the patch is needed for gdb-7.1 to build on FreeBSD 8.x
> and later.

The patch is required for x86_64-*-freebsd.

I'm deleting a bunch of context to get to the relevant portion
of the diff.

> > +#if (__FreeBSD_version <  800075)
> >    regcache_raw_supply (regcache, AMD64_DS_REGNUM, &pcb->pcb_ds);
> >    regcache_raw_supply (regcache, AMD64_ES_REGNUM, &pcb->pcb_es);
> >    regcache_raw_supply (regcache, AMD64_FS_REGNUM, &pcb->pcb_fs);
> >    regcache_raw_supply (regcache, AMD64_GS_REGNUM, &pcb->pcb_gs);
> > +#endif

The above number 800075 means that any version of FreeBSD
with __FreeBSD_version less than 800075 will have a struct pcb
with the pcb_{fged} members.  Any version with __FreeBSD_version
greater than or equal to 800075 will have these structure members
removed.  The '8' in 800075 signifies the FreeBSD 8-branch.
The '75' signifies that 75 changes have occurred on the FreeBSD
8-branch that might need special handling.  The removal of the
struct members occurred on 2009-04-01 while the version number
was bumped to 800075 on 2009-04-06.  It's the closest version
number that will work in the '#if (...)'  that will allow the
gdb-7.x branch to build on all versions of FreeBSD on the amd64
architecture including the 8.0-Release Candidates (ie., the 
beta releases).

-- 
Steve


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]