Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions config.sub
Original file line number Diff line number Diff line change
Expand Up @@ -257,6 +257,7 @@ case $basic_machine in
| ba \
| be32 | be64 \
| bfin \
| bonjour \
| c4x | c8051 | clipper \
| d10v | d30v | dlx | dsp16xx \
| e2k | epiphany \
Expand Down Expand Up @@ -380,6 +381,7 @@ case $basic_machine in
| ba-* \
| be32-* | be64-* \
| bfin-* | bs2000-* \
| bonjour-* \
| c[123]* | c30-* | [cjt]90-* | c4x-* \
| c8051-* | clipper-* | craynv-* | cydra-* \
| d10v-* | d30v-* | dlx-* \
Expand Down
4 changes: 4 additions & 0 deletions configure
100755 → 100644
Original file line number Diff line number Diff line change
Expand Up @@ -3619,6 +3619,10 @@ case "${target}" in
noconfigdirs="$noconfigdirs ld gas gdb gprof"
noconfigdirs="$noconfigdirs sim target-rda"
;;
bonjour-*-*)
noconfigdirs="$noconfigdirs ${libgcj} gdb sim"
noconfigdirs="$noconfigdirs bfd binutils opcodes gas ld gprof"
;;
powerpc-*-darwin*)
noconfigdirs="$noconfigdirs ld gas gdb gprof"
noconfigdirs="$noconfigdirs sim target-rda"
Expand Down
50 changes: 27 additions & 23 deletions configure.ac
Original file line number Diff line number Diff line change
Expand Up @@ -112,11 +112,11 @@ extra_host_args=
### or a host dependent tool. Then put it into the appropriate list
### (library or tools, host or target), doing a dependency sort.

# Subdirs will be configured in the order listed in build_configdirs,
# Subdirs will be configured in the order listed in build_configdirs,
# configdirs, or target_configdirs; see the serialization section below.

# Dependency sorting is only needed when *configuration* must be done in
# a particular order. In all cases a dependency should be specified in
# Dependency sorting is only needed when *configuration* must be done in
# a particular order. In all cases a dependency should be specified in
# the Makefile, whether or not it's implicitly specified here.

# Double entries in build_configdirs, configdirs, or target_configdirs may
Expand Down Expand Up @@ -210,7 +210,7 @@ if test x"${host}" = x"${target}" ; then
is_cross_compiler=no
else
is_cross_compiler=yes
fi
fi

# Find the build and target subdir names.
GCC_TOPLEV_SUBDIRS
Expand Down Expand Up @@ -248,15 +248,15 @@ if test x$with_system_zlib = xyes ; then
noconfigdirs="$noconfigdirs zlib"
fi

# some tools are so dependent upon X11 that if we're not building with X,
# some tools are so dependent upon X11 that if we're not building with X,
# it's not even worth trying to configure, much less build, that tool.

case ${with_x} in
yes | "") ;; # the default value for this tree is that X11 is available
no)
skipdirs="${skipdirs} tk itcl libgui"
# We won't be able to build gdbtk without X.
enable_gdbtk=no
enable_gdbtk=no
;;
*) echo "*** bad value \"${with_x}\" for -with-x flag; ignored" 1>&2 ;;
esac
Expand Down Expand Up @@ -412,7 +412,7 @@ esac
# Only spaces may be used in this macro; not newlines or tabs.
unsupported_languages=

# Remove more programs from consideration, based on the host or
# Remove more programs from consideration, based on the host or
# target this usually means that a port of the program doesn't
# exist yet.

