irclog2html for uclibc on 2002.09.10

14:03:47sjhillhello mjn3
14:04:41mjn3morning
14:04:52mjn3how goes it?
14:05:50sjhillreally well i think
14:06:09sjhilli'm going to be uploading precompiled mips uclibc toolchain RPMS soon
14:07:22mjn3that's good.  i spent most of last week building tinyx and mozilla for the zaurus, only to find that mozilla won't fit in the builtin flash :-(, so the client is "rethinking"
14:07:37sjhillheh
14:07:54sjhilli thought Qt had a nice little browser?
14:08:04sjhillerr, TrollTech
14:08:10sjhillCentury Software too
14:08:26mjn3that's cool.  i've been doing a little cleanup lately, but i'll be working on uClibc pretty much fulltime soon to finish the i10n/i18n stuff
14:08:42sjhillthat's awesome!
14:09:12mjn3they do.. there's Konqueror/embedded. and the zaurus comes with opera.  but my client needs flash plugin support.
14:09:25sjhillah
14:09:49sjhillis the CF slot being used?
14:09:57sjhillwait, duh, of course it is
14:10:04mjn3the deadline for the i10n/i18n stuff is mid November, but i'll probably have it done before that
14:10:05sjhillif they want Internet access
14:10:30sjhillmjn3 do you and Erik do contract work together?
14:10:39mjn3they're putting a wireless network card in the CF slot.
14:10:41sjhill*sigh* sorry, meant that to be private
14:10:51sjhillk
14:10:53mjn3no problem
14:11:05mjn3actually, i'm subcontracting under erik for that stuff
14:11:16sjhillcool
14:11:30mjn3the zaurus project was something he was contacted about, but his plate was full so he passed it on to me
14:12:43mjn3actually, i've never met Erik.  i live down here in the swamps... Lafayette, LA.  I from New Orleans
14:13:21sjhilloh...one of those "Southern" people :)
14:14:25mjn3further south than that... my grandfather came to New Orleans on a banana boat when he was 15 from a small town near Veracruz.  ;-)
14:14:42sjhillwow
14:15:33mjn3i'm kind of an english/german/spanish mix, living in the heart of cajun country.
14:16:26sjhillis just a normal caucasion...german/czech descent
14:16:57sjhill*grr* this #include problem is driving me nuts
14:17:42sjhillso, i have a program that #include <limits.h>, yet it still says '_POSIX_PATH_MAX' is undefined even though 'limit.h' includes 'bits/posix1_lim.h'
14:20:24mjn3sorry.. door.  hmm
14:21:40sjhillhmmm, if i #include <bits/posix1_lim.h> it's okay....
14:21:58mjn3sjhill: are you defining _POSIX_SOURCE or one of the other macros from features.h to make sure it actually does the include?
14:23:11sjhillmjn3: do i have to explicitly?
14:23:19sjhilli though it was taken care of at uclibc build time
14:23:53mjn3is this internal uClibc code?  what are you trying to build?
14:25:18sjhill'sec
14:37:10sjhilli'm still finishing up building of the Linux Test Project
14:37:49mjn3ah
14:38:28mjn3if you are building an external app, then you need to do the appropriate define to enable the features you want
14:39:21sjhilli'm compiling with a "native" uclibc toolchain, should i have configured gcc differently?
14:39:51sjhilli've also got some undefined THREADS #defines missing too, maybe --enable-threads wasn't enough
14:40:49mjn3no.  it isn't a toolchain issue.  the glibc headers are set up so that you can enable or disable certain things in the header files.  this is for compliance with the various standards bodies.  see features.h for info
14:42:39sjhillmipsel-uclibc-gcc -I../../../../include -D_POSIX_SOURCE -D_POSIX_C_SOURCE    fcntl07.c -L../../../../lib -lltp  -o fcntl07
14:42:39sjhillfcntl07.c:177: `_POSIX_PATH_MAX' undeclared here (not in a function)
14:42:40sjhillfcntl07.c:177: storage size of `subprog_path' isn't known
14:42:40sjhillmake: *** [fcntl07] Error 1
14:43:19sjhillwait
14:44:04sjhillbear with me, so defining those didn't work
14:44:29mjn3hmm
14:48:14mjn3running some tests
14:59:50mjn3sjhill: hmm. i just ran some tests, and it seems like _POSIX_PATH_MAX is being defined for me, even without the feature macros.  this is with the gcc wrapper on both i386 and mips, and with native toolchains (gcc 3.2) for i386 and arm
15:00:44sjhilli'm not using the wrapper....hmmm
15:01:28sjhillReading specs from /opt/toolchains/uclibc/lib/gcc-lib/mipsel-linux/3.2/specs
15:01:28sjhillConfigured with: ../gcc-3.2/configure --prefix=/opt/toolchains/uclibc --target=mipsel-linux --enable-target-optspace --disable-nls --with-gnu-ld --enable-shared --enable-threads --enable-languages=c,c++ --infodir=/opt/toolchains/uclibc/info --mandir=/opt/toolchains/uclibc/man --includedir=/opt/toolchains/uclibc/mipsel-linux/include --with-gxx-include-dir=/opt/toolchains/uclibc/mipsel-linux/include/g++-v3 --disable-checking --program-transform-na
15:01:28sjhillme=s,^,mipsel-uclibc-,
15:01:28sjhillThread model: posix
15:01:30sjhillgcc version 3.2
15:01:34sjhill /opt/toolchains/uclibc/lib/gcc-lib/mipsel-linux/3.2/cc1 -lang-c -v -I../../../../include -D__GNUC__=3 -D__GNUC_MINOR__=2 -D__GNUC_PATCHLEVEL__=0 -D__GXX_ABI_VERSION=102 -DMIPSEL -D_MIPSEL -Dunix -Dmips -D_mips -DR3000 -D_R3000 -D__gnu_linux__ -Dlinux -D__ELF__ -D__PIC__ -D__pic__ -D__MIPSEL__ -D_MIPSEL -D__unix__ -D__mips__ -D__mips__ -D__R3000__ -D_R3000 -D__gnu_linux__ -D__linux__ -D__ELF__ -D__PIC__ -D__pic__ -D__MIPSEL -D__unix -D__mips -D_
15:01:39sjhill_mips -D__R3000 -D__linux -Asystem=posix -Acpu=mips -Amachine=mips -D__NO_INLINE__ -D__STDC_HOSTED__=1 -D__LANGUAGE_C -D_LANGUAGE_C -DLANGUAGE_C -D__SIZE_TYPE__=unsigned int -D__PTRDIFF_TYPE__=int -D__mips_fpr=32 -D_MIPS_FPSET=32 -D_MIPS_ISA=_MIPS_ISA_MIPS1 -D_MIPS_SIM=_MIPS_SIM_ABI32 -D_MIPS_SZINT=32 -D_MIPS_SZLONG=32 -D_MIPS_SZPTR=32 -U__mips -D__mips -U__mips64 -D__USE_POSIX fcntl07.c -quiet -dumpbase fcntl07.c -version -o /tmp/ccIK7Mx7.s
15:01:44sjhillGNU CPP version 3.2 (cpplib) (MIPSel GNU/Linux with ELF)
15:01:46sjhillGNU C version 3.2 (mipsel-linux)
15:01:48sjhillcompiled by GNU C version 2.96 20000731 (Red Hat Linux 7.2 2.96-108.7.2).
15:01:50sjhillignoring nonexistent directory "/opt/toolchains/uclibc/include"
15:01:52sjhillignoring nonexistent directory "/opt/toolchains/uclibc/mipsel-linux/sys-include"#include "..." search starts here:
15:01:55sjhill#include <...> search starts here:
15:01:57sjhill ../../../../include
15:01:59sjhill /opt/toolchains/uclibc/lib/gcc-lib/mipsel-linux/3.2/include
15:02:01sjhill /opt/toolchains/uclibc/mipsel-linux/include
15:02:05sjhillEnd of search list.
15:02:07sjhillfcntl07.c:177: `_POSIX_PATH_MAX' undeclar
15:05:24mjn3for the following 2-line tlimit.c file:
15:05:29mjn3#include <limits.h>
15:05:29mjn3posix path max is _POSIX_PATH_MAX
15:06:26mjn3if i do the following, i see that posix1_lim.h gets included a couple of times
15:06:30mjn3PATH=/archive/work/toolchain/gcc-3.2/toolchain-arm/usr/bin/:$PATH gcc -E tlimits.c | grep -v "^ *$" | less
15:06:58sjhill'sec ... manager called on phone
15:07:54mjn3sure
15:30:36sjhill# 1 "fcntl07.c"
15:30:37sjhill# 1 "<built-in>"
15:30:37sjhill# 1 "<command line>"
15:30:37sjhill# 1 "fcntl07.c"
15:30:37sjhill# 134 "fcntl07.c"
15:30:37sjhill# 1 "/opt/toolchains/uclibc/lib/gcc-lib/mipsel-linux/3.2/include/limits.h" 1 3
15:30:39sjhill# 135 "fcntl07.c" 2
15:31:06mjn3sjhill: i think the problem is related to features.h actually... running more tests.
15:31:24sjhillhowever...i put '#error fdsjklfsd' as the first line in the 'limits.h' file, and it didn't stop it from compiling
15:40:07mjn3sjhill: new example... tfeatures.c
15:40:29mjn3posix source is _POSIX_SOURCE
15:40:29mjn3posix c source is  _POSIX_C_SOURCE
15:40:29mjn3xopen source is  _XOPEN_SOURCE
15:40:29mjn3strict ansi is __STRICT_ANSI__
15:40:29mjn3#ifdef __STRICT_ANSI__
15:40:31mjn3defined
15:40:33mjn3#endif
15:40:35mjn3use posix is __USE_POSIX
15:40:37mjn3#include <features.h>
15:40:39mjn3posix source is _POSIX_SOURCE
15:40:42mjn3posix c source is  _POSIX_C_SOURCE
15:40:43mjn3xopen source is  _XOPEN_SOURCE
15:40:46mjn3strict ansi is __STRICT_ANSI__
15:40:47mjn3#ifdef __STRICT_ANSI__
15:40:49mjn3defined
15:40:51mjn3#endif
15:40:53mjn3use posix is __USE_POSIX
15:41:03mjn3sjhill: with (suitable path) gcc -E tfeatures.c | grep -v "^ *$"
15:41:06mjn3i get
15:41:42mjn3# 1 "tfeatures.c"
15:41:42mjn3# 1 "<built-in>"
15:41:42mjn3# 1 "<command line>"
15:41:42mjn3# 1 "tfeatures.c"
15:41:42mjn3posix source is _POSIX_SOURCE
15:41:43mjn3posix c source is _POSIX_C_SOURCE
15:41:45mjn3xopen source is _XOPEN_SOURCE
15:41:47mjn3strict ansi is __STRICT_ANSI__
15:41:49mjn3use posix is __USE_POSIX
15:41:51mjn3# 1 "/archive/work/toolchain/gcc-3.2/toolchain-i386/usr/lib/gcc-lib/../../i386-linux/sys-include/features.h" 1 3
15:41:54mjn3# 301 "/archive/work/toolchain/gcc-3.2/toolchain-i386/usr/lib/gcc-lib/../../i386-linux/sys-include/features.h" 3
15:41:57mjn3# 1 "/archive/work/toolchain/gcc-3.2/toolchain-i386/usr/lib/gcc-lib/../../i386-linux/sys-include/sys/cdefs.h" 1 3
15:42:02mjn3# 302 "/archive/work/toolchain/gcc-3.2/toolchain-i386/usr/lib/gcc-lib/../../i386-linux/sys-include/features.h" 2 3
15:42:05mjn3# 336 "/archive/work/toolchain/gcc-3.2/toolchain-i386/usr/lib/gcc-lib/../../i386-linux/sys-include/features.h" 3
15:42:08mjn3# 1 "/archive/work/toolchain/gcc-3.2/toolchain-i386/usr/lib/gcc-lib/../../i386-linux/sys-include/bits/uClibc_config.h" 1 3
15:42:11mjn3# 337 "/archive/work/toolchain/gcc-3.2/toolchain-i386/usr/lib/gcc-lib/../../i386-linux/sys-include/features.h" 2 3
15:42:14mjn3# 10 "tfeatures.c" 2
15:42:16mjn3posix source is 1
15:42:18mjn3posix c source is 199506L
15:42:20mjn3xopen source is _XOPEN_SOURCE
15:42:22mjn3strict ansi is __STRICT_ANSI__
15:42:24mjn3use posix is 1
15:43:01mjn3sjhill: so _USE_POSIX gets set by features.h if you don't set any other defines.  _but_ if you set -ansi, then it doesn't.  the pertinent lines in features.h are:
15:43:19mjn3   (and IEEE Std 1003.1b-1993 unless _XOPEN_SOURCE is defined).  */
15:43:19mjn3#if (!defined __STRICT_ANSI__ && !defined _POSIX_SOURCE && \
15:43:19mjn3     !defined _POSIX_C_SOURCE)
15:43:19mjn3# define _POSIX_SOURCE1
15:43:19mjn3# if defined _XOPEN_SOURCE && (_XOPEN_SOURCE - 0) < 500
15:43:21mjn3#  define _POSIX_C_SOURCE2
15:43:23mjn3# else
15:43:25mjn3#  define _POSIX_C_SOURCE199506L
15:43:27mjn3# endif
15:43:29mjn3#endif
15:45:30sjhilli think i found the problem
15:45:42sjhilli'm using gcc-3.2, what are you using?
15:47:46sjhilllook at this:
15:48:22mjn3native toolchains for arm and i386 is gcc 3.2.  i386 wrapper is 2.95.4 (debian).  mips wrapper is 2.95.4 debian too
15:48:35sjhill# 134 "fcntl07.c"
15:48:35sjhill# 1 "/opt/toolchains/uclibc/lib/gcc-lib/mipsel-linux/3.2/include/limits.h" 1 3
15:48:35sjhill# 135 "fcntl07.c" 2
15:48:54sjhill#include "..." search starts here:
15:48:54sjhill#include <...> search starts here:
15:48:54sjhill ../../../../include
15:48:54sjhill /opt/toolchains/uclibc/lib/gcc-lib/mipsel-linux/3.2/include
15:48:54sjhill /opt/toolchains/uclibc/mipsel-linux/include
15:49:02sjhillit's using GCC's header first
15:49:09sjhillif i remove GCC's 'limit.
15:49:32sjhillh' and remove #include_next out of uclibc's limit.h, it works
15:51:59mjn3hmm.  well, first i'd run the features test above to make sure that it agrees... i.e. that _USE_POSIX is getting defined.  if so, then i'd make sure that it is still defined after the include_next in limits.h (uclib)
15:52:49sjhillhmmm, adding '-I/opt/toolchains/uclibc/mipsel-linux/include' and returning all headers to normal works too
15:53:29sjhillmjn3: dump 'tfeatures.c' for me pls
15:54:56mjn3posix source is _POSIX_SOURCE
15:54:56mjn3posix c source is  _POSIX_C_SOURCE
15:54:56mjn3xopen source is  _XOPEN_SOURCE
15:54:56mjn3strict ansi is __STRICT_ANSI__
15:54:56mjn3#ifdef __STRICT_ANSI__
15:54:56mjn3defined
15:54:59mjn3#endif
15:55:00mjn3use posix is __USE_POSIX
15:55:02mjn3#include <features.h>
15:55:07mjn3posix source is _POSIX_SOURCE
15:55:08mjn3posix c source is  _POSIX_C_SOURCE
15:55:10mjn3xopen source is  _XOPEN_SOURCE
15:55:12mjn3strict ansi is __STRICT_ANSI__
15:55:14mjn3#ifdef __STRICT_ANSI__
15:55:16mjn3defined
15:55:18mjn3#endif
15:55:20mjn3use posix is __USE_POSIX
15:55:33sjhillthat's C code?
15:56:09mjn3well, yes but don't expect it to compile.  just run it through the preprocessor.. gcc -E tfeatures.c
15:56:40mjn3i generally pipe it through grep -v "^ *$" to kill all the blank lines
15:57:53mjn3after all the include messages, i get:
15:57:56mjn3posix source is 1
15:57:56mjn3posix c source is 199506L
15:57:56mjn3xopen source is _XOPEN_SOURCE
15:57:56mjn3strict ansi is __STRICT_ANSI__
15:57:56mjn3use posix is 1
15:58:18sjhillyup, so do i
15:58:27sjhilli added 'limits.h' to your stuff and get:
15:58:36sjhill# 10 "tfeatures.c" 2
15:58:36sjhill# 1 "/opt/toolchains/uclibc/lib/gcc-lib/mipsel-linux/3.2/include/limits.h" 1 3
15:58:36sjhill# 11 "tfeatures.c" 2
15:58:51sjhillthat's the whole problem...imho...it's using GCC's stuff first which screws me
16:01:02mjn3that's odd, since it is supposed to include the gcc stuff too.  let me check something...
16:03:03mjn3ok, try this one
16:03:08mjn3#include <features.h>
16:03:08mjn3hi: use posix is __USE_POSIX
16:03:08mjn3#include <limits.h>
16:03:08mjn3hi: use posix is __USE_POSIX
16:03:08mjn3hi: posix path max is _POSIX_PATH_MAX
16:03:39mjn3then gcc -E tlimits2.c | grep "^hi"  gives me
16:03:54mjn3hi: use posix is 1
16:03:54mjn3hi: use posix is 1
16:03:54mjn3hi: posix path max is 256
16:05:16mjn3gcc -ansi -E tlimits2.c | grep "^hi"
16:05:16mjn3hi: use posix is __USE_POSIX
16:05:17mjn3hi: use posix is __USE_POSIX
16:05:17mjn3hi: posix path max is _POSIX_PATH_MAX
16:06:57sjhillyup, i get that
16:07:17sjhillwith my mipsel cross compiler
16:08:08sjhillshow me your 'limits.h' line in the output
16:10:06mjn3here's all the output
16:10:17mjn3# 1 "tlimits2.c"
16:10:17mjn3# 1 "<built-in>"
16:10:17mjn3# 1 "<command line>"
16:10:17mjn3# 1 "tlimits2.c"
16:10:17mjn3# 1 "/archive/work/toolchain/gcc-3.2/toolchain-i386/usr/lib/gcc-lib/../../i386-linux/sys-include/features.h" 1 3
16:10:18mjn3# 301 "/archive/work/toolchain/gcc-3.2/toolchain-i386/usr/lib/gcc-lib/../../i386-linux/sys-include/features.h" 3
16:10:21mjn3# 1 "/archive/work/toolchain/gcc-3.2/toolchain-i386/usr/lib/gcc-lib/../../i386-linux/sys-include/sys/cdefs.h" 1 3
16:10:24mjn3# 302 "/archive/work/toolchain/gcc-3.2/toolchain-i386/usr/lib/gcc-lib/../../i386-linux/sys-include/features.h" 2 3
16:10:27mjn3# 336 "/archive/work/toolchain/gcc-3.2/toolchain-i386/usr/lib/gcc-lib/../../i386-linux/sys-include/features.h" 3
16:10:31mjn3# 1 "/archive/work/toolchain/gcc-3.2/toolchain-i386/usr/lib/gcc-lib/../../i386-linux/sys-include/bits/uClibc_config.h" 1 3
16:10:34mjn3# 337 "/archive/work/toolchain/gcc-3.2/toolchain-i386/usr/lib/gcc-lib/../../i386-linux/sys-include/features.h" 2 3
16:10:37mjn3# 2 "tlimits2.c" 2
16:10:40mjn3hi: use posix is 1
16:10:42mjn3# 1 "/archive/work/toolchain/gcc-3.2/toolchain-i386/usr/lib/gcc-lib/i386-linux/3.2/include/limits.h" 1 3
16:10:44mjn3# 11 "/archive/work/toolchain/gcc-3.2/toolchain-i386/usr/lib/gcc-lib/i386-linux/3.2/include/limits.h" 3
16:10:46mjn3# 1 "/archive/work/toolchain/gcc-3.2/toolchain-i386/usr/lib/gcc-lib/i386-linux/3.2/include/syslimits.h" 1 3
16:10:48mjn3# 1 "/archive/work/toolchain/gcc-3.2/toolchain-i386/usr/lib/gcc-lib/i386-linux/3.2/include/limits.h" 1 3
16:10:50mjn3# 132 "/archive/work/toolchain/gcc-3.2/toolchain-i386/usr/lib/gcc-lib/i386-linux/3.2/include/limits.h" 3
16:10:52mjn3# 1 "/archive/work/toolchain/gcc-3.2/toolchain-i386/usr/lib/gcc-lib/../../i386-linux/sys-include/limits.h" 1 3
16:10:55mjn3# 144 "/archive/work/toolchain/gcc-3.2/toolchain-i386/usr/lib/gcc-lib/../../i386-linux/sys-include/limits.h" 3
16:10:59mjn3# 1 "/archive/work/toolchain/gcc-3.2/toolchain-i386/usr/lib/gcc-lib/../../i386-linux/sys-include/bits/posix1_lim.h" 1 3
16:11:02mjn3# 126 "/archive/work/toolchain/gcc-3.2/toolchain-i386/usr/lib/gcc-lib/../../i386-linux/sys-include/bits/posix1_lim.h" 3
16:11:04mjn3# 1 "/archive/work/toolchain/gcc-3.2/toolchain-i386/usr/lib/gcc-lib/../../i386-linux/sys-include/bits/local_lim.h" 1 3
16:11:08mjn3# 36 "/archive/work/too
16:11:13mjn3(blasted pasting limitation)
16:11:17mjn3# 36 "/archive/work/toolchain/gcc-3.2/toolchain-i386/usr/lib/gcc-lib/../../i386-linux/sys-include/bits/local_lim.h" 3
16:11:17mjn3# 1 "/archive/work/toolchain/gcc-3.2/toolchain-i386/usr/lib/gcc-lib/../../i386-linux/sys-include/linux/limits.h" 1 3
16:11:19mjn3# 37 "/archive/work/toolchain/gcc-3.2/toolchain-i386/usr/lib/gcc-lib/../../i386-linux/sys-include/bits/local_lim.h" 2 3
16:11:22mjn3# 127 "/archive/work/toolchain/gcc-3.2/toolchain-i386/usr/lib/gcc-lib/../../i386-linux/sys-include/bits/posix1_lim.h" 2 3
16:11:26mjn3# 145 "/archive/work/toolchain/gcc-3.2/toolchain-i386/usr/lib/gcc-lib/../../i386-linux/sys-include/limits.h" 2 3
16:11:28mjn3# 1 "/archive/work/toolchain/gcc-3.2/toolchain-i386/usr/lib/gcc-lib/../../i386-linux/sys-include/bits/posix2_lim.h" 1 3
16:11:31mjn3# 149 "/archive/work/toolchain/gcc-3.2/toolchain-i386/usr/lib/gcc-lib/../../i386-linux/sys-include/limits.h" 2 3
16:11:34mjn3# 133 "/archive/work/toolchain/gcc-3.2/toolchain-i386/usr/lib/gcc-lib/i386-linux/3.2/include/limits.h" 2 3
16:11:36mjn3# 8 "/archive/work/toolchain/gcc-3.2/toolchain-i386/usr/lib/gcc-lib/i386-linux/3.2/include/syslimits.h" 2 3
16:11:40mjn3# 12 "/archive/work/toolchain/gcc-3.2/toolchain-i386/usr/lib/gcc-lib/i386-linux/3.2/include/limits.h" 2 3
16:11:42mjn3# 4 "tlimits2.c" 2
16:11:44mjn3hi: use posix is 1
16:11:46mjn3hi: posix path max is 256
16:11:49mjn3remove the incomplete line and paste those together.  ;-)
16:12:15sjhillhmm
16:12:36sjhilllet me build the uclibc wrapped compiler and see what happens
16:13:15mjn3really, i'd try putting some dummy output lines to test the value of __USE_POSIX before and after the include_next in limits.h.  maybe include_next is broken for you...
16:13:43sjhillok, be patient...
16:13:47sjhillummm, how do i do that?
16:13:50mjn3or maybe the file it is including is resetting __USE_POSIX.
16:14:16sjhillthe problem is that the compiler's GCC 'limits.h' doesn't include the next 'limits.h'
16:15:18mjn3hmm
16:15:48sjhillfor your ARM native uclibc toolchain, could you 'grep #include' GCC's 'limits.h'
16:16:10mjn3re the dummy output lines, just like we've been doing with these examples.  you could just add some "hi: ..." lines in limits.h and then grep the prepocessor output
16:16:27mjn3a sec
16:18:30mjn3mjn3@mars:/archive/work/toolchain/gcc-3.2/toolchain-arm/lib/gcc-lib/arm-linux/3.2/include$ pwd
16:18:30mjn3mjn3@mars:/archive/work/toolchain/gcc-3.2/toolchain-arm/lib/gcc-lib/arm-linux/3.2/include$ grep include limits.h
16:18:30mjn3#include "syslimits.h"
16:18:30mjn3#include_next <limits.h>                /* recurse down to the real one */
16:18:56sjhillbingo!
16:19:02sjhilli don't have those lines!
16:19:30sjhillnone of them!
16:19:34sjhillthat's why things aren't working
16:19:43sjhillnow to figure out how those header files are generated
16:19:54mjn3tail limits.h
16:19:54mjn3   if the system has its own version of limits.h.  */
16:19:54mjn3#else /* not _GCC_LIMITS_H_ */
16:19:55mjn3#ifdef _GCC_NEXT_LIMITS_H
16:19:55mjn3#include_next <limits.h>                /* recurse down to the real one */
16:19:57mjn3#endif
16:20:00mjn3#endif /* not _GCC_LIMITS_H_ */
16:22:49sjhill[root@lab-dvt-01 include]# tail limits.h
16:22:49sjhill#define LONG_LONG_MIN (-LONG_LONG_MAX-1)
16:22:49sjhill#undef LONG_LONG_MAX
16:22:49sjhill#define LONG_LONG_MAX __LONG_LONG_MAX__
16:22:50sjhill#undef ULONG_LONG_MAX
16:22:51sjhill#define ULONG_LONG_MAX (LONG_LONG_MAX * 2ULL + 1)
16:22:53sjhill#endif
16:22:58sjhill#endif /* _LIMITS_H___ */
16:23:08sjhillnot even close
16:23:22sjhillsomething is not right with the native mips toolchain
16:24:12mjn3there's a comment at the top of the file -- This administrivia gets added to the beginning of limits.h
16:24:12mjn3   if the system has its own version of limits.h.
16:26:31sjhillwhat's in your 'syslimits.h'?
16:27:42mjn3besides a starting comment:
16:27:45mjn3#define _GCC_NEXT_LIMITS_H              /* tell gcc's limits.h to recurse */
16:27:45mjn3#include_next <limits.h>
16:27:45mjn3#undef _GCC_NEXT_LIMITS_H
16:28:01mjn3that's it...
16:28:22sjhillok, that matches
16:42:21sjhilljust for grins, i copied the 'limits.h' from my PC's x86 gcc directory and used it....all my errors disappeared
16:43:23sjhilli'm building my toolchain wrong obviously
16:49:21mjn3hmm... sorry to hear that.  not my area so can't really help you there.  i just grabbed the toolchain stuff erik put up and changed it to use gcc 3.2 and binutils 2.12.1.  i think it was set up for gcc 3.1.1 and binutils 2.13 but the 2.13 was buggy
16:57:58mjn3andersee: morning/afternoon/wakeful-time  ;-)
17:10:07anderseemorning
17:11:24sjhillhey andersee
17:13:15mjn3andersee: i've been looking at the timezone situation... i'm still not seeing why setting TZ in /etc/profile is insufficient.  seems like it is a pretty common approach (or at least was)
17:15:47mjn3andersee: in at least on unix, init would actually setup env variable for its children from /etc/default/init.  in particular it would set TZ, LC_*, and LANG
17:17:33anderseesjhill: morning
17:18:20anderseemjn3: the main reason /etc/profile wasn't working for that one dude was he was on uClinux using the 'sash' shell.  Turns out that sash doesn't parse /etc/profile.
17:19:28mjn3andersee: seems like it would be better to fix sash... :-(
17:21:02anderseehehe
17:21:04anderseePerhaps
17:21:34sjhillandersee: how come you don't have the option '--enable-threads' in your uclibc toolchain building Makefile?
17:23:44anderseesjhill: That config script needs some major updating...
17:24:08anderseesjhill: But its about to need even more major changes....
17:24:09andersee:-)
17:24:18sjhillhow's come?
17:24:23sjhilli18n stuff?
17:24:44anderseesjhill: I'm reworking the config system.
17:24:58anderseesjhill: manuel's been bugging me about it for months....
17:25:14mjn3yep... that and profiling support.  ;-)
17:25:24anderseesjhill: The current config system is far from elegant.
17:26:13sjhillyeah, it pretty much sucks rocks
17:26:18sjhilljust kidding :)
17:29:40anderseeThe new config system is based on CML1 (like the linux kernel uses)
17:30:09anderseeSo you will be able to just run 'make oldconfig' to update your config settings.
17:31:12sjhillcool
17:31:23sjhillsimilar to what was done with busybox
17:32:49anderseeyup
18:14:01sjhillmjn3: fixed
18:14:39sjhillit was a problem with my toolchain building...look at this nice little line in 'gcc-3.2/gcc/configure' script:
18:14:59sjhillif [ -f /opt/toolchains/uclibc/mipsel-linux/sys-include/limits.h ] ; then \
18:14:59sjhill  cat ../../gcc-3.2/gcc/limitx.h ../../gcc-3.2/gcc/glimits.h ../../gcc-3.2/gcc/limity.h > tmp-xlimits.h; \
18:14:59sjhillelse \
18:14:59sjhill  cat ../../gcc-3.2/gcc/glimits.h > tmp-xlimits.h; \
18:14:59sjhillfi
18:15:02sjhill/bin/sh ../../gcc-3.2/gcc/move-if-change tmp-specs.h specs.h
18:15:03sjhillecho timestamp > s-options
18:15:05sjhillmv tmp-xlimits.h xlimits.h
18:15:08sjhillecho timestamp > s-specs
18:15:36sjhillif you don't havethe 'sys-include' symbolic link to your 'include' directory, it doesn't create the GCC limits.h header correctly
18:15:44sjhill*gaaah*
18:15:59sjhillnow LTP compiles properly with the native uClibc toolchain on MIPS
18:16:07mjn3congrats on finding it!
18:16:11sjhillthx :)
18:26:19mjn3i'm heading off to run a few errands... should be back in about an hour or so
18:39:32sjhillandersee: do you have a schedule for the 0.9.16 release?
18:52:33anderseesjhill: not yet
18:53:00sjhillgood...then i can safely release my 0.9.15 toolchain RPMS... :)
18:54:16anderseeyup
18:55:09anderseesjhill: you have the bandwidth?  Want me to put em on uclibc.org somewhere?
18:55:38sjhillandersee: i'm fine, i still have 4.5GB/month that i don't even use...thx though
18:56:38anderseesure, no prob
18:57:33sjhillLTP is a great way to find uClibc problems :)
19:01:22anderseesjhill: find many things to fix?
19:01:57sjhilli think i'm done for now...LMBench also compiles against uClibc with no changes
19:02:13sjhilli'll be starting benchmarking/torture testing in a couple of days
19:02:45sjhilleverytime i work on this stuff, i'm more impressed how complicated toolchain development is
19:03:30anderseeI wonder if all arches define some sortof "__mips_soft_float" like thing.  uClibc's soft-float support kindof sucks at the moment.
19:05:15sjhillARM wouldn't currently...no production ARM/StronARM has HW FP
19:06:15anderseeright.
19:06:17anderseeBut....
19:06:21anderseeIf you look in libc/sysdeps/linux/arm/__longjmp.S
19:06:38anderseeI do a lfmfd   f4, 4, [ip] !   /* load the floating point regs */
19:07:02anderseeand I do it unconditionally if __UCLIBC_HAS_FLOATS__ is enabled
19:07:14anderseeRelying on the kerenl FPU emulator...
19:07:48anderseeI suppose I should check if there is a "__arm_soft_float" type #define
19:08:16anderseetests for such a thing on winder
19:09:02sjhillthat's why the patch was put in...the guy i got the patch from wanted to avoid starting up the kernel FP emulator
19:09:13sjhillif soft float was enabled
19:09:19anderseeyup
19:09:34sjhillyeah, it might be cool to have uClibc support that a bit better
19:09:58anderseeThats also why I'm checking for such a #define on winder....  I'd never thought there was a #define I could check...
19:52:22anderseesjhill: Cool, looks like I can check for "__SOFTFP__" on arm.
19:52:31anderseefixes arm soft-float support
19:52:52sjhillsweet

Generated by irclog2html.pl by Jeff Waugh - find it at freshmeat.net! Modified by Tim Riker to work with infobot logs, split per channel and by date, etc.