Commit Graph

164 Commits

Author SHA1 Message Date
skrll a273c995fc Pull across the fix for target/50691
ok'ed by mrg@
2011-12-02 09:44:48 +00:00
matt e1da7aef13 Fix PPC _SOFT_FLOAT 2011-10-13 19:52:33 +00:00
christos be84a9917e remove pre-gcc-4.5 mknative remnants that have long ceased to function. 2011-09-26 21:16:14 +00:00
mrg 68568a44b1 since omp.h is part of libgomp, put it in the libgomp files not the
libstdc++ files.
2011-09-23 06:43:46 +00:00
mrg dc04629559 add libgomp support. needed by "cc -fopenmp", that koffice 2.3 wants to use. 2011-09-21 02:15:18 +00:00
matt cc8037f3d1 Add an inline ex script to modify configargs.h for powerpc to auto-enable
-msoft-float.
2011-08-17 18:34:13 +00:00
mrg fd2a48532a force HAVE_AS_SPARC_GOTDATA_OP to false, since those relocs seem
busted with our binutils.  now sparc64 seems to work fine.
2011-07-10 15:28:26 +00:00
mrg b2ad2936ae fix the previous 2011-07-03 12:26:02 +00:00
mrg 1f61213386 -I$DESTDIR/usr/include is escaping into the generated files from
the native-gcc run.  add some sed commands to remove them.
2011-07-03 12:11:32 +00:00
mrg d2d81d57a9 copy sysroot-suffix.h as well, for sh3. 2011-07-03 06:47:12 +00:00
mrg b9c57fbd15 also pull out LIB2ADD_ST for libgcc. 2011-07-02 13:25:05 +00:00
mrg 0debd27c81 avoid creating an unused directory. 2011-07-01 02:11:14 +00:00
mrg a8847d182c - call each ${MKNATIVE_CONFIG_TARGET_LIBS} target separately
- comment out maybe-all-target-libgcc
- cope with the special transformation needed for gtyp-input.list
2011-07-01 01:27:17 +00:00
mrg 425b4dd861 fix previous; they belong in _headers1 2011-06-30 07:16:59 +00:00
mrg 2703d75c7b - repurpose MKNATIVE_CONFIG_TARGET_LIBS to list all the targets
- disable building pch for the mknative run
2011-06-30 07:02:17 +00:00
mrg 089e26552b also pull tr1_impl_headers parallel_headers and decimal_headers for libstdc++ 2011-06-30 07:01:14 +00:00
mrg 3e9b4b1af1 fix all-tree.def, and add gtyp-input.list 2011-06-29 05:06:03 +00:00
mrg 8d616c352f fix the path for libdecnumber. 2011-06-29 02:13:59 +00:00
mrg a4e3e6142c get libdecnumber info out of GCC. 2011-06-29 02:02:38 +00:00
mrg 9897cb288e also need bversion.h 2011-06-28 04:30:32 +00:00
mrg c86def5214 some more updates for GCC 4.5. 2011-06-28 03:58:55 +00:00
mrg 68a31119f2 output stuff to the right libiberty dir for gcc 4.5. 2011-06-23 12:06:32 +00:00
mrg 64f6248066 get this some what working with GCC 4.5. i at least have managed to
get crtstuff and libgcc to build for amd64, and have linked and tested
/bin/sh with all these GCC 4.5 compiled part.
2011-06-23 05:42:37 +00:00
mrg 63da379d23 use --sysroot with GCC 4.5. (maybe could with 4.1 too? the 4.1 code
here is broken right now, anyway, ever since the sysroot changes were
merged into our tree.)
2011-06-21 09:37:41 +00:00
mrg 2d7ccc14fc initial port to HAVE_GCC = 45. mknative-gcc parts are from me
and are largely untested, most of the rest is from chuq.
2011-06-21 04:11:12 +00:00
matt 865180f6f7 If building the cross gcc for softfloat, add --with-float=soft so it will
default to it.
2011-06-10 16:31:18 +00:00
joerg 333ceea9fc Enable support for --sysroot in binutils and gcc. 2011-03-24 13:33:42 +00:00
mrg 8c0cbe863f revert the previous; not intended to be part of that commit, or any commit 2009-12-23 20:17:13 +00:00
mrg 3fa4bcf59c rework the main SUBDIR list here as suggested by enami. put .WAIT on
the same line as the target that needs to wait, but before the target,
rather than on the previous line, which led to confusion and an error
being introduced in the previous change.
2009-12-23 20:15:21 +00:00
uebayasi 656d7ae41f get_libgcc_new: Make previous work for digit only ABI names. 2009-12-17 15:48:13 +00:00
uebayasi eae6ecc426 get_libgcc_new: Teach multilib. 2009-12-17 15:01:33 +00:00
uebayasi 3cb0739866 Skip parameters for multilib build for now. 2009-12-01 04:59:24 +00:00
uebayasi 87bb55865b Handle cases where *.asm is listed in LIB2FUNCS_EXTRA (gcc/config/rs6000). 2009-12-01 03:13:26 +00:00
uebayasi 3a3e699038 Handle cases where database text files don't exist. 2009-11-30 14:34:17 +00:00
uebayasi d77ecd459a Call "template sources" as "tmplsrcs", not "tmpsrcs". Requested by mrg@. 2009-11-30 10:03:57 +00:00
uebayasi 970b30eb96 Prefix per-library *.mk files with libs.*. 2009-11-30 09:57:59 +00:00
uebayasi d3180e0c9b Now that we know what sources are needed to build a given library, we need
the rules how to build those sources.  Generate makefiles defining ${COPTS},
${CPPFLAGS}, and ${SRCS} (== template).