Expand Down Expand Up @@ -915,7 +915,7 @@ case "${target}" in
;;
*-*-lynxos*)
noconfigdirs="$noconfigdirs target-newlib target-libgloss"
;;
;;
*-*-mingw*)
noconfigdirs="$noconfigdirs target-newlib target-libgloss"
;;
Expand Down Expand Up @@ -947,6 +947,10 @@ case "${target}" in
noconfigdirs="$noconfigdirs ld gas gdb gprof"
noconfigdirs="$noconfigdirs sim target-rda"
;;
bonjour-*-*)
noconfigdirs="$noconfigdirs ${libgcj} gdb sim"
noconfigdirs="$noconfigdirs bfd binutils opcodes gas ld gprof"
;;
powerpc-*-darwin*)
noconfigdirs="$noconfigdirs ld gas gdb gprof"
noconfigdirs="$noconfigdirs sim target-rda"
Expand Down Expand Up @@ -1253,7 +1257,7 @@ case "${host}" in
hppa*-hp-hpux*)
host_makefile_frag="config/mh-pa"
;;
hppa*-*)
hppa*-*)
host_makefile_frag="config/mh-pa"
;;
*-*-darwin*)
Expand Down Expand Up @@ -1897,7 +1901,7 @@ if test -d ${srcdir}/gcc; then
# an apparent bug in bash 1.12 on linux.
${srcdir}/gcc/[[*]]/config-lang.in) ;;
*)
# From the config-lang.in, get $language, $target_libs,
# From the config-lang.in, get $language, $target_libs,
# $lang_dirs, $boot_language, and $build_by_default
language=
target_libs=
Expand Down Expand Up @@ -2089,7 +2093,7 @@ AC_ARG_WITH([target-bdw-gc-include],
AC_ARG_WITH([target-bdw-gc-lib],
[AS_HELP_STRING([--with-target-bdw-gc-lib=PATHLIST],
[specify directories for installed bdw-gc library])])

case ,${enable_languages},:${enable_objc_gc} in *,objc,*:yes|*,objc,*:auto)
AC_MSG_CHECKING([for bdw garbage collector])
if test "x$with_target_bdw_gc$with_target_bdw_gc_include$with_target_bdw_gc_lib" = x; then
Expand Down Expand Up @@ -2168,7 +2172,7 @@ done
build_configdirs_all="$build_configdirs"
build_configdirs=
for i in ${build_configdirs_all} ; do
j=`echo $i | sed -e s/build-//g`
j=`echo $i | sed -e s/build-//g`
if test -f ${srcdir}/$j/configure ; then
build_configdirs="${build_configdirs} $i"
fi
Expand All @@ -2185,7 +2189,7 @@ done
target_configdirs_all="$target_configdirs"
target_configdirs=
for i in ${target_configdirs_all} ; do
j=`echo $i | sed -e s/target-//g`
j=`echo $i | sed -e s/target-//g`
if test -f ${srcdir}/$j/configure ; then
target_configdirs="${target_configdirs} $i"
fi
Expand Down Expand Up @@ -2271,7 +2275,7 @@ ACX_TOOL_DIRS

copy_dirs=

