As I wrote some weeks ago, I'd like to drop the gcc-3.1.1 support since 3.2.1 seems to work at least as well (and much better on some systems).
Dropping gcc-3.1.1 currently just means removing the diff file, but it makes it easier to maintain whenever there are changes in the diff (and I suppose there'll be some when the debug info problems will be fixed).
So, that's your last chance to raise any objections.
Frank
Frank Heckenbach wrote:
As I wrote some weeks ago, I'd like to drop the gcc-3.1.1 support since 3.2.1 seems to work at least as well (and much better on some systems).
Dropping gcc-3.1.1 currently just means removing the diff file, but it makes it easier to maintain whenever there are changes in the diff (and I suppose there'll be some when the debug info problems will be fixed).
So, that's your last chance to raise any objections.
"Objection" would be a too big word, but I do use "gcc-3.1.1.diff".
I use it to build gpc with a Apple gcc (apart from the build with FSF gcc-3.2.1).
There are two reasons to do so:
(1) find out how stable it is, as compared to the build with mainline gcc-3.2.1 (2) being able to use Apple specific gcc compiler options for development on Mac OS X
The latest Apple gcc available on the web in source code is "gcc3-1151", a gcc 3.1 variant.
Manually applying "gcc-3.1.1.diff" works, except for the patch to system.h, as Apple has changed:
#define GCCBUGURL "URL:http://www.gnu.org/software/gcc/bugs.html"
into
/* APPLE LOCAL report bugs to Apple 2001-09-14 sts */ #define GCCBUGURL "URL:http://developer.apple.com/bugreporter"
and gpc tries to patch it also. Of course, this can be fixed easily.
The build progresses very nicely, but ends with (what appears to be) the linking of gpc1:
gcc -DIN_GCC -no-cpp-precomp -g -O2 -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wtraditional -pedantic -Wno-long-long -DHAVE_CONFIG_H -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wtraditional -pedantic -Wno-long-long -Wtraditional -pedantic -Wno-long-long -I. -I. -I/Users/adriaan/gpc3-1151/gcc -I/Users/adriaan/gpc3-1151/gcc/. -I/Users/adriaan/gpc3-1151/gcc/config -I/Users/adriaan/gpc3-1151/gcc/../include -DGPC -I/Users/adriaan/gpc3-1151/gcc/p -o gpc1 p/gpc-common.o p/gpc-decl.o p/gpc-lex.o p/gpc-typeck.o p/lang.o p/module.o p/objects.o p/parse.o p/rtscall.o p/types.o p/util.o p/convert.o p/dbxout.o p/dwarf2out.o p/expr.o p/fold-const.o p/function.o p/integrate.o p/optabs.o p/stor-layout.o p/toplev.o p/tree.o p/diagnostic.o attribs.o main.o libbackend.a ../libiberty/libiberty.a ./intl/libintl.a ../libiberty/libiberty.a ld: warning multiple definitions of symbol _mkstemps ../libiberty/libiberty.a(mkstemps.o) definition of _mkstemps in section (__TEXT,__text) /usr/bin/../lib/gcc-lib/powerpc-apple-darwin6.0/3.1/../../../ libSystem.dylib(mktemp.So) definition of _mkstemps ld: warning multiple definitions of symbol _asprintf ../libiberty/libiberty.a(asprintf.o) definition of _asprintf in section (__TEXT,__text) /usr/bin/../lib/gcc-lib/powerpc-apple-darwin6.0/3.1/../../../ libSystem.dylib(asprintf.So) definition of _asprintf ld: Undefined symbols: _c_language _pfe_freeze_thaw_ptr _pfe_freeze_thaw_ptr_fp _pfe_freeze_thaw_rtx _pfe_freeze_thaw_tree_push _pfe_operation _pfe_realloc _pfe_savestring _pfe_free _pfe_s_malloc _pfe_check_struct_size _pfe_freeze_thaw_language_function _pfe_freeze_thaw_rtvec _pfe_s_calloc _pfe_s_realloc _finish_gen_indexing _flag_debug_gen_index _flag_gen_index _flag_gen_index_header _flag_gen_index_original _flush_index_buffer _gen_indexing_footer _gen_indexing_header _gen_indexing_info _init_gen_indexing _pfe_check_compiler _pfe_close_pfe_file _pfe_compiler_state_ptr _pfe_decode_dbgpfe_options _pfe_dump_compiler_state _pfe_file _pfe_init _pfe_load_compiler_state _pfe_macro_validation _pfe_open_pfe_file _pfe_predefined_global_names _pfe_term _pfe_is_frozen _constant_string_class_name _flag_next_runtime _pfe_freeze_ptr _pfe_thaw_ptr _pfe_real_ptr _lang_build_type_variant _build_cfstring_ascii make[1]: *** [gpc1] Error 1 make: *** [all-gcc] Error 2
So, apparently, some routines and/or compiler defines are missing.
Currently, I am investigating this further. I found "_pfe..." routines in an Apple specific subdirectory "pfe" in the gcc directory. Consequently, I try to understand make files and build rules, so that I can add routines and compiler defines to the gpc link. Of course, any hints are welcome.
Regards,
Adriaan van Os
Adriaan van Os wrote:
"Objection" would be a too big word, but I do use "gcc-3.1.1.diff".
I use it to build gpc with a Apple gcc (apart from the build with FSF gcc-3.2.1).
There are two reasons to do so:
(1) find out how stable it is, as compared to the build with mainline gcc-3.2.1 (2) being able to use Apple specific gcc compiler options for development on Mac OS X
The latest Apple gcc available on the web in source code is "gcc3-1151", a gcc 3.1 variant.
Manually applying "gcc-3.1.1.diff" works, except for the patch to system.h, as Apple has changed:
Do you get any line offsets during patching? gcc-3.1.1.diff and gcc-3.2.1.diff are identical WRT their content only the line numbers differ a little. So if they differ in "gcc3-1151" as well and you get some offsets, manually applying gcc-3.2.1.diff might work just as well.
Frank
Frank Heckenbach wrote:
Adriaan van Os wrote:
"Objection" would be a too big word, but I do use "gcc-3.1.1.diff".
I use it to build gpc with a Apple gcc (apart from the build with FSF gcc-3.2.1).
There are two reasons to do so:
(1) find out how stable it is, as compared to the build with mainline gcc-3.2.1 (2) being able to use Apple specific gcc compiler options for development on Mac OS X
The latest Apple gcc available on the web in source code is "gcc3-1151", a gcc 3.1 variant.
Manually applying "gcc-3.1.1.diff" works, except for the patch to system.h, as Apple has changed:
Do you get any line offsets during patching?
Surprisingly, the line numbers in gcc-3.1.1.diff apply to "gcc3-1151", with only one exceptions: the patch system.h.
gcc-3.1.1.diff and gcc-3.2.1.diff are identical WRT their content only the line numbers differ a little. So if they differ in "gcc3-1151" as well and you get some offsets, manually applying gcc-3.2.1.diff might work just as well.
OK, this information will enable me to apply future gcc-3.2.1.diffs by hand for further experiments with "gcc3-1151".
Regards,
Adriaan van Os
On Thu, 9 Jan 2003, Frank Heckenbach wrote:
... I'd like to drop the gcc-3.1.1 support
The top 10 distros from distrowatch.com:
distro version rel date gcc version
Mandrake 9.0 2002/09/25 3.2 Red Hat 8.0 2002/09/30 3.2 Debian 3.0r0 2002/12/15 2.95.4 Sourcerer grimoire 2003/01/09 3.2.1 Gentoo sources 2003/01/09 3.2.1 Suze 8.1 2002/09/30 3.2 Slackware 8.1 2002/06/18 2.95.3 (see note) Lycoris Amethyst2 2002/07/27 2.95.2 Lindows 3.0 2003/11/16 2.95.4 United 1.0Beta3 2003/11/19 3.2
note: Slackware-current, the next version of slackware, is using gcc 3.2.1
It looks like gcc 3.1.1 is rapidly becoming history.
Also, from reading the gcc home page my best guess is gcc 3.2.2 will be released around Jan 21, followed by the release of 3.3 about 4 months later.
Russ
Russell Whitaker wrote:
On Thu, 9 Jan 2003, Frank Heckenbach wrote:
... I'd like to drop the gcc-3.1.1 support
The top 10 distros from distrowatch.com:
distro version rel date gcc version
Mandrake 9.0 2002/09/25 3.2 Red Hat 8.0 2002/09/30 3.2 Debian 3.0r0 2002/12/15 2.95.4 Sourcerer grimoire 2003/01/09 3.2.1 Gentoo sources 2003/01/09 3.2.1 Suze 8.1 2002/09/30 3.2 Slackware 8.1 2002/06/18 2.95.3 (see note) Lycoris Amethyst2 2002/07/27 2.95.2 Lindows 3.0 2003/11/16 2.95.4 United 1.0Beta3 2003/11/19 3.2
note: Slackware-current, the next version of slackware, is using gcc 3.2.1
It looks like gcc 3.1.1 is rapidly becoming history.
The difference between GCC 3.1 and 3.2 is mostly for C++ ABI stability. Vendors shouldn't be using GCC 3.1. So dropping support for it shouldn't be an issue.
Regards,
Nick.
Russell Whitaker wrote:
On Thu, 9 Jan 2003, Frank Heckenbach wrote:
... I'd like to drop the gcc-3.1.1 support
The top 10 distros from distrowatch.com:
distro version rel date gcc version
Mandrake 9.0 2002/09/25 3.2 Red Hat 8.0 2002/09/30 3.2 Debian 3.0r0 2002/12/15 2.95.4
Debian is planning to jump to 3.2.2, skipping everything in between.