Note that ${CPPFLAGS} is actually dfined as _CPPFLAGS like
	_CPPFLAGS.tmp___gcc_bcmp.c=-DL__gcc_bcmp
and used to generate wrapper files (e.g. tmp___gcc_bcmp.c).  Otherwise it's
automagically passed to ${CC} by bsd.*.mk.
2009-11-30 09:50:59 +00:00
uebayasi 2c455e268f For each library, generate a makefile of the list of template sources too. 2009-11-30 09:33:36 +00:00
uebayasi c91d9ec35a For each library, generate a list of sources (*.[cS]).
We create wrapper sources (tmp_*.[cS]) on-the-fly and compile them.  For
example, __gcc_bcmp() is compiled using tmp___gcc_bcmp.c, which #define's
L__gcc_bcmp and #include's libgcc2.c.
2009-11-30 09:32:13 +00:00
uebayasi 263a9a2c47 Move these analyzing functions into one place, get_libgcc_new_analyze(). 2009-11-30 08:20:23 +00:00
uebayasi b98c239900 Typo. 2009-11-30 08:05:41 +00:00
uebayasi 1380d82f90 Generate lists of template sources ("tmpsrcs") for each libraries. We'll
need these to create wrappers of tmpsrcs and define correct dependencies.
2009-11-30 08:00:20 +00:00
uebayasi 141ef6c4d0 Generate *.o -> template *.[cS] ("tmpsrc") mapping.
Functions are built from a template (tmpsrc).  We create wrapper sources
(src) and define necessary defines and #include tmpsrc.
2009-11-30 07:19:58 +00:00
uebayasi 96a4ab5aed - Generate a list of CPP flags used to build *.o. Some files are build
repeatedly with different -DXXX to generate similar objects (e.g. different
  type size).

- Generate a list of other CC options to build *.o.

(See my sed-fu using hold space in get_libgcc_list_objs_xflags().)
2009-11-30 07:08:03 +00:00
uebayasi 7e684b1d37 - Generate a list of *.o -> lib*.{a,so} mapping. This is also known by
parsing dependency lines in libgcc.mk.

- Generate a list of *.o -> *.{c,S} mapping.  *.S files are known as
  ${LIB1ASMFUNCS}.  Assume other *.o files are built from *.c.  This information
  is needed to generated wrapper sources later.
