Date: Wed, 20 Jul 2005 00:05:17 EST-10EDT,10,-1,0,7200,3,-1,0,7200,3600 Subject: [UnixOS2_Archive] No. 584 ************************************************** Tuesday 19 July 2005 Number 584 ************************************************** Subjects for today 1 GCC 3.3.5 / LIBC 0.6 Release Candidate 1 : Knut St. Osmundsen" 2 Re: GCC 3.3.5 / LIBC 0.6 Release Candidate 1 : Stefan.Neis at t-online.de 3 Re: GCC 3.3.5 / LIBC 0.6 Release Candidate 1 : Knut St. Osmundsen" **= Email 1 ==========================** Date: Mon, 18 Jul 2005 16:24:43 +0200 From: "Knut St. Osmundsen" Subject: GCC 3.3.5 / LIBC 0.6 Release Candidate 1 Hi, a new build is available from the netlabs ftp: ftp://ftp.netlabs.org/pub/gcc/GCC-3.3.5-rc1.zip Here are the release notes: GCC v3.3.5 / LIBC v0.6 - Release Candidate 1: --------------------------------------------- New features: o Replaced the BSD regex with the GLIBC one. o Replaced the BSD getopt with the GLIBC one adding optreset for BSD compatability. o Added libcrypt from GLIBC. o Added argp from GLIBC. o Added obstack from GLIBC. o Finally added a crude [v]asprintf() implementation. o Added missing math bits from GLIBC. o New functions: rawmemchr(), strchrnul(), fgets_unlocked(), gets_unlocked(), fwide(), asprintf(), vasprintf(), get_current_dir_name(), getdelim(), getline(), getlogin_r(), _getopt_internal(), _getopt_internal_r(), _getopt_long_only_r(), _getopt_long_r(), argp_error(), argp_failure(), argp_fmtstream_ensure(), argp_fmtstream_free(), argp_fmtstream_point(), argp_fmtstream_printf(), argp_fmtstream_putc(), argp_fmtstream_puts(), argp_fmtstream_set_lmargin(), argp_fmtstream_set_rmargin(), argp_fmtstream_set_wmargin(), argp_fmtstream_update(), argp_fmtstream_write(), argp_help(), argp_input(), argp_make_fmtstream(), argp_parse(), argp_program_bug_address(), argp_program_version(), argp_program_version_hook(), argp_state_help(), argp_usage(), cacos(), cacosf(), cacosh(), cacoshf(), cacoshl(), cacosl(), cargf(), casin(), casinf(), casinh(), casinhf(), casinhl(), casinl(), catan(), catanf(), catanh(), catanhf(), catanhl(), catanl(), ccos(), ccosf(), ccosh(), ccoshf(), ccoshl(), ccosl(), cexp(), cexpf(), cexpl(), clog(), clog10(), clog10f(), clog10l(), clogf(), clogl(), cpow(), cpowf(), cpowl(), cproj(), cprojf(), cprojl(), csin(), csinf(), csinh(), csinhf(), csinhl(), csinl(), csqrt(), csqrtf(), csqrtl(), ctan(), ctanf(), ctanh(), ctanhf(), ctanhl(), ctanl(), exp10(), log2(), log2f(), log2l(), sincos(), sincosf(), sincosl(), asinhl(), atanhl(), llrintl(), lrintl(), erfcl(), erfl(), exp2l(), expm1l(), log1pl(), logbl(), nearbyintl(), remainderl(), remquol(), cabsl(), carg(), cargl(), gammal_r(), exp10f(), tgammaf(), tgammal(), __fpu_control(), acoshl(), exp10l(), j0l(), j1l(), jnl(), lgammal_r(), nexttowardl(), scalbl(), significandl(), y0l(), y1l(), ynl(), gammal(), lgammal(), _obstack_allocated_p(), obstack_alloc_failed_handler(), _obstack_begin(), _obstack_begin_1(), obstack_exit_failure(), obstack_free(), _obstack_memory_used(), _obstack_newchunk(), nftw(), stpncpy(), crypt_r(), encrypt_r(), init_des(), init_des_r(), md5_buffer(), md5_crypt(), md5_crypt_r(), md5_finish_ctx(), md5_init_ctx(), md5_process_block(), md5_process_bytes(), md5_read_ctx(), md5_stream(), setkey_r(), crypt(), encrypt(), setkey(), _ufc_dofinalperm_r(), _ufc_doit_r(), _ufc_foobar(), _ufc_mk_keytab_r(), _ufc_output_conversion_r(), _ufc_setup_salt_r(), getmode(), optreset(), bsd_setmode(), getpgid(), getsid(), setlinebuf(), re_comp(), re_compile_fastmap(), re_compile_pattern(), re_exec(), re_match(), re_match_2(), re_search(), re_search_2(), re_set_registers() and re_set_syntax(). Bug fixes: o Fixed various bugs related to __declspec. o Fixed a bug in alloca which was causing all -O levels to break. o Added UniStrFromUcs and UniStrToUcs to uconv.h and libos2. o Fixed quite a few libc issues, see the ChangeLog.LIBC for full details. Known problems: o Static linking not possible - will be fixed. o Job control will only be applied to thread 1 in a process. This won't change. o Missing some process group interfaces required for job control. They'll show up soon. o The HLL debug info isn't working 100% correctly. ---- There is one point missing in the New Features bit: o Added support for OS/2 process dump on LIBC panic and signals which should core dump. (This will do nothing unless you've actually configured the system to do process dumps.) Enjoy! Kind Regards, knut **= Email 2 ==========================** Date: Mon, 18 Jul 2005 17:33:21 +0200 (CEST) From: Stefan.Neis at t-online.de Subject: Re: GCC 3.3.5 / LIBC 0.6 Release Candidate 1 Hi, Knut St. Osmundsen schrieb: (snipp) > New features: > > o Replaced the BSD regex with the GLIBC one. > > o Replaced the BSD getopt with the GLIBC one > adding optreset > for BSD compatability. > > o Added libcrypt from GLIBC. > > o Added argp from GLIBC. > > o Added obstack from GLIBC. (snipp) Is that a good idea? As far as licence conditions are concerned? Though I have to admit I don't quite know which licence is valid for glibc - LGPL? Regards, Stefan P.S.: Great job, thanks! **= Email 3 ==========================** Date: Mon, 18 Jul 2005 18:30:34 +0200 From: "Knut St. Osmundsen" Subject: Re: GCC 3.3.5 / LIBC 0.6 Release Candidate 1 Stefan.Neis at t-online.de wrote: > Hi, > > Knut St. Osmundsen schrieb: > > (snipp) > >> New features: >> >> o Replaced the BSD regex with the GLIBC one. >> >> o Replaced the BSD getopt with the GLIBC one >>adding optreset >> for BSD compatability. >> >> o Added libcrypt from GLIBC. >> >> o Added argp from GLIBC. >> >> o Added obstack from GLIBC. > > (snipp) > > Is that a good idea? As far as licence > conditions are concerned? Though I have to admit I don't quite know > which licence is > valid for glibc - LGPL? Yes, GLIBC is all LGPL. Using a GPL C library could be a big legal problem for anyone not doing GPL applications - I can't imagin IBM pushing it at all if that were the case. Consequently the regex bit seems to be (re)written by some IBMer with an Japanese email address. As for the crypt stuff, that's included in GLIBC (although as a separate library there, I link it into the DLL to keep things simple) and appears to be public domain. I'm not sure if it's affected by US export regulations anylonger, but since I'm not in the US I don't care too much. The primary reason for shopping the above GLIBC code was that I'm using the GLIBC unit tests for regression testing LIBC. So, to make it all work better I ended up replacing and adding stuff. Kind Regards, knut