AC_ARG_WITH([build-sysroot],
AC_ARG_WITH([build-sysroot],
[AS_HELP_STRING([--with-build-sysroot=SYSROOT],
[use sysroot as the system root during the build])],
[if test x"$withval" != x ; then
Expand Down Expand Up @@ -2370,11 +2374,11 @@ fi
# This is done by determining whether or not the appropriate directory
# is available, and by checking whether or not specific configurations
# have requested that this magic not happen.
#
# The command line options always override the explicit settings in
#
# The command line options always override the explicit settings in
# configure.ac, and the settings in configure.ac override this magic.
#
# If the default for a toolchain is to use GNU as and ld, and you don't
# If the default for a toolchain is to use GNU as and ld, and you don't
# want to do that, then you should use the --without-gnu-as and
# --without-gnu-ld options for the configure script. Similarly, if
# the default is to use the included zlib and you don't want to do that,
Expand Down Expand Up @@ -2478,7 +2482,7 @@ case "${target}" in
target_makefile_frag="config/mt-gnu"
;;
*-*-aix4.[[3456789]]* | *-*-aix[[56789]].*)
# nm and ar from AIX 4.3 and above require -X32_64 flag to all ar and nm
# nm and ar from AIX 4.3 and above require -X32_64 flag to all ar and nm
# commands to handle both 32-bit and 64-bit objects. These flags are
# harmless if we're using GNU nm or ar.
extra_arflags_for_target=" -X32_64"
Expand Down Expand Up @@ -2548,7 +2552,7 @@ if test $? = 0 ; then
if test -s conftest || test -s conftest.exe ; then
we_are_ok=yes
fi
fi
fi
case $we_are_ok in
no)
echo 1>&2 "*** The command '${CC} -o conftest ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} conftest.c' failed."
Expand Down Expand Up @@ -2963,7 +2967,7 @@ baseargs=`echo "x$baseargs" | sed -e 's/^x *//' -e 's,\\$,$$,g'`
# --program-suffix have been applied to it. Autoconf has already
# doubled dollar signs and backslashes in program_transform_name; we want
# the backslashes un-doubled, and then the entire thing wrapped in single
# quotes, because this will be expanded first by make and then by the shell.
# quotes, because this will be expanded first by make and then by the shell.
# Also, because we want to override the logic in subdir configure scripts to
# choose program_transform_name, replace any s,x,x, with s,y,y,.
sed -e "s,\\\\\\\\,\\\\,g; s,','\\\\'',g; s/s,x,x,/s,y,y,/" <<EOF_SED > conftestsed.out
Expand Down Expand Up @@ -3032,7 +3036,7 @@ case "$target:$have_compiler:$host:$target:$enable_multilib" in
if test -s conftest || test -s conftest.exe ; then
dev64=yes
fi
fi
fi
rm -f conftest*
if test x${dev64} != xyes ; then
AC_MSG_ERROR([I suspect your system does not have 32-bit development libraries (libc and headers). If you have them, rerun configure with --enable-multilib. If you do not have them, and want to build a 64-bit-only compiler, rerun configure with --disable-multilib.])
Expand Down Expand Up @@ -3309,7 +3313,7 @@ AC_SUBST(CFLAGS)
AC_SUBST(CXXFLAGS)

# Target tools.
AC_ARG_WITH([build-time-tools],
AC_ARG_WITH([build-time-tools],
[AS_HELP_STRING([--with-build-time-tools=PATH],
[use given path to find target tools during the build])],
[case x"$withval" in
Expand Down Expand Up @@ -3413,7 +3417,7 @@ if test "$USE_MAINTAINER_MODE" = yes; then
else
MAINTAINER_MODE_TRUE='#'
MAINTAINER_MODE_FALSE=
fi
fi
MAINT=$MAINTAINER_MODE_TRUE
AC_SUBST(MAINT)dnl

Expand Down
11 changes: 9 additions & 2 deletions gcc/config.gcc
Original file line number Diff line number Diff line change
Expand Up @@ -174,7 +174,7 @@
# the --with-sysroot configure option or the
# --sysroot command line option is used this
# will be relative to the sysroot.
# target_type_format_char
# target_type_format_char
# The default character to be used for formatting
# the attribute in a
# .type symbol_name, ${t_t_f_c}<property>
Expand Down Expand Up @@ -307,6 +307,10 @@ aarch64*-*-*)
target_gtfiles="\$(srcdir)/config/aarch64/aarch64-builtins.c"
target_has_targetm_common=yes
;;
bonjour-*-*)
target_has_targetm_common=no
tmake_file=bonjour/t-bonjour
;;
alpha*-*-*)
cpu_type=alpha
extra_options="${extra_options} g.opt"
Expand Down Expand Up @@ -3077,6 +3081,9 @@ m32c-*-elf*)
c_target_objs="m32c-pragma.o"
cxx_target_objs="m32c-pragma.o"
;;
bonjour-*-*)
tmake_file="${tmake_file} bonjour/t-bonjour "
;;
*)
echo "*** Configuration ${target} not supported" 1>&2
exit 1
Expand Down Expand Up @@ -3418,7 +3425,7 @@ if test x$with_cpu = x ; then
with_cpu=8548
else
with_cpu=8540
fi
fi
;;
sparc*-*-*)
case ${target} in
Expand Down
10 changes: 9 additions & 1 deletion gcc/config.host
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@
# different from the default "liblto_plugin.so".

