Change target of hppa-netbsd port
This commit is contained in:
parent
249dba3eb2
commit
85cf2a8a15
8 changed files with 46 additions and 19 deletions
|
@ -1,3 +1,7 @@
|
||||||
|
2003-10-06 Matt Thomas <matt@3am-software.com>
|
||||||
|
|
||||||
|
config.bfd: Move the hppa*-*-netbsd* case to the hppa*-*-linux* case.
|
||||||
|
|
||||||
2003-10-06 Robert Millan <robertmh@gnu.org>
|
2003-10-06 Robert Millan <robertmh@gnu.org>
|
||||||
|
|
||||||
* configure.in: Match GNU/KNetBSD with new knetbsd*-gnu triplet.
|
* configure.in: Match GNU/KNetBSD with new knetbsd*-gnu triplet.
|
||||||
|
|
|
@ -366,11 +366,11 @@ case "${targ}" in
|
||||||
;;
|
;;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
hppa*-*-linux-gnu*)
|
hppa*-*-linux-gnu* | hppa*-*-netbsd*)
|
||||||
targ_defvec=bfd_elf32_hppa_linux_vec
|
targ_defvec=bfd_elf32_hppa_linux_vec
|
||||||
targ_selvecs=bfd_elf32_hppa_vec
|
targ_selvecs=bfd_elf32_hppa_vec
|
||||||
;;
|
;;
|
||||||
hppa*-*-*elf* | hppa*-*-lites* | hppa*-*-netbsd* | hppa*-*-sysv4* | hppa*-*-rtems* | hppa*-*-openbsd*)
|
hppa*-*-*elf* | hppa*-*-lites* | hppa*-*-sysv4* | hppa*-*-rtems* | hppa*-*-openbsd*)
|
||||||
targ_defvec=bfd_elf32_hppa_vec
|
targ_defvec=bfd_elf32_hppa_vec
|
||||||
targ_selvecs=bfd_elf32_hppa_linux_vec
|
targ_selvecs=bfd_elf32_hppa_linux_vec
|
||||||
;;
|
;;
|
||||||
|
|
|
@ -1,3 +1,15 @@
|
||||||
|
2003-10-06 Matt Thomas <matt@3am-software.com>
|
||||||
|
|
||||||
|
Switch NetBSD/hppa to use Linux PA-RISC ELF ABI and
|
||||||
|
assembler syntax.
|
||||||
|
|
||||||
|
tc-hppa.c: Add "%farg[0-3]", "%fret", "%t[1-4]", "%tf[1-4]"
|
||||||
|
register names. Change all "defined (TE_LINUX)" to
|
||||||
|
"(defined (TE_LINUX) || defined (TE_NETBSD))".
|
||||||
|
|
||||||
|
tc-hppa.h: Make NetBSD use "elfXX-hppa-linux" bfd target.
|
||||||
|
Remove NetBSD's use of LABELS_WITHOUT_COLONS.
|
||||||
|
|
||||||
2003-10-06 Robert Millan <robertmh@gnu.org>
|
2003-10-06 Robert Millan <robertmh@gnu.org>
|
||||||
|
|
||||||
* configure.in: Match GNU/KNetBSD with new knetbsd*-gnu triplet.
|
* configure.in: Match GNU/KNetBSD with new knetbsd*-gnu triplet.
|
||||||
|
|
|
@ -490,7 +490,7 @@ struct selector_entry
|
||||||
static void pa_check_current_space_and_subspace PARAMS ((void));
|
static void pa_check_current_space_and_subspace PARAMS ((void));
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if !(defined (OBJ_ELF) && defined (TE_LINUX))
|
#if !(defined (OBJ_ELF) && (defined (TE_LINUX) || defined (TE_NetBSD)))
|
||||||
static void pa_text PARAMS ((int));
|
static void pa_text PARAMS ((int));
|
||||||
static void pa_data PARAMS ((int));
|
static void pa_data PARAMS ((int));
|
||||||
static void pa_comm PARAMS ((int));
|
static void pa_comm PARAMS ((int));
|
||||||
|
@ -647,7 +647,7 @@ const pseudo_typeS md_pseudo_table[] =
|
||||||
{"byte", pa_cons, 1},
|
{"byte", pa_cons, 1},
|
||||||
{"call", pa_call, 0},
|
{"call", pa_call, 0},
|
||||||
{"callinfo", pa_callinfo, 0},
|
{"callinfo", pa_callinfo, 0},
|
||||||
#if defined (OBJ_ELF) && defined (TE_LINUX)
|
#if defined (OBJ_ELF) && (defined (TE_LINUX) || defined (TE_NetBSD))
|
||||||
{"code", obj_elf_text, 0},
|
{"code", obj_elf_text, 0},
|
||||||
#else
|
#else
|
||||||
{"code", pa_text, 0},
|
{"code", pa_text, 0},
|
||||||
|
@ -657,14 +657,14 @@ const pseudo_typeS md_pseudo_table[] =
|
||||||
{"compiler", pa_compiler, 0},
|
{"compiler", pa_compiler, 0},
|
||||||
#endif
|
#endif
|
||||||
{"copyright", pa_copyright, 0},
|
{"copyright", pa_copyright, 0},
|
||||||
#if !(defined (OBJ_ELF) && defined (TE_LINUX))
|
#if !(defined (OBJ_ELF) && (defined (TE_LINUX) || defined (TE_NetBSD)))
|
||||||
{"data", pa_data, 0},
|
{"data", pa_data, 0},
|
||||||
#endif
|
#endif
|
||||||
{"double", pa_float_cons, 'd'},
|
{"double", pa_float_cons, 'd'},
|
||||||
{"dword", pa_cons, 8},
|
{"dword", pa_cons, 8},
|
||||||
{"end", pa_end, 0},
|
{"end", pa_end, 0},
|
||||||
{"end_brtab", pa_brtab, 0},
|
{"end_brtab", pa_brtab, 0},
|
||||||
#if !(defined (OBJ_ELF) && defined (TE_LINUX))
|
#if !(defined (OBJ_ELF) && (defined (TE_LINUX) || defined (TE_NetBSD)))
|
||||||
{"end_try", pa_try, 0},
|
{"end_try", pa_try, 0},
|
||||||
#endif
|
#endif
|
||||||
{"enter", pa_enter, 0},
|
{"enter", pa_enter, 0},
|
||||||
|
@ -705,7 +705,7 @@ const pseudo_typeS md_pseudo_table[] =
|
||||||
#ifdef OBJ_SOM
|
#ifdef OBJ_SOM
|
||||||
{"subspa", pa_subspace, 0},
|
{"subspa", pa_subspace, 0},
|
||||||
#endif
|
#endif
|
||||||
#if !(defined (OBJ_ELF) && defined (TE_LINUX))
|
#if !(defined (OBJ_ELF) && (defined (TE_LINUX) || defined (TE_NetBSD)))
|
||||||
{"text", pa_text, 0},
|
{"text", pa_text, 0},
|
||||||
#endif
|
#endif
|
||||||
{"version", pa_version, 0},
|
{"version", pa_version, 0},
|
||||||
|
@ -852,6 +852,10 @@ static const struct pd_reg pre_defined_registers[] =
|
||||||
{"%dp", 27},
|
{"%dp", 27},
|
||||||
{"%eiem", 15},
|
{"%eiem", 15},
|
||||||
{"%eirr", 23},
|
{"%eirr", 23},
|
||||||
|
{"%farg0", 5},
|
||||||
|
{"%farg1", 6},
|
||||||
|
{"%farg2", 7},
|
||||||
|
{"%farg3", 8},
|
||||||
{"%fr0", 0 + FP_REG_BASE},
|
{"%fr0", 0 + FP_REG_BASE},
|
||||||
{"%fr0l", 0 + FP_REG_BASE},
|
{"%fr0l", 0 + FP_REG_BASE},
|
||||||
{"%fr0r", 0 + FP_REG_BASE + FP_REG_RSEL},
|
{"%fr0r", 0 + FP_REG_BASE + FP_REG_RSEL},
|
||||||
|
@ -948,6 +952,7 @@ static const struct pd_reg pre_defined_registers[] =
|
||||||
{"%fr9", 9 + FP_REG_BASE},
|
{"%fr9", 9 + FP_REG_BASE},
|
||||||
{"%fr9l", 9 + FP_REG_BASE},
|
{"%fr9l", 9 + FP_REG_BASE},
|
||||||
{"%fr9r", 9 + FP_REG_BASE + FP_REG_RSEL},
|
{"%fr9r", 9 + FP_REG_BASE + FP_REG_RSEL},
|
||||||
|
{"%fret", 4},
|
||||||
{"%hta", 25},
|
{"%hta", 25},
|
||||||
{"%iir", 19},
|
{"%iir", 19},
|
||||||
{"%ior", 21},
|
{"%ior", 21},
|
||||||
|
@ -1013,6 +1018,14 @@ static const struct pd_reg pre_defined_registers[] =
|
||||||
{"%sr5", 5},
|
{"%sr5", 5},
|
||||||
{"%sr6", 6},
|
{"%sr6", 6},
|
||||||
{"%sr7", 7},
|
{"%sr7", 7},
|
||||||
|
{"%t1", 22},
|
||||||
|
{"%t2", 21},
|
||||||
|
{"%t3", 20},
|
||||||
|
{"%t4", 19},
|
||||||
|
{"%tf1", 11},
|
||||||
|
{"%tf2", 10},
|
||||||
|
{"%tf3", 9},
|
||||||
|
{"%tf4", 8},
|
||||||
{"%tr0", 24},
|
{"%tr0", 24},
|
||||||
{"%tr1", 25},
|
{"%tr1", 25},
|
||||||
{"%tr2", 26},
|
{"%tr2", 26},
|
||||||
|
@ -6304,7 +6317,7 @@ pa_callinfo (unused)
|
||||||
demand_empty_rest_of_line ();
|
demand_empty_rest_of_line ();
|
||||||
}
|
}
|
||||||
|
|
||||||
#if !(defined (OBJ_ELF) && defined (TE_LINUX))
|
#if !(defined (OBJ_ELF) && (defined (TE_LINUX) || defined (TE_NetBSD)))
|
||||||
/* Switch to the text space. Like s_text, but delete our
|
/* Switch to the text space. Like s_text, but delete our
|
||||||
label when finished. */
|
label when finished. */
|
||||||
static void
|
static void
|
||||||
|
@ -6384,7 +6397,7 @@ pa_comm (unused)
|
||||||
}
|
}
|
||||||
demand_empty_rest_of_line ();
|
demand_empty_rest_of_line ();
|
||||||
}
|
}
|
||||||
#endif /* !(defined (OBJ_ELF) && defined (TE_LINUX)) */
|
#endif /* !(defined (OBJ_ELF) && (defined (TE_LINUX) || defined (TE_NetBSD))) */
|
||||||
|
|
||||||
/* Process a .END pseudo-op. */
|
/* Process a .END pseudo-op. */
|
||||||
|
|
||||||
|
|
|
@ -48,14 +48,14 @@
|
||||||
#ifdef OBJ_ELF
|
#ifdef OBJ_ELF
|
||||||
#if TARGET_ARCH_SIZE == 64
|
#if TARGET_ARCH_SIZE == 64
|
||||||
#include "bfd/elf64-hppa.h"
|
#include "bfd/elf64-hppa.h"
|
||||||
#ifdef TE_LINUX
|
#if defined (TE_LINUX) || defined (TE_NetBSD)
|
||||||
#define TARGET_FORMAT "elf64-hppa-linux"
|
#define TARGET_FORMAT "elf64-hppa-linux"
|
||||||
#else
|
#else
|
||||||
#define TARGET_FORMAT "elf64-hppa"
|
#define TARGET_FORMAT "elf64-hppa"
|
||||||
#endif
|
#endif
|
||||||
#else /* TARGET_ARCH_SIZE == 32 */
|
#else /* TARGET_ARCH_SIZE == 32 */
|
||||||
#include "bfd/elf32-hppa.h"
|
#include "bfd/elf32-hppa.h"
|
||||||
#ifdef TE_LINUX
|
#if defined (TE_LINUX) || defined (TE_NetBSD)
|
||||||
#define TARGET_FORMAT "elf32-hppa-linux"
|
#define TARGET_FORMAT "elf32-hppa-linux"
|
||||||
#else
|
#else
|
||||||
#define TARGET_FORMAT "elf32-hppa"
|
#define TARGET_FORMAT "elf32-hppa"
|
||||||
|
@ -77,13 +77,6 @@
|
||||||
#define WARN_COMMENTS 1
|
#define WARN_COMMENTS 1
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef TE_NetBSD
|
|
||||||
/* XXX the original OpenBSD code has labels without colons,
|
|
||||||
so this is required, for now -- fredette@netbsd.org */
|
|
||||||
/* Labels are not required to have a colon for a suffix. */
|
|
||||||
#define LABELS_WITHOUT_COLONS 1
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* FIXME. Why oh why aren't these defined somewhere globally? */
|
/* FIXME. Why oh why aren't these defined somewhere globally? */
|
||||||
#ifndef FALSE
|
#ifndef FALSE
|
||||||
#define FALSE (0)
|
#define FALSE (0)
|
||||||
|
|
|
@ -1,3 +1,8 @@
|
||||||
|
2003-10-03 Matt Thomas <matt@3am-software.com>
|
||||||
|
|
||||||
|
* emulparams/hppanbsd.sh: Remove OUTPUT_FORMAT.
|
||||||
|
* emulparams/hppaobsd.sh: Add OUTPUT_FORMAT="elf32-hppa".
|
||||||
|
|
||||||
2003-10-06 Robert Millan <robertmh@gnu.org>
|
2003-10-06 Robert Millan <robertmh@gnu.org>
|
||||||
|
|
||||||
* configure.tgt: Match GNU/KNetBSD with new knetbsd*-gnu triplet.
|
* configure.tgt: Match GNU/KNetBSD with new knetbsd*-gnu triplet.
|
||||||
|
|
|
@ -3,4 +3,3 @@
|
||||||
|
|
||||||
. ${srcdir}/emulparams/hppalinux.sh
|
. ${srcdir}/emulparams/hppalinux.sh
|
||||||
|
|
||||||
OUTPUT_FORMAT="elf32-hppa"
|
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
. ${srcdir}/emulparams/hppanbsd.sh
|
. ${srcdir}/emulparams/hppanbsd.sh
|
||||||
|
|
||||||
|
OUTPUT_FORMAT="elf32-hppa"
|
||||||
TEXT_START_ADDR=0x1000
|
TEXT_START_ADDR=0x1000
|
||||||
TARGET_PAGE_SIZE=0x1000
|
TARGET_PAGE_SIZE=0x1000
|
||||||
MAXPAGESIZE=0x1000
|
MAXPAGESIZE=0x1000
|
||||||
|
|
Loading…
Reference in a new issue