Patches for FreeBSD 4.2
Mark Kettenis
kettenis@science.uva.nl
Thu Jul 12 13:50:00 GMT 2001
Stu Grossman <grossman@juniper.net> writes:
> Here is a set of patches that fixes a bunch of problems (and some testsuite
> failures) for FreeBSD 4.2.
Thanks. A few comments about the things that fall on my turf:
> + * i386-tdep.c (i386_store_return_value): Make sure that floats get
> + stored at the top of the FP stack.
Already fixed :-).
> + * i386-freebsd-nat.c: New file to support FreeBSD specific stuff.
* I'd prefer the name i386fbsd-nat.c, since we already have
alphafbsd-tdep.c.
* This file won't compile on FreeBSD 3.x, since <machine/sigframe.h>
doesn't exist. Besides, the implementation of a *_frame_saved_pc
function belongs in a target-dependent file, and shouldn't depend on
the target headers. What's wrong with the old implementation?
Hmm, `struct sigcontext' has been changed. The CVS logs in the
FreeBSD tree seems to imply that it is possible to distinguish
between a new and an old signal handler frame. So perhaps we can
distinguish between the two. Otherwise we have to provide different
implementations for old and new FreeBSD versions.
* I think the SOFTWARE_SINGLE_STEP_P stuff can be removed from your
version of child_resume.
> + * config/i386/tm-fbsd.h: Define FRAME_SAVED_PC to use FreeBSD specific
> + code to extract return PC from signal frames.
> + * Define FRAME_CHAIN_VALID to use func_frame_chain_valid, since ELF
> + doesn't generate N_TEXT object file markers.
> + * Remove SIGTRAMP_START and SIGTRAMP_END. Move all of that logic into
> + a FreeBSD specific function invoke via IN_SIGTRAMP.
Why did you comment out USE_STRUCT_CONVENTION here? AFAIK FreeBSD
uses the old GCC 1 conventions for passing short structs.
Mark
More information about the Gdb-patches
mailing list