diff --git a/library/GNUmakefile.68k b/library/GNUmakefile.68k index fbef100..88349cc 100644 --- a/library/GNUmakefile.68k +++ b/library/GNUmakefile.68k @@ -1,5 +1,5 @@ # -# $Id: GNUmakefile.68k,v 1.78 2005-11-28 09:53:51 obarthel Exp $ +# $Id: GNUmakefile.68k,v 1.79 2005-12-31 12:23:53 obarthel Exp $ # # :ts=8 # @@ -320,6 +320,7 @@ C_LIB = \ stdlib_lib_startup.o \ stdlib_machine_test.o \ stdlib_main.o \ + stdlib_main_stub.o \ stdlib_malloc.o \ stdlib_math.o \ stdlib_mkdtemp.o \ @@ -496,6 +497,7 @@ UNIX_LIB = \ stdlib_arg.o \ stdlib_getmemstats.o \ stdlib_main.o \ + stdlib_main_stub.o \ stdlib_mkdtemp.o \ stdlib_mkstemp.o \ stdlib_mktemp.o \ diff --git a/library/GNUmakefile.os4 b/library/GNUmakefile.os4 index aa786b9..2d570d3 100644 --- a/library/GNUmakefile.os4 +++ b/library/GNUmakefile.os4 @@ -1,5 +1,5 @@ # -# $Id: GNUmakefile.os4,v 1.90 2005-11-28 09:53:51 obarthel Exp $ +# $Id: GNUmakefile.os4,v 1.91 2005-12-31 12:23:53 obarthel Exp $ # # :ts=8 # @@ -354,6 +354,7 @@ C_LIB = \ stdlib_lib_startup.o \ stdlib_machine_test.o \ stdlib_main.o \ + stdlib_main_stub.o \ stdlib_malloc.o \ stdlib_math.o \ stdlib_mkdtemp.o \ @@ -531,6 +532,7 @@ UNIX_LIB = \ stdlib_arg.o \ stdlib_getmemstats.o \ stdlib_main.o \ + stdlib_main_stub.o \ stdlib_mkdtemp.o \ stdlib_mkstemp.o \ stdlib_mktemp.o \ diff --git a/library/changes b/library/changes index e381cb1..9353373 100644 --- a/library/changes +++ b/library/changes @@ -1,3 +1,9 @@ +- The __main() stub function expected by the 68k GCC build is no + longer part of "stdlib_main.c". This helps the C++ support, since the + __main symbol definition no longer clashes with the definition in + "libgcc.a". + + c.lib 1.198 (11.12.2005) - Added for C99, and the (yet unimplemented) functions diff --git a/library/stdlib_main.c b/library/stdlib_main.c index 8bc98c6..8ceb23d 100644 --- a/library/stdlib_main.c +++ b/library/stdlib_main.c @@ -1,5 +1,5 @@ /* - * $Id: stdlib_main.c,v 1.28 2005-10-27 08:58:41 obarthel Exp $ + * $Id: stdlib_main.c,v 1.29 2005-12-31 12:23:54 obarthel Exp $ * * :ts=4 * @@ -571,28 +571,3 @@ _main(void) return(return_code); } - -/****************************************************************************/ - -/* The following is automatically called by the main() function through code - inserted by GCC. In theory, this could be removed by updating the machine - definition, but for now we'll just keep this stub around. It is intended - to call the constructor functions, but we do this in our own _main() - anyway. */ - -#if defined(__GNUC__) - -/****************************************************************************/ - -void __main(void); - -/****************************************************************************/ - -void -__main(void) -{ -} - -/****************************************************************************/ - -#endif /* __GNUC__ */ diff --git a/library/stdlib_main_stub.c b/library/stdlib_main_stub.c new file mode 100644 index 0000000..64dd5bd --- /dev/null +++ b/library/stdlib_main_stub.c @@ -0,0 +1,57 @@ +/* + * $Id: stdlib_main_stub.c,v 1.1 2005-12-31 12:23:54 obarthel Exp $ + * + * :ts=4 + * + * Portable ISO 'C' (1994) runtime library for the Amiga computer + * Copyright (c) 2002-2005 by Olaf Barthel + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Neither the name of Olaf Barthel nor the names of contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + +#if defined(__GNUC__) + +/****************************************************************************/ + +/* The following is automatically called by the main() function through code + inserted by GCC. In theory, this could be removed by updating the machine + definition, but for now we'll just keep this stub around. It is intended + to call the constructor functions, but we do this in our own _main() + anyway. */ + +/****************************************************************************/ + +void __main(void); + +/****************************************************************************/ + +void +__main(void) +{ +} + +/****************************************************************************/ + +#endif /* __GNUC__ */