2009-11-30 06:56:15 +00:00
uebayasi 12ee13e800 Generate lists of functions built in libgcc libraries. This is known by
pattern matching dependency lines in libgcc.mk.
2009-11-30 06:40:17 +00:00
uebayasi 00c7a5b61c Generate a list of functions provided as *.S. 2009-11-30 06:29:58 +00:00
uebayasi b0edbfb088 Define paths of newly generated files. 2009-11-30 06:13:37 +00:00
uebayasi ffa99e7e3a Start implementing the new style libgcc "mknative" converter which generates
BSD makefiles to build libgcc.  The goal is to build all functions rather
than managing the set of functions in gnu/lib/libgcc/Makefile.in by hand.

Because of the complexity of the build procedure, I leave not only generated
makefiles but also intermediate, analyzed data so that people can verify that
the conversion is done correctly.
2009-11-30 05:50:07 +00:00
skrll 8a770313a3 Rename MKBFD to MKBINUTILS and support HAVE_BINUTILS for set lists. This
makes {MK,HAVE_}BINUTILS consistent with {MK,HAVE_}{GCC,GDB}.

Allow MKBFD to defines MKBINUTILS as a backwards compatibility hook.

Update the sets lists and add conditionals for lib{bfd,opcodes}.
2009-09-08 07:08:00 +00:00
ad e8f7cd4ed0 Enable -mtune=nocona by default on x86. I have tested on a range of CPUs
and this seems to give the best results.
2009-05-04 21:32:31 +00:00
drochner f3b654a431 -introduce a "COMMON_CONFIGURE_ARGS" variable which is included by
both CONFIGURE_ARGS and NATIVE_CONFIGURE_ARGS to reduce duplication
 between tool and native configuration
-allow to pass a "--with-arch" argument to both configurations
2009-03-27 19:19:49 +00:00
apb bcc847fb86 Use ${TOOL_SED} instead of just "sed" while building other tools.
Where sed is used in a != assignment, use
.if make(depend) || make(all) || make(dependall) || make(install)
to ensure the command doesn't run at "make obj" time when TOOL_SED will
not have been built.
2008-10-25 22:15:28 +00:00
apb 96230fab84 Use ${TOOL_AWK} instead of ${AWK} or plain "awk" in make commands.
Pass AWK=${TOOL_AWK:Q} to shell scripts that use awk.
2008-10-19 22:05:19 +00:00
mrg 9917d709a8 - add a i386/t-netbsd64 makefile fragment to build 32/64 bit
libgcc/multilib on amd64
- enable the 32/64 bit libgcc/multilib support on sparc64
- adapt mknative-gcc to grab multilib.h
- use --enable-multilib on amd64 and sparc64

none of this affects the installed tools yet, just the src/tools one.
2008-10-11 05:03:43 +00:00
skrll 9bb781168b Grab libgcov stuff. 2008-09-19 13:18:28 +00:00
skrll 11670328a2 Collect the libobjc config.h 2008-02-08 18:06:48 +00:00
drochner 109044809a Force use of __cxa_atexit by a configure command line argument
(for booth the tool build and mknative). gcc's "config.gcc" sets
it if the target is netbsd[2-9], but since the target is w/o version
number in our builds, it has no effect. Found by Nick Hudson,
patch approved by mrg.
2007-09-20 12:26:51 +00:00
he 678b5429b3 Instead of inventing a new environment variable to override the
SSP functionality location test, use gcc_cv_libc_provides_ssp instead,
as hinted by freza@ and uwe@.
2007-06-07 14:36:27 +00:00
he bd8f620dfb Modify the gcc configure script to allow override of the "target libc
has ssp functions built-in" test via the TARGET_LIBC_PROVIDES_SSP environment
variable, to allow us to configure a cross-compiler appropriately without
having to try to find out by looking in the target's source directory.

Tweak our build to tell gcc that the ssp bits are now in libc.

The native compiler appears to already think that the ssp bits
live in libc, so no change appears to be needed there.

