From mboxrd@z Thu Jan 1 00:00:00 1970 From: Mark Kettenis To: Stu Grossman Cc: gdb-patches@sources.redhat.com Subject: Re: Patches for FreeBSD 4.2 Date: Thu, 12 Jul 2001 13:50:00 -0000 Message-id: References: <200107110639.f6B6d4K28642@ploor.juniper.net> X-SW-Source: 2001-07/msg00310.html Stu Grossman 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 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