# When setting any of these variables, check to see if a corresponding
# variable is present in config.build; if so, you will likely want to
# variable is present in config.build; if so, you will likely want to
# set it in both places.

# Default settings.
Expand Down Expand Up @@ -123,6 +123,14 @@ case ${host} in
;;
esac
;;
bonjour-*-*)
case ${target} in
arm*-*-*)
host_extra_gcc_objs="driver-arm.o"
host_xmake_file="${host_xmake_file} arm/x-arm"
;;
esac
;;
i[34567]86-*-* \
| x86_64-*-* )
case ${target} in
Expand Down
99 changes: 99 additions & 0 deletions gcc/config/bonjour/bonjour-protos.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,99 @@
/* Prototypes for exported functions defined in bonjour.c
Copyright (C) 2012-2017 Free Software Foundation, Inc.
Contributed by KPIT Cummins Infosystems Limited.

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 3, 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 COPYING3. If not see
<http://www.gnu.org/licenses/>. */

#ifndef GCC_BONJOUR_PROTOS_H
#define GCC_BONJOUR_PROTOS_H

/* Register usage. */
extern enum reg_class bonjour_regno_reg_class (int);
extern int bonjour_hard_regno_mode_ok (int regno, machine_mode);

/* Passing function arguments. */
extern int bonjour_function_arg_regno_p (int);

#ifdef TREE_CODE
#ifdef RTX_CODE

extern void bonjour_init_cumulative_args (CUMULATIVE_ARGS *, tree, rtx);

#endif /* RTX_CODE. */
#endif /* TREE_CODE. */

/* Enumeration giving the various data models we support. */
enum data_model_type
{
DM_DEFAULT, /* Default data model (in BONJOURC/C+ - up to 16M). */
DM_NEAR, /* Near data model (in BONJOURC/C+ - up to 1M). */
DM_FAR, /* Far data model (in BONJOURC+ - up to 4G)
(in BONJOURC - up to 16M). */
ILLEGAL_DM /* Illegal data model. */
};

#ifdef RTX_CODE

/* Addressing Modes. */
struct bonjour_address
{
rtx base; /* Base register: Any register or register pair. */
rtx index; /* Index register: If one is present. */
rtx disp; /* Displacement or Absolute address. */
enum data_model_type data; /* data ref type. */
int code; /* Whether the address is code address.
0 - data, 1 - code label, 2 - function label. */
};

enum bonjour_addrtype
{
BONJOUR_INVALID,
BONJOUR_REG_REL,
BONJOUR_REGP_REL,
BONJOUR_INDEX_REGP_REL,
BONJOUR_ABSOLUTE
};

extern void notice_update_cc (rtx);
extern int bonjour_operand_bit_pos (int val, int bitval);
extern void bonjour_decompose_const (rtx x, int *code,
enum data_model_type *data,
bool treat_as_const);
extern enum bonjour_addrtype bonjour_decompose_address (rtx addr,
struct bonjour_address *out,
bool debug_print,
bool treat_as_const);
extern int bonjour_const_double_ok (rtx op);
extern int legitimate_pic_operand_p (rtx);
extern rtx legitimize_pic_address (rtx, machine_mode, rtx);


/* Prologue/Epilogue functions. */
extern int bonjour_initial_elimination_offset (int, int);
extern char *bonjour_prepare_push_pop_string (int);
extern void bonjour_expand_prologue (void);
extern void bonjour_expand_epilogue (void);
extern const char *bonjour_emit_add_sub_di (rtx *, enum rtx_code);
extern const char *bonjour_emit_logical_di (rtx *, enum rtx_code);

#endif /* RTX_CODE. */

/* Handling the "interrupt" attribute. */
extern int bonjour_interrupt_function_p (void);
extern bool bonjour_is_data_model (enum data_model_type);

#endif /* Not GCC_BONJOUR_PROTOS_H. */
Loading