mirror of
https://review.haiku-os.org/buildtools
synced 2026-02-05 00:13:15 +01:00
Compare commits
14 Commits
btrev29080
...
btrev30580
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
257de42932 | ||
|
|
fe3d3406e8 | ||
|
|
4df3ecf7d0 | ||
|
|
d5dc8c3804 | ||
|
|
294f58609a | ||
|
|
9da4e0a3c5 | ||
|
|
9c12fb3048 | ||
|
|
5d242e9e05 | ||
|
|
7219b3c58f | ||
|
|
beaf9299fc | ||
|
|
21658f885f | ||
|
|
0e5d48202a | ||
|
|
2a214e38d2 | ||
|
|
db596da671 |
@@ -883,6 +883,10 @@ case "${targ}" in
|
||||
targ_defvec=bfd_elf32_tradlittlemips_vec
|
||||
targ_selvecs="bfd_elf32_tradbigmips_vec bfd_elf64_tradbigmips_vec bfd_elf64_tradlittlemips_vec ecoff_little_vec ecoff_big_vec"
|
||||
;;
|
||||
mips*el-*-haiku*)
|
||||
targ_defvec=bfd_elf32_littlemips_vec
|
||||
targ_selvecs="bfd_elf32_bigmips_vec bfd_elf64_bigmips_vec bfd_elf64_littlemips_vec ecoff_little_vec ecoff_big_vec"
|
||||
;;
|
||||
mips*-*-netbsd*)
|
||||
targ_defvec=bfd_elf32_tradbigmips_vec
|
||||
targ_selvecs="bfd_elf32_tradlittlemips_vec bfd_elf64_tradbigmips_vec bfd_elf64_tradlittlemips_vec ecoff_big_vec ecoff_little_vec"
|
||||
|
||||
@@ -291,6 +291,7 @@ case ${generic_target} in
|
||||
mips-*-elf* | mips-*-rtems*) fmt=elf ;;
|
||||
mips-*-netbsd*) fmt=elf em=tmips ;;
|
||||
mips-*-openbsd*) fmt=elf em=tmips ;;
|
||||
mips*-*-haiku*) fmt=elf endian=little em=haiku ;;
|
||||
|
||||
mmix-*-*) fmt=elf ;;
|
||||
|
||||
|
||||
@@ -212,6 +212,7 @@ ALL_EMULATIONS = \
|
||||
eelf_i386_haiku.o \
|
||||
eelf_i386_ldso.o \
|
||||
eelf_ppc_haiku.o \
|
||||
eelf_mipsel_haiku.o \
|
||||
eelf_i386_vxworks.o \
|
||||
eelf_s390.o \
|
||||
egld960.o \
|
||||
@@ -1039,6 +1040,9 @@ eelf_i386_ldso.c: $(srcdir)/emulparams/elf_i386_ldso.sh \
|
||||
eelf_ppc_haiku.c: $(srcdir)/emulparams/elf_ppc_haiku.sh \
|
||||
$(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
|
||||
${GENSCRIPTS} elf_ppc_haiku "$(tdir_elf_ppc_haiku)"
|
||||
eelf_mipsel_haiku.c: $(srcdir)/emulparams/elf_mipsel_haiku.sh \
|
||||
$(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
|
||||
${GENSCRIPTS} elf_mipsel_haiku "$(tdir_elf_mipsel_haiku)"
|
||||
eelf_i386_vxworks.c: $(srcdir)/emulparams/elf_i386_vxworks.sh \
|
||||
$(srcdir)/emulparams/vxworks.sh $(srcdir)/emultempl/vxworks.em \
|
||||
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
|
||||
|
||||
@@ -463,6 +463,7 @@ ALL_EMULATIONS = \
|
||||
eelf_i386_haiku.o \
|
||||
eelf_i386_ldso.o \
|
||||
eelf_ppc_haiku.o \
|
||||
eelf_mipsel_haiku.o \
|
||||
eelf_i386_vxworks.o \
|
||||
eelf_s390.o \
|
||||
egld960.o \
|
||||
@@ -1866,6 +1867,9 @@ eelf_i386_haiku.c: $(srcdir)/emulparams/elf_i386_haiku.sh \
|
||||
eelf_i386_ldso.c: $(srcdir)/emulparams/elf_i386_ldso.sh \
|
||||
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
|
||||
${GENSCRIPTS} elf_i386_ldso "$(tdir_elf_i386_ldso)"
|
||||
eelf_mipsel_haiku.c: $(srcdir)/emulparams/elf_mipsel_haiku.sh \
|
||||
$(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
|
||||
${GENSCRIPTS} elf_mipsel_haiku "$(tdir_elf_mipsel_haiku)"
|
||||
eelf_ppc_haiku.c: $(srcdir)/emulparams/elf_ppc_haiku.sh \
|
||||
$(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
|
||||
${GENSCRIPTS} elf_ppc_haiku "$(tdir_elf_ppc_haiku)"
|
||||
|
||||
@@ -369,6 +369,9 @@ mips*-*-ecoff*) targ_emul=mipsidt ;;
|
||||
mips*el-*-netbsd*) targ_emul=elf32ltsmip
|
||||
targ_extra_emuls="elf32btsmip elf64ltsmip elf64btsmip"
|
||||
;;
|
||||
mips*el-*-haiku*) targ_emul=elf_mipsel_haiku
|
||||
targ_extra_emuls="elf32ltsmip elf32btsmip elf32ltsmipn32 elf64ltsmip elf32btsmipn32 elf64btsmip"
|
||||
;;
|
||||
mips*-*-netbsd*) targ_emul=elf32btsmip
|
||||
targ_extra_emuls="elf32ltsmip elf64btsmip elf64ltsmip"
|
||||
;;
|
||||
|
||||
2
binutils/ld/emulparams/elf_mipsel_haiku.sh
Normal file
2
binutils/ld/emulparams/elf_mipsel_haiku.sh
Normal file
@@ -0,0 +1,2 @@
|
||||
. ${srcdir}/emulparams/elf32lmip.sh
|
||||
|
||||
@@ -1645,6 +1645,8 @@ m68k-*-rtems*)
|
||||
extra_parts="crtbegin.o crtend.o"
|
||||
;;
|
||||
m68k-*-haiku*)
|
||||
default_m68k_cpu=68020
|
||||
default_cf_cpu=5206
|
||||
tmake_file="m68k/t-m68kbare m68k/t-crtstuff t-haiku" #??
|
||||
tm_file="${tm_file} dbxelf.h elfos.h haiku.h m68k/haiku.h"
|
||||
tm_defines="MOTOROLA USE_GAS"
|
||||
@@ -1800,6 +1802,11 @@ mips-*-elf* | mipsel-*-elf*)
|
||||
tmake_file="mips/t-elf mips/t-libgcc-mips16"
|
||||
use_fixproto=yes
|
||||
;;
|
||||
mipsel-*-haiku*)
|
||||
tmake_file='mips/t-elf t-haiku'
|
||||
tm_file="elfos.h ${tm_file} haiku.h mips/haiku.h"
|
||||
extra_parts='crtbegin.o crtend.o'
|
||||
;;
|
||||
mips64-*-elf* | mips64el-*-elf*)
|
||||
tm_file="elfos.h ${tm_file} mips/elf.h"
|
||||
tmake_file="mips/t-elf mips/t-libgcc-mips16"
|
||||
|
||||
@@ -62,7 +62,7 @@ Boston, MA 02111-1307, USA. */
|
||||
it was i386-mcount.o, but that doesn't exist in gcc 2.95.3 either. */
|
||||
|
||||
#undef STARTFILE_SPEC
|
||||
#define STARTFILE_SPEC "crti.o%s crtbegin.o%s %{!nostart:start_dyn.o%s} init_term_dyn.o%s %{p:mcount.o%s}"
|
||||
#define STARTFILE_SPEC "crti.o%s crtbegin.o%s %{!shared:%{!nostart:start_dyn.o%s}} init_term_dyn.o%s %{p:mcount.o%s}"
|
||||
|
||||
#undef ENDFILE_SPEC
|
||||
#define ENDFILE_SPEC "crtend.o%s crtn.o%s"
|
||||
@@ -83,6 +83,8 @@ Boston, MA 02111-1307, USA. */
|
||||
{ GCC_INCLUDE_DIR, "GCC", 0, 0, 0, 0 }, \
|
||||
{ FIXED_INCLUDE_DIR, "GCC", 0, 0, 0, 0 }, \
|
||||
{ TOOL_INCLUDE_DIR, "BINUTILS", 0, 1, 0, 0 }, \
|
||||
{ "/boot/home/config/include", 0, 0, 0, 0, 0 }, \
|
||||
{ "/boot/common/include", 0, 0, 0, 0, 0 }, \
|
||||
{ "/boot/develop/headers/os", 0, 0, 0, 0, 0 }, \
|
||||
{ "/boot/develop/headers/os/app", 0, 0, 0, 0, 0 }, \
|
||||
{ "/boot/develop/headers/os/device", 0, 0, 0, 0, 0 }, \
|
||||
@@ -106,7 +108,7 @@ Boston, MA 02111-1307, USA. */
|
||||
{ "/boot/develop/headers/os/be_apps/Deskbar", 0, 0, 0, 0, 0 }, \
|
||||
{ "/boot/develop/headers/os/be_apps/NetPositive", 0, 0, 0, 0, 0 }, \
|
||||
{ "/boot/develop/headers/os/be_apps/Tracker", 0, 0, 0, 0, 0 }, \
|
||||
{ "/boot/develop/headers/gnu", 0, 0, 0, 0, 0 }, \
|
||||
{ "/boot/develop/headers/3rdparty", 0, 0, 0, 0, 0 }, \
|
||||
{ "/boot/develop/headers/cpp", 0, 0, 0, 0, 0 }, \
|
||||
{ "/boot/develop/headers/bsd", 0, 0, 0, 0, 0 }, \
|
||||
{ "/boot/develop/headers/posix", 0, 0, 0, 0, 0 }, \
|
||||
@@ -146,7 +148,7 @@ Boston, MA 02111-1307, USA. */
|
||||
{ CROSS_INCLUDE_DIR "/os/be_apps/Deskbar", 0, 0, 0, 1, 0 }, \
|
||||
{ CROSS_INCLUDE_DIR "/os/be_apps/NetPositive", 0, 0, 0, 1, 0 }, \
|
||||
{ CROSS_INCLUDE_DIR "/os/be_apps/Tracker", 0, 0, 0, 1, 0 }, \
|
||||
{ CROSS_INCLUDE_DIR "/gnu", 0, 0, 0, 1, 0 }, \
|
||||
{ CROSS_INCLUDE_DIR "/3rdparty", 0, 0, 0, 1, 0 }, \
|
||||
{ CROSS_INCLUDE_DIR "/cpp", 0, 0, 0, 1, 0 }, \
|
||||
{ CROSS_INCLUDE_DIR "/bsd", 0, 0, 0, 1, 0 }, \
|
||||
{ CROSS_INCLUDE_DIR "/posix", 0, 0, 0, 1, 0 }, \
|
||||
|
||||
@@ -69,7 +69,7 @@ Boston, MA 02111-1307, USA. */
|
||||
/* If ELF is the default format, we should not use /lib/elf. */
|
||||
|
||||
#undef LINK_SPEC
|
||||
#define LINK_SPEC "%{!o*:-o %b} -m elf_i386_haiku -shared -no-undefined -Bsymbolic %{nostart:-e 0}"
|
||||
#define LINK_SPEC "-m elf_i386_haiku -shared -Bsymbolic %{nostart:-e 0} %{shared:-e 0} %{!shared: %{!nostart: -no-undefined}}"
|
||||
|
||||
/* A C statement (sans semicolon) to output to the stdio stream
|
||||
FILE the assembler definition of uninitialized global DECL named
|
||||
|
||||
64
gcc/gcc/config/mips/haiku.h
Normal file
64
gcc/gcc/config/mips/haiku.h
Normal file
@@ -0,0 +1,64 @@
|
||||
/* Definitions for MIPS running Haiku
|
||||
Copyright (C) 1998, 1999, 2000, 2001, 2002, 2004
|
||||
Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GCC.
|
||||
|
||||
GCC 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.
|
||||
|
||||
GCC 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 GCC; see the file COPYING. If not, write to
|
||||
the Free Software Foundation, 59 Temple Place - Suite 330,
|
||||
Boston, MA 02111-1307, USA. */
|
||||
|
||||
|
||||
#undef TARGET_VERSION
|
||||
#define TARGET_VERSION fprintf (stderr, " (MIPSEL Haiku/ELF)");
|
||||
|
||||
#undef SIZE_TYPE
|
||||
#define SIZE_TYPE "long unsigned int"
|
||||
|
||||
#undef PTRDIFF_TYPE
|
||||
#define PTRDIFF_TYPE "long int"
|
||||
|
||||
#undef WCHAR_TYPE
|
||||
#define WCHAR_TYPE "short unsigned int"
|
||||
|
||||
#undef WCHAR_TYPE_SIZE
|
||||
#define WCHAR_TYPE_SIZE 16
|
||||
|
||||
#define TARGET_OS_CPP_BUILTINS() \
|
||||
do \
|
||||
{ \
|
||||
builtin_define ("__HAIKU__"); \
|
||||
builtin_define ("__MIPS__"); \
|
||||
builtin_define ("__MIPSEL__"); \
|
||||
builtin_define ("_MIPSEL_"); \
|
||||
builtin_define ("__stdcall=__attribute__((__stdcall__))"); \
|
||||
builtin_define ("__cdecl=__attribute__((__cdecl__))"); \
|
||||
builtin_assert ("system=haiku"); \
|
||||
if (flag_pic) \
|
||||
{ \
|
||||
builtin_define ("__PIC__"); \
|
||||
builtin_define ("__pic__"); \
|
||||
} \
|
||||
/* Haiku apparently doesn't support merging of symbols across shared \
|
||||
object boundaries. Hence we need to explicitly specify that \
|
||||
type_infos are not merged, so that they get compared by name \
|
||||
instead of by pointer. */ \
|
||||
builtin_define ("__GXX_MERGED_TYPEINFO_NAMES=0"); \
|
||||
builtin_define ("__GXX_TYPEINFO_EQUALITY_INLINE=0"); \
|
||||
} \
|
||||
while (0)
|
||||
|
||||
#undef LINK_SPEC
|
||||
#define LINK_SPEC "%{!o*:-o %b} -m elf_mipsel_haiku -shared -Bsymbolic %{nostart:-e 0}"
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# There are system headers elsewhere, but these are the ones that
|
||||
# we are most likely to want to apply any fixes to.
|
||||
NATIVE_SYSTEM_HEADER_DIR = /boot/develop/headers/posix
|
||||
NATIVE_SYSTEM_HEADER_DIR = /boot/develop/headers
|
||||
LIMITS_H_TEST = [ -f $(SYSTEM_HEADER_DIR)/posix/limits.h ]
|
||||
@@ -222,6 +222,8 @@ arm*-*-netbsdelf*)
|
||||
;;
|
||||
arm*-*-netbsd*)
|
||||
;;
|
||||
arm-*-haiku*)
|
||||
;;
|
||||
arm*-*-linux*) # ARM GNU/Linux with ELF
|
||||
;;
|
||||
arm*-*-uclinux*) # ARM ucLinux
|
||||
@@ -313,7 +315,7 @@ i[34567]86-*-freebsd*)
|
||||
;;
|
||||
x86_64-*-freebsd*)
|
||||
;;
|
||||
i[34567]86-*-haikuelf* | i[34567]86-*-haiku*)
|
||||
i[34567]86-*-haiku*)
|
||||
;;
|
||||
i[34567]86-*-netbsdelf*)
|
||||
;;
|
||||
@@ -417,6 +419,8 @@ m68k-*-aout*)
|
||||
;;
|
||||
m68k-*-coff*)
|
||||
;;
|
||||
m68k-*-haiku*)
|
||||
;;
|
||||
m68020-*-elf* | m68k-*-elf*)
|
||||
;;
|
||||
m68010-*-netbsdelf* | m68k*-*-netbsdelf*)
|
||||
@@ -445,6 +449,8 @@ mips*-*-linux*) # Linux MIPS, either endian.
|
||||
;;
|
||||
mips*-*-openbsd*)
|
||||
;;
|
||||
mips*-*-haiku*)
|
||||
;;
|
||||
mipsisa32-*-elf* | mipsisa32el-*-elf*)
|
||||
;;
|
||||
mipsisa32r2-*-elf* | mipsisa32r2el-*-elf*)
|
||||
@@ -495,6 +501,8 @@ powerpc64-*-darwin*)
|
||||
;;
|
||||
powerpc*-*-freebsd*)
|
||||
;;
|
||||
powerpc-*-haiku*)
|
||||
;;
|
||||
powerpc-*-netbsd*)
|
||||
;;
|
||||
powerpc-*-chorusos*)
|
||||
|
||||
Reference in New Issue
Block a user