diff options
author | 2006-10-06 20:58:15 +0000 | |
---|---|---|
committer | 2006-10-06 20:58:15 +0000 | |
commit | 2f0504870622346ae2f69899daa9fe8a414692b5 (patch) | |
tree | 3de1fd01f0c37defb20d69a5782e4f8242a0f53e | |
parent | sync (diff) | |
download | wireguard-openbsd-2f0504870622346ae2f69899daa9fe8a414692b5.tar.xz wireguard-openbsd-2f0504870622346ae2f69899daa9fe8a414692b5.zip |
Early bits for a 32-bit SuperH toolchain, currently for little-endian
systems only; more work is necessary in ld land.
-rw-r--r-- | Makefile.cross | 4 | ||||
-rw-r--r-- | gnu/usr.bin/binutils/Makefile.bsd-wrapper | 4 | ||||
-rw-r--r-- | gnu/usr.bin/binutils/bfd/config.bfd | 2 | ||||
-rw-r--r-- | gnu/usr.bin/binutils/gas/configure | 1 | ||||
-rw-r--r-- | gnu/usr.bin/binutils/gas/configure.in | 1 | ||||
-rw-r--r-- | gnu/usr.bin/binutils/gdb/configure.tgt | 2 | ||||
-rw-r--r-- | gnu/usr.bin/binutils/gdb/sh-tdep.c | 14 | ||||
-rw-r--r-- | gnu/usr.bin/binutils/ld/configure.tgt | 2 | ||||
-rw-r--r-- | gnu/usr.bin/gcc/gcc/config.gcc | 7 | ||||
-rw-r--r-- | gnu/usr.bin/gcc/gcc/config/sh/openbsd.h | 106 | ||||
-rw-r--r-- | gnu/usr.bin/gcc/gcc/config/sh/sh-protos.h | 4 | ||||
-rw-r--r-- | gnu/usr.bin/gcc/gcc/config/sh/sh.c | 15 | ||||
-rw-r--r-- | gnu/usr.bin/gcc/gcc/config/sh/sh.h | 6 | ||||
-rw-r--r-- | gnu/usr.bin/gcc/gcc/config/sh/t-openbsd | 19 | ||||
-rw-r--r-- | share/mk/bsd.own.mk | 5 | ||||
-rw-r--r-- | sys/sys/exec_aout.h | 3 | ||||
-rw-r--r-- | sys/sys/exec_elf.h | 3 |
17 files changed, 182 insertions, 16 deletions
diff --git a/Makefile.cross b/Makefile.cross index 28520fd65cd..f0a46276cab 100644 --- a/Makefile.cross +++ b/Makefile.cross @@ -1,4 +1,4 @@ -# $OpenBSD: Makefile.cross,v 1.20 2006/09/27 08:38:58 mickey Exp $ +# $OpenBSD: Makefile.cross,v 1.21 2006/10/06 20:58:15 miod Exp $ cross-tools: cross-includes cross-binutils cross-gcc cross-lib cross-distrib: cross-tools cross-bin cross-etc-root-var @@ -17,6 +17,8 @@ TARGET_ARCH= m88k TARGET_ARCH= mips64 .elif (${TARGET} == "macppc" || ${TARGET} == "mvmeppc") TARGET_ARCH= powerpc +.elif (${TARGET} == "landisk") +TARGET_ARCH= sh .else TARGET_ARCH= ${TARGET} .endif diff --git a/gnu/usr.bin/binutils/Makefile.bsd-wrapper b/gnu/usr.bin/binutils/Makefile.bsd-wrapper index 969af582b82..b41d7e0e272 100644 --- a/gnu/usr.bin/binutils/Makefile.bsd-wrapper +++ b/gnu/usr.bin/binutils/Makefile.bsd-wrapper @@ -1,6 +1,6 @@ -# $OpenBSD: Makefile.bsd-wrapper,v 1.66 2006/07/12 23:00:07 espie Exp $ +# $OpenBSD: Makefile.bsd-wrapper,v 1.67 2006/10/06 20:58:17 miod Exp $ -NEW_BINUTILS=alpha amd64 arm hppa hppa64 i386 mips64 powerpc sparc sparc64 +NEW_BINUTILS=alpha amd64 arm hppa hppa64 i386 mips64 powerpc sh sparc sparc64 .for _arch in ${MACHINE_ARCH} . if !empty(NEW_BINUTILS:M${_arch}) diff --git a/gnu/usr.bin/binutils/bfd/config.bfd b/gnu/usr.bin/binutils/bfd/config.bfd index a3bdcb9b886..e5edb3d7705 100644 --- a/gnu/usr.bin/binutils/bfd/config.bfd +++ b/gnu/usr.bin/binutils/bfd/config.bfd @@ -1080,7 +1080,7 @@ case "${targ}" in ;; #endif - sh*l*-*-netbsdelf*) + sh*-*-openbsd* | sh*l*-*-netbsdelf*) targ_defvec=bfd_elf32_shlnbsd_vec targ_selvecs="bfd_elf32_shnbsd_vec shcoff_vec shlcoff_vec" #ifdef BFD64 diff --git a/gnu/usr.bin/binutils/gas/configure b/gnu/usr.bin/binutils/gas/configure index a35663d3dd0..58a39d85960 100644 --- a/gnu/usr.bin/binutils/gas/configure +++ b/gnu/usr.bin/binutils/gas/configure @@ -4510,6 +4510,7 @@ echo "$as_me: error: Solaris must be configured little endian" >&2;} sh5*-*-netbsd*) fmt=elf em=nbsd ;; sh64*-*-netbsd*) fmt=elf em=nbsd ;; sh*-*-netbsdelf*) fmt=elf em=nbsd ;; + sh*-*-openbsd*) fmt=elf em=nbsd endian=little ;; sh-*-elf*) fmt=elf ;; sh-*-coff*) fmt=coff ;; sh-*-nto*) fmt=elf ;; diff --git a/gnu/usr.bin/binutils/gas/configure.in b/gnu/usr.bin/binutils/gas/configure.in index f28993a30c3..60a0369904a 100644 --- a/gnu/usr.bin/binutils/gas/configure.in +++ b/gnu/usr.bin/binutils/gas/configure.in @@ -465,6 +465,7 @@ changequote([,])dnl sh5*-*-netbsd*) fmt=elf em=nbsd ;; sh64*-*-netbsd*) fmt=elf em=nbsd ;; sh*-*-netbsdelf*) fmt=elf em=nbsd ;; + sh*-*-openbsd*) fmt=elf em=nbsd endian=little ;; sh-*-elf*) fmt=elf ;; sh-*-coff*) fmt=coff ;; sh-*-nto*) fmt=elf ;; diff --git a/gnu/usr.bin/binutils/gdb/configure.tgt b/gnu/usr.bin/binutils/gdb/configure.tgt index ea0ef9da4cf..ad260433386 100644 --- a/gnu/usr.bin/binutils/gdb/configure.tgt +++ b/gnu/usr.bin/binutils/gdb/configure.tgt @@ -178,7 +178,7 @@ sh-*-elf*) gdb_target=embed ;; sh-*-linux*) gdb_target=linux build_gdbserver=yes ;; -sh*-*-netbsdelf* | sh*-*-knetbsd*-gnu) +sh*-*-netbsdelf* | sh*-*-knetbsd*-gnu | sh*-*-openbsd*) gdb_target=nbsd ;; sh-*-nto*) gdb_target=nto ;; sh*) gdb_target=embed ;; diff --git a/gnu/usr.bin/binutils/gdb/sh-tdep.c b/gnu/usr.bin/binutils/gdb/sh-tdep.c index 48e994d4e2e..327454fd875 100644 --- a/gnu/usr.bin/binutils/gdb/sh-tdep.c +++ b/gnu/usr.bin/binutils/gdb/sh-tdep.c @@ -161,6 +161,7 @@ sh_sh2e_register_name (int reg_nr) return register_names[reg_nr]; } +#ifdef notyet static const char * sh_sh2a_register_name (int reg_nr) { @@ -240,6 +241,7 @@ sh_sh2a_nofpu_register_name (int reg_nr) return NULL; return register_names[reg_nr]; } +#endif static const char * sh_sh_dsp_register_name (int reg_nr) @@ -1402,6 +1404,7 @@ sh2e_show_regs (void) printf_filtered (("FP8-FP15 %08lx %08lx %08lx %08lx %08lx %08lx %08lx %08lx\n"), (long) read_register (FP0_REGNUM + 8), (long) read_register (FP0_REGNUM + 9), (long) read_register (FP0_REGNUM + 10), (long) read_register (FP0_REGNUM + 11), (long) read_register (FP0_REGNUM + 12), (long) read_register (FP0_REGNUM + 13), (long) read_register (FP0_REGNUM + 14), (long) read_register (FP0_REGNUM + 15)); } +#ifdef notyet static void sh2a_show_regs (void) { @@ -1536,6 +1539,7 @@ sh2a_nofpu_show_regs (void) (long) read_register (R0_BANK0_REGNUM + 18), (long) read_register (R0_BANK0_REGNUM + 19)); } +#endif static void sh3e_show_regs (void) @@ -1758,6 +1762,7 @@ sh_show_regs_command (char *args, int from_tty) (*sh_show_regs) (); } +#ifdef notyet static struct type * sh_sh2a_register_type (struct gdbarch *gdbarch, int reg_nr) { @@ -1769,6 +1774,7 @@ sh_sh2a_register_type (struct gdbarch *gdbarch, int reg_nr) else return builtin_type_int; } +#endif /* Return the GDB type object for the "standard" data type of data in register N. */ @@ -2210,6 +2216,7 @@ sh_dsp_register_sim_regno (int nr) return nr; } +#ifdef notyet static int sh_sh2a_register_sim_regno (int nr) { @@ -2238,6 +2245,7 @@ sh_sh2a_register_sim_regno (int nr) } return legacy_register_sim_regno (nr); } +#endif static struct sh_frame_cache * sh_alloc_frame_cache (void) @@ -2495,6 +2503,7 @@ sh_in_function_epilogue_p (struct gdbarch *gdbarch, CORE_ADDR pc) inst = read_memory_unsigned_integer (addr - 2, 2); } +#ifdef notyet /* On SH2a check if the previous instruction was perhaps a MOVI20. That's allowed for the epilogue. */ if ((gdbarch_bfd_arch_info (gdbarch)->mach == bfd_mach_sh2a @@ -2502,6 +2511,7 @@ sh_in_function_epilogue_p (struct gdbarch *gdbarch, CORE_ADDR pc) && addr > func_addr + 6 && IS_MOVI20 (read_memory_unsigned_integer (addr - 4, 2))) addr -= 4; +#endif if (pc >= addr) return 1; @@ -2522,12 +2532,14 @@ sh_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches) case bfd_mach_sh2e: sh_show_regs = sh2e_show_regs; break; +#ifdef notyet case bfd_mach_sh2a: sh_show_regs = sh2a_show_regs; break; case bfd_mach_sh2a_nofpu: sh_show_regs = sh2a_nofpu_show_regs; break; +#endif case bfd_mach_sh_dsp: sh_show_regs = sh_dsp_show_regs; break; @@ -2638,6 +2650,7 @@ sh_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches) set_gdbarch_push_dummy_call (gdbarch, sh_push_dummy_call_fpu); break; +#ifdef notyet case bfd_mach_sh2a: set_gdbarch_register_name (gdbarch, sh_sh2a_register_name); set_gdbarch_register_type (gdbarch, sh_sh2a_register_type); @@ -2659,6 +2672,7 @@ sh_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches) set_gdbarch_pseudo_register_read (gdbarch, sh_pseudo_register_read); set_gdbarch_pseudo_register_write (gdbarch, sh_pseudo_register_write); break; +#endif case bfd_mach_sh_dsp: set_gdbarch_register_name (gdbarch, sh_sh_dsp_register_name); diff --git a/gnu/usr.bin/binutils/ld/configure.tgt b/gnu/usr.bin/binutils/ld/configure.tgt index c8a620f7f52..6692e3e26ee 100644 --- a/gnu/usr.bin/binutils/ld/configure.tgt +++ b/gnu/usr.bin/binutils/ld/configure.tgt @@ -334,7 +334,7 @@ sh64-*-netbsd*) targ_emul=shelf64_nbsd targ_extra_emuls="shlelf64_nbsd shelf32_nbsd shlelf32_nbsd shelf_nbsd shlelf_nbsd" ;; -sh*l*-*-netbsdelf*) +sh*l*-*-netbsdelf*|sh*-*-openbsd*) targ_emul=shlelf_nbsd targ_extra_emuls=shelf_nbsd ;; diff --git a/gnu/usr.bin/gcc/gcc/config.gcc b/gnu/usr.bin/gcc/gcc/config.gcc index 0c1867549a3..b9f8c13897f 100644 --- a/gnu/usr.bin/gcc/gcc/config.gcc +++ b/gnu/usr.bin/gcc/gcc/config.gcc @@ -2412,6 +2412,13 @@ sh-*-netbsdelf* | shl*-*-netbsdelf* | sh5-*-netbsd* | sh5l*-*-netbsd* | \ ;; esac ;; +sh-*-openbsd*) + tm_file="sh/little.h dbxelf.h sh/sh.h elfos.h sh/elf.h ${tm_file}" + tmake_file="${tmake_file} sh/t-sh sh/t-elf" + # SH3, software floating point + target_cpu_default="SH1_BIT|SH2_BIT|SH3_BIT" + tmake_file="${tmake_file} sh/t-openbsd" + ;; sh-*-*) tm_file="${tm_file} sh/coff.h" ;; diff --git a/gnu/usr.bin/gcc/gcc/config/sh/openbsd.h b/gnu/usr.bin/gcc/gcc/config/sh/openbsd.h new file mode 100644 index 00000000000..4b133319fed --- /dev/null +++ b/gnu/usr.bin/gcc/gcc/config/sh/openbsd.h @@ -0,0 +1,106 @@ +/* Definitions for SH running OpenBSD using ELF + Copyright (C) 2002, 2006 Free Software Foundation, Inc. + Adapted from the NetBSD configuration contributed by Wasabi Systems, Inc. + +This file is part of GNU CC. + +GNU CC is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2, or (at your option) +any later version. + +GNU CC is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; see the file COPYING. If not, write to +the Free Software Foundation, 59 Temple Place - Suite 330, +Boston, MA 02111-1307, USA. */ + +#define OBSD_NO_DYNAMIC_LIBRARIES + +/* Get generic OpenBSD definitions. */ +#include <openbsd.h> + +#undef TARGET_DEFAULT +#define TARGET_DEFAULT \ + (TARGET_CPU_DEFAULT | USERMODE_BIT | TARGET_ENDIAN_DEFAULT) + +#define TARGET_OS_CPP_BUILTINS() OPENBSD_OS_CPP_BUILTINS_ELF() + +/* Layout of source language data types */ + +/* This must agree with <machine/_types.h> */ +#undef SIZE_TYPE +#define SIZE_TYPE "long unsigned int" + +#undef PTRDIFF_TYPE +#define PTRDIFF_TYPE "long int" + +#undef WCHAR_TYPE +#define WCHAR_TYPE "int" + +#undef WCHAR_TYPE_SIZE +#define WCHAR_TYPE_SIZE 32 + +#undef LINK_DEFAULT_CPU_EMUL +#define LINK_DEFAULT_CPU_EMUL "" + +#undef SUBTARGET_LINK_EMUL_SUFFIX +#define SUBTARGET_LINK_EMUL_SUFFIX "_nbsd" + +#undef SUBTARGET_LINK_SPEC +#define SUBTARGET_LINK_SPEC LINK_SPEC + +#undef LINK_SPEC +#define LINK_SPEC SH_LINK_SPEC + +/* As an elf system, we need crtbegin/crtend stuff. */ +#undef STARTFILE_SPEC +#define STARTFILE_SPEC "\ + %{!shared: %{pg:gcrt0%O%s} %{!pg:%{p:gcrt0%O%s} %{!p:crt0%O%s}} \ + crtbegin%O%s} %{shared:crtbeginS%O%s}" +#undef ENDFILE_SPEC +#define ENDFILE_SPEC "%{!shared:crtend%O%s} %{shared:crtendS%O%s}" + +#undef PREFERRED_DEBUGGING_TYPE +#define PREFERRED_DEBUGGING_TYPE DWARF2_DEBUG + +/* Provide a CPP_SPEC appropriate for OpenBSD. */ +#undef SUBTARGET_CPP_SPEC +#define SUBTARGET_CPP_SPEC OBSD_CPP_SPEC + +/* Define because we use the label and we do not need them. */ +#define NO_PROFILE_COUNTERS + +#undef FUNCTION_PROFILER +#define FUNCTION_PROFILER(STREAM,LABELNO) \ +do \ + { \ + if (TARGET_SHMEDIA32) \ + { \ + /* FIXME */ \ + abort (); \ + } \ + else if (TARGET_SHMEDIA64) \ + { \ + /* FIXME */ \ + abort (); \ + } \ + else \ + { \ + fprintf((STREAM), "\tmov.l\t%sLP%d,r1\n", \ + LOCAL_LABEL_PREFIX, (LABELNO)); \ + fprintf((STREAM), "\tmova\t%sLP%dr,r0\n", \ + LOCAL_LABEL_PREFIX, (LABELNO)); \ + fprintf((STREAM), "\tjmp\t@r1\n"); \ + fprintf((STREAM), "\tnop\n"); \ + fprintf((STREAM), "\t.align\t2\n"); \ + fprintf((STREAM), "%sLP%d:\t.long\t__mcount\n", \ + LOCAL_LABEL_PREFIX, (LABELNO)); \ + fprintf((STREAM), "%sLP%dr:\n", LOCAL_LABEL_PREFIX, (LABELNO)); \ + } \ + } \ +while (0) diff --git a/gnu/usr.bin/gcc/gcc/config/sh/sh-protos.h b/gnu/usr.bin/gcc/gcc/config/sh/sh-protos.h index 197b97d9243..475ab9dadfc 100644 --- a/gnu/usr.bin/gcc/gcc/config/sh/sh-protos.h +++ b/gnu/usr.bin/gcc/gcc/config/sh/sh-protos.h @@ -131,7 +131,7 @@ extern bool sh_cannot_change_mode_class extern void sh_mark_label PARAMS ((rtx, int)); extern int sh_register_move_cost PARAMS ((enum machine_mode mode, enum reg_class, enum reg_class)); -extern int check_use_sfunc_addr (rtx, rtx); +extern int check_use_sfunc_addr PARAMS ((rtx, rtx)); #ifdef HARD_CONST extern void fpscr_set_from_mem PARAMS ((int, HARD_REG_SET)); @@ -143,4 +143,6 @@ extern void sh_pr_trapa PARAMS ((cpp_reader *)); extern void sh_pr_nosave_low_regs PARAMS ((cpp_reader *)); #endif +extern rtx sh_get_pr_initial_val PARAMS ((void)); + #endif /* ! GCC_SH_PROTOS_H */ diff --git a/gnu/usr.bin/gcc/gcc/config/sh/sh.c b/gnu/usr.bin/gcc/gcc/config/sh/sh.c index e0cbbca88d5..883380d6047 100644 --- a/gnu/usr.bin/gcc/gcc/config/sh/sh.c +++ b/gnu/usr.bin/gcc/gcc/config/sh/sh.c @@ -4579,6 +4579,7 @@ sh_expand_prologue () int d, i; int d_rounding = 0; int save_flags = target_flags; + int size; current_function_interrupt = sh_cfun_interrupt_handler_p (); @@ -4872,7 +4873,12 @@ sh_expand_prologue () target_flags = save_flags; - output_stack_adjust (-rounded_frame_size (d) + d_rounding, + size = rounded_frame_size (d); + + if (warn_stack_larger_than && size > stack_larger_than_size) + warning ("stack usage is %d bytes", size); + + output_stack_adjust (-size + d_rounding, stack_pointer_rtx, TARGET_SH5 ? 0 : 1, frame_insn); if (frame_pointer_needed) @@ -7931,6 +7937,13 @@ sh_register_operand (op, mode) return register_operand (op, mode); } +rtx +sh_get_pr_initial_val (void) +{ + return + get_hard_reg_initial_val (Pmode, TARGET_SHMEDIA ? PR_MEDIA_REG : PR_REG); +} + /* INSN is an sfunc; return the rtx that describes the address used. */ static rtx extract_sfunc_addr (rtx insn) diff --git a/gnu/usr.bin/gcc/gcc/config/sh/sh.h b/gnu/usr.bin/gcc/gcc/config/sh/sh.h index 14667794e20..e8310502d34 100644 --- a/gnu/usr.bin/gcc/gcc/config/sh/sh.h +++ b/gnu/usr.bin/gcc/gcc/config/sh/sh.h @@ -2140,9 +2140,7 @@ while (0) can ignore COUNT. */ #define RETURN_ADDR_RTX(COUNT, FRAME) \ - (((COUNT) == 0) \ - ? get_hard_reg_initial_val (Pmode, TARGET_SHMEDIA ? PR_MEDIA_REG : PR_REG) \ - : (rtx) 0) + (((COUNT) == 0) ? sh_get_pr_initial_val () : (rtx) 0) /* A C expression whose value is RTL representing the location of the incoming return address at the beginning of any function, before the @@ -2989,7 +2987,7 @@ while (0) #define ASM_OUTPUT_LABELREF(FILE, NAME) \ do \ { \ - char * lname; \ + const char * lname; \ \ STRIP_DATALABEL_ENCODING (lname, (NAME)); \ if (lname[0] == '*') \ diff --git a/gnu/usr.bin/gcc/gcc/config/sh/t-openbsd b/gnu/usr.bin/gcc/gcc/config/sh/t-openbsd new file mode 100644 index 00000000000..408530f7ec7 --- /dev/null +++ b/gnu/usr.bin/gcc/gcc/config/sh/t-openbsd @@ -0,0 +1,19 @@ +#TARGET_LIBGCC2_CFLAGS = -fpic +TARGET_LIBGCC2_CFLAGS = +LIB1ASMFUNCS_CACHE = _ic_invalidate + +LIB2FUNCS_EXTRA= + +EXTRA_MULTILIB_PARTS= + +# OpenBSD's C library includes a fast software FP library that +# has support for setting/setting the rounding mode, exception +# mask, etc. Therefore, we don't want to include software FP +# in libgcc. +FPBIT = +DPBIT = + +MULTILIB_OPTIONS += m3e/m4 +MULTILIB_DIRNAMES= +MULTILIB_MATCHES = +MULTILIB_EXCEPTIONS= diff --git a/share/mk/bsd.own.mk b/share/mk/bsd.own.mk index cf9fb2b68c6..641de0a5f98 100644 --- a/share/mk/bsd.own.mk +++ b/share/mk/bsd.own.mk @@ -1,4 +1,4 @@ -# $OpenBSD: bsd.own.mk,v 1.96 2006/09/26 23:14:52 martin Exp $ +# $OpenBSD: bsd.own.mk,v 1.97 2006/10/06 20:58:17 miod Exp $ # $NetBSD: bsd.own.mk,v 1.24 1996/04/13 02:08:09 thorpej Exp $ # Host-specific overrides @@ -116,7 +116,8 @@ STATIC?= -static # don't try to generate PIC versions of libraries on machines # which don't support PIC. -.if ${MACHINE_ARCH} == "m88k" || ${MACHINE_ARCH} == "vax" +.if ${MACHINE_ARCH} == "m88k" || ${MACHINE_ARCH} == "vax" || \ + ${MACHINE_ARCH} == "sh" NOPIC= .endif diff --git a/sys/sys/exec_aout.h b/sys/sys/exec_aout.h index b989c2e5b8c..47cb20fa66e 100644 --- a/sys/sys/exec_aout.h +++ b/sys/sys/exec_aout.h @@ -1,4 +1,4 @@ -/* $OpenBSD: exec_aout.h,v 1.21 2004/08/10 18:51:15 deraadt Exp $ */ +/* $OpenBSD: exec_aout.h,v 1.22 2006/10/06 20:58:17 miod Exp $ */ /* $NetBSD: exec_aout.h,v 1.15 1996/05/18 17:20:54 christos Exp $ */ /* @@ -76,6 +76,7 @@ struct exec { #define MID_ALPHA 141 /* Alpha BSD binary */ #define MID_MIPS 142 /* big-endian MIPS */ #define MID_ARM6 143 /* ARM6 */ +#define MID_SH3 145 /* SH3 */ #define MID_POWERPC 149 /* big-endian PowerPC */ #define MID_VAX 150 /* vax */ #define MID_SPARC64 151 /* LP64 sparc */ diff --git a/sys/sys/exec_elf.h b/sys/sys/exec_elf.h index f72f81e145e..e100776d48e 100644 --- a/sys/sys/exec_elf.h +++ b/sys/sys/exec_elf.h @@ -1,4 +1,4 @@ -/* $OpenBSD: exec_elf.h,v 1.41 2006/01/06 18:53:05 millert Exp $ */ +/* $OpenBSD: exec_elf.h,v 1.42 2006/10/06 20:58:17 miod Exp $ */ /* * Copyright (c) 1995, 1996 Erik Theisen. All rights reserved. * @@ -189,6 +189,7 @@ typedef struct { #define EM_PPC 20 /* PowerPC */ #define EM_ARM 40 /* Advanced RISC Machines ARM */ #define EM_ALPHA 41 /* DEC ALPHA */ +#define EM_SH 42 /* Hitachi/Renesas Super-H */ #define EM_SPARCV9 43 /* SPARC version 9 */ #define EM_ALPHA_EXP 0x9026 /* DEC ALPHA */ #define EM_AMD64 62 /* AMD64 architecture */ |