The autoconf-generated configure script will be committed separately shortly.
2007-06-07 08:58:58 +00:00
matt a2194c542b Remove non-shared hooks for VAX. 2007-03-31 05:55:43 +00:00
skrll 25a1cb4e5b G/C some HAVE_GCC == 3 stuff 2007-03-16 08:01:05 +00:00
apb f7004b0cbc Whenever we try to parse the output from make, run make with the -B
flag.  This ensures that -j<N> isn't accidentally inherited from the
environment, because the "--- foo ---" headers printed with -j<N> would
interfere with parsing the output.
2007-02-05 18:26:01 +00:00
mrg 8274a24af8 point out the GCC4 dirs not the GCC3 dirs. 2006-08-23 20:52:15 +00:00
mrg 467d749333 pass RAW_GCC_FOR_TARGET when running configure-target-libstdc++-v3.
now iconv and wchar_t things are properly set.  still missing
_GLIBCXX_HAVE_S_IFREG and _GLIBCXX_USE_NLS.
2006-08-23 20:45:24 +00:00
mrg 11762d9b99 force --disable-shared on vax so that GCC does not think it can use
shared libgcc.
2006-07-01 05:59:18 +00:00
mrg 51763b5588 convert build/ggc-none.o to build-ggc-none.lo. 2006-06-25 03:06:15 +00:00
mrg 8700cb85b1 introduce a new CXXADDFLAGS and use it to pass CPPFLAG_ISYSTEMXX to
configure.  also, clean up this a little more to make mknative-gcc
work on GCC3 again, while fixing some breakage in the last couple
of revisions.
2006-06-24 05:29:03 +00:00
mrg 212755b9af also grab ${_extravars} for GCC4 in the get_gcc() function. 2006-06-24 05:26:50 +00:00
skrll 27d5fc1bd1 Fixes for mknative runs on gcc3.
- get the information from a gcc3 .native
	- don't get gcc4 variables
	- put back the getvars for SHLIB_LINK SHLIB_MULTILIB as they work
	  on gcc3 and leave as XXX'd on gcc4.

I've re-arranged some of the variables to minimise the differences, but
didn't do them all.
2006-06-09 15:30:52 +00:00
mrg e6744c2295 make this work for GCC3 one again. 2006-06-02 19:44:20 +00:00
mrg cf8192ab0d use the same "Generated from: " tag for mknative.common so that changes
that only affect rcsid's don't cause all generated files to change.
2006-05-26 19:17:21 +00:00
mrg 445a28d54e also grab ALL_OPT_FILES from gcc/Makefile for libobjc4. 2006-05-23 10:55:55 +00:00
mrg 4e2cace64a quote variables in the gmake version of getvars() so that stuff that
looks like (FOO|BAR) works.
2006-05-17 03:27:19 +00:00
mrg 5d136667c4 configure-libiberty is only good for GCC4.
move a comment next to it's code.
2006-05-17 03:26:37 +00:00
mrg 20a4734a0a make sure that c++ headers work again. 2006-05-15 22:03:03 +00:00
mrg 9afa8c578c also note the rcsid of mknative.common 2006-05-15 21:01:42 +00:00
mrg 243ae1c185 when generating path names also substitute the real path name as well as
the VPATH.  now /usr/src doesn't end up in libstdc++-v3_4 defs.mk.
2006-05-15 20:57:45 +00:00
mrg c08a446c31 set AR and RANLIB to the host versions in MAKE_ARGS - otherwise the
build of the "build-libiberty" fails due to these being set to "".
2006-05-12 18:01:13 +00:00
mrg 642ce2be87 support GCC4:
- look in gnu/dist/gcc4
- don't build fortran
- use /usr/bin/env -i so that gmake works (XXX - breaks from MAKEFLAGS
  in the build.sh generated makewrapper.)
