Make-lang.in (jvspec.o): Add DRIVER_DEFINES to the list of macros used when compiling jvspec.c.
gcc/java: * Make-lang.in (jvspec.o): Add DRIVER_DEFINES to the list of macros used when compiling jvspec.c. * jvspec.c (lang_specific_driver): Link with the shared libgcc by default. libjava: * libgcj.spec.in: Don't force static libgcc into the executable. * configure.in (FORCELIBGCCSPEC): Removed. From-SVN: r39449
This commit is contained in:
parent
c4636dd188
commit
ca5b1ff89a
7 changed files with 316 additions and 313 deletions
|
@ -1,3 +1,10 @@
|
|||
2001-02-04 Bryce McKinlay <bryce@albatross.co.nz>
|
||||
|
||||
* Make-lang.in (jvspec.o): Add DRIVER_DEFINES to the list
|
||||
of macros used when compiling jvspec.c.
|
||||
* jvspec.c (lang_specific_driver): Link with the shared
|
||||
libgcc by default.
|
||||
|
||||
Sun Feb 4 15:52:44 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
|
||||
|
||||
* check-init.c (check_init): Call internal_error instead of fatal.
|
||||
|
|
|
@ -61,7 +61,7 @@ JAVA_TARGET_INDEPENDENT_BIN_TOOLS = gcjh jv-scan jcf-dump
|
|||
.PHONY: java
|
||||
|
||||
jvspec.o: $(srcdir)/java/jvspec.c system.h $(GCC_H) $(CONFIG_H)
|
||||
$(CC) -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) \
|
||||
$(CC) -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(DRIVER_DEFINES) \
|
||||
$(INCLUDES) $(srcdir)/java/jvspec.c $(OUTPUT_OPTION)
|
||||
|
||||
# Create the compiler driver for $(GCJ).
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/* Specific flags and argument handling of the front-end of the
|
||||
GNU compiler for the Java(TM) language.
|
||||
Copyright (C) 1996, 1997, 1998, 1999, 2000 Free Software Foundation, Inc.
|
||||
Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GNU CC.
|
||||
|
||||
|
@ -44,6 +44,9 @@ static char *find_spec_file PARAMS ((const char *));
|
|||
static const char *main_class_name = NULL;
|
||||
int lang_specific_extra_outfiles = 0;
|
||||
|
||||
/* True if we should add -shared-libgcc to the command-line. */
|
||||
int shared_libgcc = 1;
|
||||
|
||||
/* Once we have the proper support in jc1 (and gcc.c) working,
|
||||
set COMBINE_INPUTS to one. This enables combining multiple *.java
|
||||
and *.class input files to be passed to a single jc1 invocation. */
|
||||
|
@ -305,6 +308,9 @@ lang_specific_driver (in_argc, in_argv, in_added_libraries)
|
|||
will_link = 0;
|
||||
continue;
|
||||
}
|
||||
else if (strcmp (argv[i], "-static-libgcc") == 0
|
||||
|| strcmp (argv[i], "-static") == 0)
|
||||
shared_libgcc = 0;
|
||||
else
|
||||
/* Pass other options through. */
|
||||
continue;
|
||||
|
@ -394,6 +400,14 @@ lang_specific_driver (in_argc, in_argv, in_added_libraries)
|
|||
num_args++;
|
||||
num_args++;
|
||||
|
||||
/* There's no point adding -shared-libgcc if we don't have a shared
|
||||
libgcc. */
|
||||
#ifndef ENABLE_SHARED_LIBGCC
|
||||
shared_libgcc = 0;
|
||||
#endif
|
||||
|
||||
num_args += shared_libgcc;
|
||||
|
||||
arglist = (const char **) xmalloc ((num_args + 1) * sizeof (char *));
|
||||
|
||||
for (i = 0, j = 0; i < argc; i++, j++)
|
||||
|
@ -485,6 +499,9 @@ lang_specific_driver (in_argc, in_argv, in_added_libraries)
|
|||
arglist[j++] = "NONE";
|
||||
#endif
|
||||
}
|
||||
|
||||
if (shared_libgcc)
|
||||
arglist[j++] = "-shared-libgcc";
|
||||
|
||||
arglist[j] = NULL;
|
||||
|
||||
|
|
|
@ -1,3 +1,9 @@
|
|||
2001-02-03 Bryce McKinlay <bryce@albatross.co.nz>
|
||||
|
||||
* libgcj.spec.in: Don't force static libgcc into the executable.
|
||||
* configure.in (FORCELIBGCCSPEC): Removed.
|
||||
* configure: Rebuilt.
|
||||
|
||||
2001-01-31 Tom Tromey <tromey@redhat.com>
|
||||
|
||||
* Makefile.in: Rebuilt.
|
||||
|
|
578
libjava/configure
vendored
578
libjava/configure
vendored
File diff suppressed because it is too large
Load diff
|
@ -102,12 +102,6 @@ if test "$libgcj_sjlj" = yes; then
|
|||
AC_DEFINE(SJLJ_EXCEPTIONS)
|
||||
fi
|
||||
|
||||
FORCELIBGCCSPEC=
|
||||
dnl Work around libgcc design flaw.
|
||||
if test "$ac_cv_prog_gnu_ld" = yes; then
|
||||
FORCELIBGCCSPEC="-u __rethrow -u __frame_state_for -lgcc"
|
||||
fi
|
||||
|
||||
AC_MSG_CHECKING([for data_start])
|
||||
LIBDATASTARTSPEC=
|
||||
NEEDS_DATA_START=
|
||||
|
@ -630,7 +624,6 @@ AC_SUBST(ZDEPS)
|
|||
AC_SUBST(ZINCS)
|
||||
AC_SUBST(DIVIDESPEC)
|
||||
AC_SUBST(EXCEPTIONSPEC)
|
||||
AC_SUBST(FORCELIBGCCSPEC)
|
||||
|
||||
AM_CONDITIONAL(CANADIAN, test "$CANADIAN" = yes)
|
||||
AM_CONDITIONAL(NULL_TARGET, test "$NULL_TARGET" = yes)
|
||||
|
|
|
@ -9,10 +9,8 @@
|
|||
*jc1: @DIVIDESPEC@ @EXCEPTIONSPEC@ @JC1GCSPEC@ -fasynchronous-exceptions
|
||||
|
||||
#
|
||||
# libgcc should really be a shared library. This is a design flaw
|
||||
# that causes no end of mysterious problems. If we are using the
|
||||
# GNU linker, force parts of libgcc into the program file rather
|
||||
# than picking bits up from various shared libraries.
|
||||
#
|
||||
# On some systems we force in a data_start symbol so that the GC will work
|
||||
# with shared libraries.
|
||||
#
|
||||
%rename startfile startfileorig
|
||||
*startfile: %(startfileorig) @LIBDATASTARTSPEC@ @FORCELIBGCCSPEC@
|
||||
*startfile: %(startfileorig) @LIBDATASTARTSPEC@
|
||||
|
|
Loading…
Add table
Reference in a new issue