* hppa.c: Conditionalize on HOST_HPPAHPUX instead of hp9000s800.

Get rid of HPPA/BSD specific code.  That will go somewhere else
someday.
* (fill_spaces):  Don't spin forever and die if you don't find
$MILLICODE$ subspace.
* (hppa_object_p):  Make sure that we have a real honest-to-cthulu
exec file!
* (hppa_core_file_failing_signal, hppa_core_file_failing_command):
Make these work for HPUX.
* (make_bfd_asection):  New routine to make section creation a
little easier.
* (hppa_core_file_p):  Completely rewrite, leave out bugs.
* libhppa.h:  #include the right system files.  Redefine all of
the structs/macros for hacking core files to use more sensible
HPUX core file structures.
* targets.c (target_vector):  Conditionalize hppa_vec on
HOST_HPPAHPUX, not hp9000s800.
* hosts/hppahpux.h:  #include stdlib.h to get correct decls for
malloc and realloc.  #define HOST_HPPAHPUX.
This commit is contained in:
Stu Grossman
1992-12-22 01:53:06 +00:00
parent 60ac749cab
commit 205d660d59
3 changed files with 171 additions and 154 deletions

View File

@ -20,31 +20,20 @@ You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
#include <sys/core.h>
#include <sys/utsname.h>
#define BYTES_IN_WORD 4
struct header;
struct som_exec_auxhdr;
struct subspace_dictionary;
#define FILE_HDR_SIZE sizeof(struct header)
#define AUX_HDR_SIZE sizeof(struct som_exec_auxhdr)
unsigned int millicode_start, millicode_end;
struct nlist {
union {
char *n_name;
struct nlist *n_next;
long n_strx;
} n_un;
unsigned char n_type;
char n_other;
short n_desc;
unsigned long n_value;
};
typedef struct hppa_symbol
{
asymbol symbol;
@ -87,7 +76,6 @@ struct hppa_data_struct {
struct hppadata a;
};
#define padata(bfd) ((bfd)->tdata.hppa_data->a)
#define obj_file_hdr(bfd) (padata(bfd).file_hdr)
#define obj_aux_hdr(bfd) (padata(bfd).aux_hdr)
@ -112,16 +100,19 @@ struct hppa_data_struct {
/* These are stored in the bfd's tdata */
struct hppa_core_struct
{
struct hpuxuser *upage;
int sig;
char cmd[MAXCOMLEN + 1];
asection *data_section;
asection *stack_section;
asection *reg_section;
};
#define core_upage(bfd) ((bfd)->tdata.hppa_core_data->upage)
#define core_datasec(bfd) ((bfd)->tdata.hppa_core_data->data_section)
#define core_stacksec(bfd) ((bfd)->tdata.hppa_core_data->stack_section)
#define core_regsec(bfd) ((bfd)->tdata.hppa_core_data->reg_section)
#define core_hdr(bfd) ((bfd)->tdata.hppa_core_data)
#define core_signal(bfd) (core_hdr(bfd)->sig)
#define core_command(bfd) (core_hdr(bfd)->cmd)
#define core_datasec(bfd) (core_hdr(bfd)->data_section)
#define core_stacksec(bfd) (core_hdr(bfd)->stack_section)
#define core_regsec(bfd) (core_hdr(bfd)->reg_section)