- use gmake and Makefile.gmakehost
- update .native/.configure_done target
2006-05-12 02:12:37 +00:00
mrg f9d28bd46c - ensure $MAKE is set
- support $MAKE as gmake for getvars()
2006-05-12 02:07:59 +00:00
tv 0eddda9bff I haven't touched the mknative stuff since 2002. Take my name off of the
readmes, so I'm not implied as a point of contact.
2006-02-17 17:34:30 +00:00
martin 417e934595 We use gcc's crtstuff now - update this acordingly (thanks to
Nick Hudson for instructions)
2005-10-29 20:43:35 +00:00
skrll 810ebc3831 Use the correct LD/NM/OBJDUMP when creating the mknative environment. 2005-05-20 07:10:51 +00:00
skrll 990898b846 Use the correct AS when creating the mknative environment.
Reviewed by mrg@

mknative re-runs will appear soon.
2005-05-14 08:00:58 +00:00
jmc 4d724bafe7 Take output and look for things of the form ./XXX.o and turn them into XXX.o
so generated objects vs listed objects in make line up and dependcies happen
correctly. Found because libiberty (on this binutils import) was leaving
all objects as ./object.o and make wasn't picking up correct depends on
config.h as a result.
2004-12-11 07:40:50 +00:00
lukem 9741933ec5 minor (shell) KNF 2004-12-11 01:37:36 +00:00
mrg ab78454ed7 mirror a fix from mknative-binutils:
>fix the sed expression that pulls VPATH out of the makefile to work
>with any number of tabs or spaces after the equal sign.
2004-12-10 13:58:11 +00:00
thorpej c1c65fe4a1 Add code to extract make vars for GCC crtstuff. 2004-08-24 20:24:43 +00:00
skrll caf6252920 Add some more variables used to build libgcc_s.
Part of the fix for PR 22452.
2004-07-01 13:22:25 +00:00
skrll b263dbdd73 Be more gcc like in the way we deal with libgcc so that sh3/hppa millicode
and exception handling have a chance of working properly.

        - creates libgcc, libgcc_eh and libgcc_s

        - updates LIBGCC_SPEC to use them appropriately.

          There's a hack in here at the moment with respect to libgcc_so in that it
          is preferable to link against libgcc_so will only when -shared-libgcc is
          specified (the c++ frontend does this automatically.) Configurations where
          LINK_EH_SPEC is defined already do this. The gcc configuration for
          NetBSD/alpha and another NetBSD platform (I forget which) actually define
          LINK_EH_SPEC probably by accident rather than design.

        - updates share/mk to use the compiler's knowledge of what needs linking into
          libraries and executables. This removes an hppa hack.

        - updates the sets for the newly created libgcc* files.

	- support for linking against the _pg version of libgcc has been removed.
2004-02-15 19:52:27 +00:00
simonb b761275305 Fix some paths. 2004-02-13 03:01:21 +00:00
skrll d5174d72e9 Copy over from ../toolchain/README.mknative and update for gcc-3.3.x. 2004-02-12 18:57:08 +00:00
skrll 95cfd78c59 Updates so that mknative gets the right things.
- Disable symbol versioning (for now)
	- Make sure that libiberty knows its being configured with a
	  cross compiler.
	- The CXX_* variables are no longer needed/used.
	- LIB2FUNCS_EXTRA gets pulled in via LIB2ADD
	- Get LIB1ASMFUNCS and LIB2ASMSRC
	- MAYBE_USE_COLLECT2 got renamed to USE_COLLECT2 (but might not
	  be used)
	- Get EXTRA_HEADERS so that we get generate the right paths for
	  CPPFLAGS
	- Get some variables related to shared libgcc
2004-02-10 09:37:58 +00:00
skrll 2879279c43 Move libgcc3/*.mk to libgcc3/arch.
Update mknative-gcc.
2004-01-02 11:58:32 +00:00
mrg 113e3b6075 fix a comment; normalise. 2003-11-27 10:21:24 +00:00
mrg c460f3a0b0 use mknative.common 2003-11-27 01:05:45 +00:00
mrg 3807186825 trim FIND_ARGS. remove dead targets. 2003-11-27 01:05:32 +00:00
mrg 3afc93cfea common part of mknative 2003-11-27 00:58:26 +00:00
mrg 7289588744 be a little more verbose about what we're doing when running mknative.
also grab LIB2FUNCS_EXTRA for libgcc3 (old fix for m68000).
2003-11-27 00:56:20 +00:00