IRC log for #uclibc on 20120416

00:10.43*** join/#uclibc xiangfu (~xiangfu@fidelio.qi-hardware.com)
01:10.39*** join/#uclibc wberrier (~wberrier@71-213-55-124.slkc.qwest.net)
01:21.01*** join/#uclibc dileks (~dileks@p548B7833.dip.t-dialin.net)
01:24.00*** join/#uclibc Buglouse (~Buglouse@176.31.24.226)
01:34.13*** join/#uclibc wberrier (~wberrier@174-23-134-9.slkc.qwest.net)
01:36.19*** join/#uclibc xiangfu (~xiangfu@fidelio.qi-hardware.com)
02:25.30*** part/#uclibc Buglouse (~Buglouse@176.31.24.226)
02:38.29*** join/#uclibc Buglouse (~Buglouse@176.31.24.226)
03:18.36*** part/#uclibc Buglouse (~Buglouse@176.31.24.226)
03:20.01*** join/#uclibc Buglouse (~Buglouse@176.31.24.226)
03:41.40*** part/#uclibc Buglouse (~Buglouse@176.31.24.226)
03:43.00*** join/#uclibc Buglouse (~Buglouse@176.31.24.226)
04:09.33*** join/#uclibc xiangfu (~xiangfu@125.34.167.247)
04:38.45*** join/#uclibc xiangfu (~xiangfu@fidelio.qi-hardware.com)
04:47.01*** join/#uclibc risca (~risca@wnpgmb0903w-ds01-249-233.dynamic.mtsallstream.net)
05:36.07*** join/#uclibc erwt (~erwt@122.170.104.85)
05:51.52*** join/#uclibc Jorasse (~Jorasse@64-187.196-178.cust.bluewin.ch)
06:05.54*** join/#uclibc porchao (~hato@eatkyo267188.adsl.ppp.infoweb.ne.jp)
07:00.07*** join/#uclibc factor (~factor@r74-193-21-187.cnrocmta01.conrtx.tl.dh.suddenlink.net)
07:06.54*** join/#uclibc Artemys (~quassel@stp25-2-82-234-232-91.fbx.proxad.net)
07:34.41*** join/#uclibc smartin (52e7e007@gateway/web/freenode/ip.82.231.224.7)
07:43.31*** join/#uclibc clio (~andrej@85.159.109.222)
08:34.18*** join/#uclibc AnywhereIs (~edK@h62-133-168-70.static.bashtel.ru)
08:39.43*** join/#uclibc AnywhereIs (~edK@h62-133-168-70.static.bashtel.ru)
09:18.03*** join/#uclibc Jorasse (~Jorasse@bdi68-1-82-227-80-246.fbx.proxad.net)
09:28.02*** join/#uclibc xiangfu (~xiangfu@fidelio.qi-hardware.com)
09:33.15*** join/#uclibc clio (~andrej@85.159.109.222)
10:09.22*** join/#uclibc ericbutters (~kuhne@business-213-023-195-122.static.arcor-ip.net)
10:09.49ericbuttershi :) puh.. anyone build firefox with buildroot sysroot?
10:10.13ericbuttersor anyone cross-compiled firefox?
10:10.40ericbuttersi know there is midori and that is cool...
10:12.54ericbuttersmy target is armv7 cortex-a8. maybe best way is by chroot.. but i need to go with qemu to do this? and firefox build is about 4GB so i need large disc space with qemu?
10:14.36ericbutterscan not build on target itself because of the disc site
10:14.43ericbutterssize not site ;)
10:15.22daliashaha
10:15.34daliasbuilding firefox under qemu would take 10 years or something :)
10:19.23ericbutters:) ok
10:19.29ericbuttersgood point
10:21.32ericbuttersdalias you can tell what best way to do this?
10:24.56daliasi have no idea if firefox even works on uclibc
10:31.04ericbuttersi got external toolchain based on glibc
10:46.03*** join/#uclibc luneff (~yury@85.26.184.182)
10:59.49*** join/#uclibc ben1066 (~quassel@host109-152-46-144.range109-152.btcentralplus.com)
11:27.55*** join/#uclibc mnt_real (~sinan@78.160.93.241)
11:35.37*** join/#uclibc Buglouse (~Buglouse@176.31.24.226)
11:39.45*** join/#uclibc antgreen (~user@bas3-toronto06-1177890229.dsl.bell.ca)
12:36.15*** join/#uclibc smartin (52e7e007@gateway/web/freenode/ip.82.231.224.7)
12:44.21*** join/#uclibc bkuhn (~bkuhn@fsf/director/conservancy.president.bkuhn)
12:46.24*** join/#uclibc luneff (~yury@85.26.184.182)
13:20.37*** join/#uclibc drwhom (~drwhom@hulk.soic.indiana.edu)
13:39.14*** join/#uclibc luneff (~yury@85.26.184.182)
13:54.25*** join/#uclibc x-fak (~WinGuru@ANancy-554-1-121-200.w109-217.abo.wanadoo.fr)
13:54.25*** join/#uclibc x-fak (~WinGuru@reactos/tester/x-fak)
14:23.44*** join/#uclibc wberrier (~wberrier@71-213-54-200.slkc.qwest.net)
14:53.30*** join/#uclibc ben1066 (~quassel@host109-152-63-140.range109-152.btcentralplus.com)
15:00.37*** join/#uclibc ibot (~ibot@rikers.org)
15:00.37*** topic/#uclibc is discussion of uClibc, Busybox and Buildroot | uClibc 0.9.33.1 was released 11 Apr 2012 | uClibc++ 0.2.3 was released 11 Apr 2012 | busybox 1.19.4 was released 4 February 2012 | Buildroot 2012.02 was released 29 Feb 2012 | For general setup issues try #oe, #elinux or #edev
15:06.37*** join/#uclibc ben1066_ (~quassel@host31-53-199-120.range31-53.btcentralplus.com)
15:12.51*** join/#uclibc ben1066 (~quassel@host86-151-191-2.range86-151.btcentralplus.com)
15:15.53*** join/#uclibc landley (~landley@140.242.26.2)
15:44.42daliashi landley
15:44.44daliasseen this?
15:44.45daliashttp://gcc.gnu.org/ml/gcc/2012-04/msg00054.html
15:45.04daliasi think it will be of interest to most of #uclibc actually
15:45.19daliasaltho you probably don't care since gcc4 is gpl3 anyway
15:45.52*** part/#uclibc Buglouse (~Buglouse@176.31.24.226)
15:49.37*** join/#uclibc Buglouse (~Buglouse@176.31.24.226)
16:03.20*** join/#uclibc NIN101 (~NIN@206.253.166.69)
16:10.13*** join/#uclibc y_morin (~ymorin@ARennes-256-1-46-252.w90-32.abo.wanadoo.fr)
16:15.15landleydalias: sigh.
16:15.26landleyWell, that means gcc 4.8 won't build toybox.
16:15.33dalias?
16:15.40landleyI've made a policy of using things like "this" and "new" as variable names since day 1. :)
16:15.56landleyIf you try to build it as c++, it won't.
16:15.57daliaslandley, the message is very confusing. they're talking about gcc
16:16.19daliasyes it sounds like they want to compile every C program as if it were c++
16:16.26daliaswhich is a hideously misguided idea
16:16.36daliasbut actually they just want to compile gcc as if it were c++
16:16.38landleyIt would screw up kernel compiles too.
16:16.40daliasthen start writing all the new code in c++
16:16.54landleydalias: oh that.  THey announced that a year ago, lwn.net covered it.
16:17.15daliaswell they started the effort back then
16:17.19landleyI need to dig up qcc.
16:17.25daliasqcc?
16:17.26landleyAnd actually make that work.
16:17.36daliaswe really need a new compiler
16:17.41landleyOh, taking the tinycc front end and gluing qemu's tcg code generator to the back end.
16:17.55daliasah
16:18.01landleyhttp://landley.net/code/tinycc/qcc/todo.txt
16:18.07landleyAnd http://landley.net/code/tinycc/qcc/commands.txt
16:18.21daliasi'd really like to see a new compiler
16:18.25landleyI need to busyboxify my old tinycc fork so it does the swiss-army-knife thing, callable as "ld" and "as" and "cpp" and so on.
16:18.28daliasdesigned with sanity as its first goal
16:18.42landleyAnd then I need to break off the code generator part and make tcg work there.
16:18.56landleytinycc is already 95% of the way to c99 compliance (my fork was, anyway).
16:19.13landleyAnd tcg is very well supported by the qemu guys, with support for buckets of different targets and regular updates.
16:19.17landleyAnd it's bsd licensed even.
16:19.24daliasyeah but how is the quality of the generated code?
16:19.32landleyfairly sad.
16:19.41landleyIt's about what you'd expect from tinycc or qemu.
16:19.52daliasmy philosophy about optimizing compilers is that the reason you need them is not to make your code faster
16:20.01landleyIt's code generated on the fly with compilation speed and simplicity of implementation the primary goals.
16:20.11daliasthe reason you need them is to keep idiots from writing "high level assembly" instead of C
16:20.32dalias(which is sometimes dome for the sake of performance, sometimes for size)
16:20.39landleyIt does basic constant propogation (the spec requires that), and I was working towards getting it to do dead code elimination.
16:20.54daliasone great example is bswap32
16:20.55landleyIt drops out || 0 tests, and + 0, and * 1, and so on.
16:21.12landleyBut it doesn't rewrite the code into something more efficient.
16:21.16daliasgcc4 correctly optimizes it (to single opcode on cpus that have it) if you just write the clean, naive C to do it
16:21.38*** join/#uclibc y_morin_ (~ymorin@ARennes-256-1-49-180.w90-32.abo.wanadoo.fr)
16:21.44daliasand to see why that's appealing
16:21.54daliaslook at the monstrosity in the glibc headers to do it
16:22.20daliasthey use __builtin_constant_p to check if the argument is constant, and if so, use C arithmetic expressions
16:22.29daliasand if not, they use inline asm
16:22.59landleyThe various swap macros are in libc.  endian.h I believe.
16:23.10daliasyes that's what i mean
16:23.32daliasglibc implements it with that monstrosity to get around the fact that the compiler (at the time) did not optimize the simple clean C for it
16:23.33landleydalias: these days I'm focusing on the smart phone displacing the microcomputer.
16:23.40landleymainframe -> minicomputer -> microcomputer -> smartphone.
16:23.57landleyI want to steer the new 4th gen stuff out of the proprietary ditch, and save us a decade of reverse engineering everything.
16:23.57daliasand that's what always happens when the compiler can't optimize
16:24.04landleyThat means getting android self-hosting.
16:24.25daliaspeople whine about how horrible the code the compiler generated is, and "i could write it better in asm!" or "i could write it better unrolling that loop by hand!" and then they do it...
16:24.29daliasand the result is shitty code
16:24.42landleyIf I had time to work on qcc, it could run natively on the phone just fine.
16:24.46daliasso i've come to the conclusion that a good optimizing compiler is needed
16:24.55landleyAnd then you can compile a more optimized (much slower) pass later on.
16:25.11landleydalias: quite possibly. The sane implementation under development seems to be pcc.
16:25.28landleyhttp://pcc.ludd.ltu.se/
16:26.00daliaspcc is nice and simple
16:26.07landleyI'd say llvm/clang but that's written in C++.
16:26.13daliasbut it doesn't optimize very well yet
16:26.18landleypcc is the one open/net BSD are behind.
16:26.23landleyllvm is the one Apple is funding.
16:26.37daliasllvm/clang is like a repeat of gcc...
16:26.49landleyYeah, but at least it's not GPLv3.
16:26.49daliaslots of bloated layers of abstraction
16:27.31landleyThat was the Bagehot Moment for Apple.
16:28.36daliasthe idea that you need more abstraction layers is bogus and outdated
16:28.42landleyUnfortunately, right now I've bitten off more than I can chew.
16:28.45landleyI need to get toybox to 1.0.
16:28.50daliasyeah
16:29.00landleyI need to catch up on aboriginal linux releases so it can continue to be a good test environment for toybox.
16:29.10landley_and_ so it can someday be bootstrapped into a self-hosting android builder or some such.
16:29.18daliasbtw does toybox do (or intend to do) utf-8 support in utils that need it?
16:29.29daliasfold, wc, etc. come to mind
16:29.30landleyAnd I accepted the maintainership of the kernel's Documentation directory and have done nothing with it since.  (Ok, it's only a been a week, but still.)
16:29.38landleydalias: yup.
16:29.41daliascool
16:30.00daliasback in 2007 i implemented my own version of several of them because busybox's was broken...
16:30.11daliasoh, what about the 'printf' command (shell command)?
16:30.13landleyIt'll probably be a config thing, though.  (Able to switch it off.)
16:30.18daliasdoes it do utf-8 right?
16:30.23landleydalias: it's on the todo list?
16:30.27landleyI have a roadmap, you know.
16:30.30daliasok :)
16:30.40landleyhttp://landley.net/toybox/roadmap.html
16:30.47daliasi'm looking forward to being able to use toybox instead of busybox
16:30.47landleydalias: it doesn't do utf-8 yet.
16:30.58landleyIt's on the todo list, but not a priority at the moment.
16:31.15landleyAn awful lot of utf-8 support comes from just being 8-bit clean.
16:31.31daliasyes, for most tools. i'm talking about the ones that need to consider it specially tho
16:31.34landleyThe explicit utf-8 stuff is mostly making sure you advance by the right amount when eating characters.
16:32.10landleyIf you have a list thereof, it would probably save me time.  I haven't done a triage pass on that yet.
16:32.11daliasfold needs to see characters (not bytes) and use wcwidth() on them to do its line-wrapping correctly
16:32.23daliaswc -m counts (multibyte) characters
16:32.30landleyI remember wc has two flags, although I don't think posix-2008 required it...
16:32.34landleyYeah, that.
16:32.36daliastr needs to work with characters (not bytes)
16:32.55daliassame for sed (but the regex part is easy as long as your regex lib does it right)
16:32.58landleyAh, http://pubs.opengroup.org/onlinepubs/9699919799/utilities/wc.html does require it.
16:33.00daliasand likewise grep
16:33.24landleyFor sed and grep I"m taking a "libc's problem" view right now, and then I may go back and write a regex library later.
16:33.41landleyis not in a position to take notes on this at present.
16:33.50landleyCould you email me?  (Or better yet, the list. :)
16:33.59dalias:)
16:34.08daliaswell sed also has a tr-like command
16:34.12dalias(non-regex)
16:34.15landleyfold, wc, sed/grep, tr.
16:34.17daliasthat one you have to handle yourself
16:34.24landleydalias: y?
16:34.27daliasyes
16:34.44*** join/#uclibc ben1066_ (~quassel@host109-152-61-173.range109-152.btcentralplus.com)
16:34.56daliasbtw speaking of regex, i've been optimizing my fork of TRE
16:35.02landleyrewrote busybox sed more or less completely in ~2004, but that was a while ago...
16:35.15daliasi eliminated the need to pre-convert the regex to a wchar_t string before parsing it
16:35.23landleyI've had a "start over and write a new regex library for uCLibc" on my plate for years, but never got around to it.
16:35.35landleyIt's down with qcc and hello world linux kernels as "would be nice, but I have a life".
16:35.46landleyCool.
16:35.47daliasand i'm going to eliminate the need to call mbtowc() during regcomp
16:36.00daliaserm i meant regexec
16:36.07landleyDid you ever work out what license musl was going to be under?
16:37.04daliasinstead making regcomp generate a _byte_ based automaton from the utf-8 regex string, and only decode characters out of it when needing to use character-class assertions
16:37.39daliasnot exactly, but it will be something non-gnu and probably simple bsd or mit
16:37.54landleyCool.
16:38.21landleyutf-8 is kinda brilliant.  Low ascii just works, high ascii doesn't interfere.
16:38.39landleyYou only need to care about anything with the high bit set when you're looking for it, otherwise it's just passed through...
16:38.42daliasi'm waiting a bit to handle the license change stuff tho just because we're working on code/testing issues at the moment and trying to get releases out
16:39.08daliasi just rewrote the floating point parsing/conversion code to be correct, and working on new scanf that uses it
16:39.49daliasbefore it was a really dumb mult-by-10-and-add loop that's horribly wrong for large- or small-magnitude numbers
16:40.09daliaslicense issue i hope to tackle somewhere around 0.9.0
16:42.00landleydalias: how close is musl to being self-hosting?
16:42.26landleyI.E. if I drop it into aboriginal and try to build something and then build lfs under that... how deep with the shrapnel embed in the bystanders?
16:43.17daliassome of the ppl in #musl have built nearly 200 packages on it including X
16:43.27landleyCool.
16:43.28daliasbut some patching has been required; not sure how much
16:43.38landleyPatching of the packages, or patching of musl? :)
16:44.02daliasboth, but when it's musl i get the fixes committed quickly
16:44.28landleyI've built LFS 6.8 I think under uClibc, and it's an automated regression test ala http://landley.net/hg/control-images/file/73b8cbdef3b5/images/lfs-bootstrap/mnt/build/
16:45.08landleyI've also built beyond linux from scratch by hand, up through getting x booting with I think fvwm and a simple term program with xchess and xeyes and such for a demo, back in 2010.
16:45.09daliasif something's needed that's ugly but part of the published "gnu/linux" api (e.g. glibc manual, lsb standard, etc.) i'm generally open to adding it if it makes it so more programs build without patching
16:45.12landleyKeep meaning to automate that too...
16:45.27daliasbut one thing i'm harsh on is programs using internal implementation-details of glibc's headers
16:45.31landleyThat's pretty much what I'm doing with toybox.
16:45.37daliaslike using __uid_t instead of uid_t, for NO REASON
16:45.44landleysusv4 doesn't mention the existence of "mount", "init", and a bunch of other necessary stuff.
16:45.49landleyLet alone losetup and mke2fs...
16:46.05landleydalias: yeah, I can get behind that. :)
16:46.09daliaswhen that comes up, i say send a bug report/patch to the maintainer
16:46.43daliasor __BEGIN_DECLS because they're too lazy to write #ifdef __cplusplus extern "C" {
16:46.48landleyProbably need to collect said patches together in one place, although "here there be dragons maintaining buildroot"...
16:47.11landley#ifdef __cplusplus
16:47.14landley#error no
16:47.15landley#endif
16:47.17dalias:)
16:47.43daliasyes, -D__BEGIN_DECLS= -D__END_DECLS= will solve it too
16:48.12landleyI'll burn that bridge when I come to it.
16:48.19dalias(assuming there's actually no C++ code)
16:48.31daliasoh, we got c++ working a while back
16:48.44landleyI just spent ~3 weeks rewriting my dirtree stuff so I didn't need various code using readdir() _and_ scandir() _and_ rts.h
16:48.56dalias:)
16:49.14landleyAnd to test it, I tried to convert the contributed ls.c over to use it... and wound up rewriting it from scratch because what the spec requires out of ls is _subtle_.
16:49.29landleyAnd fiddly and evil and annoying.
16:49.55landleyBut I got the pieces in place and checked in the basics saturday.  Ok, "ls -lR ." shows "." but the _design_ is right now...
16:50.46daliasyes, spec for ls is very subtle
16:50.47landleyMeanwhile, upgrading to the current uCLibc hit the fact that "tar --exclude -cf - *" dies in current busybox with "invalid option -".
16:51.02landleyAnd it turns out the bug _isn't_ the crazy "-f -" bit (why the...?)
16:51.31landleyIt's that having options with a dash after a longopt in tar doesn't work, because it's trying to do the "tar xvjf" thing with no dash.
16:51.41landleySo it thinks the dash is an option.  SIGH.
16:52.01landley(I got this right in the toybox option parsing stuff _three_years_ ago.  Come on guys...)
16:52.10dalias:)
16:52.18landleyMy interaction with the busybox list recently has been explaining to them why reverting things I did in 2006 was a bad idea.
16:52.24landleyIt's _frustrating_...
16:53.23dalias:)
16:53.25daliasi saw
16:53.59daliasi wish there were a way to reliably determine if the loop device was created by losetup vs mount, tho..
16:54.18daliasbecause when it's manually created by losetup, it would be much nicer not to delete it by default
16:54.43dalias(see my post to the list with a nasty example of how this behavior could bite someone not expecting it)
17:35.25*** join/#uclibc NIN101 (~NIN@206.253.166.69)
17:53.42*** join/#uclibc ben1066 (~quassel@unaffiliated/ben1066)
17:58.03*** join/#uclibc wberrier (~wberrier@71-213-54-200.slkc.qwest.net)
18:07.43landleydalias: the way util-linux mount does it is look for a "loop=" entry in mtab.  Which doesn't work when /etc/mtab is /proc/mounts, which you _need_ to do to support shared subtrees and such.
18:07.53dalias*nod*..
18:07.57daliasi don't see a good solution
18:08.11daliasthe whole idea of having to make loop devices in userspace is just supid
18:08.26daliasthe kernel should just do it all internally when you try to mount a normal file
18:15.11*** join/#uclibc ben1066_ (~quassel@host86-164-176-0.range86-164.btcentralplus.com)
18:17.21*** join/#uclibc ben1066 (~quassel@host86-164-176-0.range86-164.btcentralplus.com)
18:21.55nenoloddalias: fclose(stderr) without dup2 is safe on solaris and hp-ux
18:21.56landleydalias: that's what the busybox mount/umont commands I wrote essentially give you.
18:22.22landleyThey have since been broken.  *shrug*
18:22.28nenoloddalias: in some apps like ircd, squeezing as many file descriptors as you can is important, as 3 fds == 3 more clients you can support
18:23.27nenolodwhich doesn't sound like a big deal, but if you have only say, 100 fds, it can be a pretty big deal
18:24.08nenolodbasically anything else that would involve longpolling too
18:25.53nenolodi generally believe allowing daemons (which don't want stdio *anyway*) to repurpose those FDs is a good thing
18:28.39landleynenolod: I've seen close(0);close(1);close(2) as part of daemonizing.
18:32.03daliasfrom a security standpoint i think it's a very bad idea. you never know what random code might try to use the standard streams (especially stderr) unless you've taken care not to use any third-party libraries
18:32.40daliasrepurposing 0/1 is actually rather safe/clean
18:34.38nenoloddalias: in glibc, if you fclose(stderr), then later fwrite() to it, it will just do nothing
18:34.51nenoloddalias: this is the same behaviour as in solaris, and even in uclibc :)
18:35.17daliasyes, but accessing any FILE after it's passed to fclose is explicitly UB, per C
18:35.22nenolodyes, it is.
18:35.38nenolodi am trying to get the austin group to clarify that using stderr from library is bad practice
18:35.46dalias:)
18:35.53nenolodthey seem to agree
18:36.46nenolodi just used glibc as an example there, as they are the largest offender with __libc_message()
18:38.19landleydalias: I've also pondered using sparse as a front-end for qemu's tcg: http://lwn.net/Articles/456709/
18:38.20nenolodlandley: yes, that is an important detail too -- fclose() is not necessarily required to close() the underlying FD
18:38.30landleydalias: I've also pondered using sparse as a front-end for qemu's tcg: http://lwn.net/Articles/456709/
18:38.35landleynenolod: if it doesn't, it'll leak.
18:39.52daliasnenolod, fclose is required to close the underlying fd
18:40.34daliasThe fclose() function shall perform the equivalent of a close() on the file descriptor that is associated with the stream pointed to by stream.
18:40.52*** join/#uclibc ben1066_ (~quassel@host109-154-133-179.range109-154.btcentralplus.com)
18:43.55*** join/#uclibc ben1066 (~quassel@host109-154-133-179.range109-154.btcentralplus.com)
18:50.37*** join/#uclibc ben1066_ (~quassel@host86-151-190-134.range86-151.btcentralplus.com)
18:57.48*** join/#uclibc ben1066 (~quassel@host86-151-190-134.range86-151.btcentralplus.com)
18:58.23nenoloddalias: oh, hmm :)
18:59.15dalias:)
19:05.02*** join/#uclibc ben1066 (~quassel@host109-152-55-48.range109-152.btcentralplus.com)
19:11.07*** join/#uclibc ben1066_ (~quassel@host86-168-179-136.range86-168.btcentralplus.com)
19:14.56*** join/#uclibc ben1066 (~quassel@host109-152-54-95.range109-152.btcentralplus.com)
19:15.24*** join/#uclibc wberrier (~wberrier@71-213-54-222.slkc.qwest.net)
19:21.30*** join/#uclibc ben1066_ (~quassel@host86-163-134-110.range86-163.btcentralplus.com)
19:33.28*** join/#uclibc ben1066 (~quassel@host109-152-54-11.range109-152.btcentralplus.com)
19:59.53*** join/#uclibc bkuhn (~bkuhn@fsf/director/conservancy.president.bkuhn)
20:02.22CIA-14603jacmet 07master * r581af082c517 10buildroot/package/boost/boost.mk: boost: cleanup
20:02.25CIA-14603jacmet 07master * r8b354dac5a41 10buildroot/package/boost/ (Config.in boost.mk): boost: fix build with uClibc, add locale/timer modules options
20:09.13CIA-14603gustavo 07master * rcf9e38ff8247 10buildroot/package/sshfs/sshfs.mk: sshfs: bump to version 2.4
20:09.13CIA-14603gustavo 07master * r5fac9e034b41 10buildroot/package/unionfs/ (unionfs-make-mandir.patch unionfs.mk): unionfs: bump to version 0.25
20:09.13CIA-14603gustavo 07master * r39c8e4d80cc3 10buildroot/package/multimedia/ffmpeg/ffmpeg.mk: ffmpeg: security bump to version 0.8.11
20:11.25*** join/#uclibc wberrier (~wberrier@71-213-54-235.slkc.qwest.net)
20:34.37CIA-14603yegorslists 07master * r5d8af3747afb 10buildroot/package/boost/boost.mk: boost: pass -dumpversion to user-config.jam
20:36.05*** join/#uclibc risca (~risca@wi-secure-3075.cc.umanitoba.ca)
21:13.04CIA-14603jacmet 07master * re530970c28ac 10buildroot/package/libhid/libhid.mk: libhid: don't build with -Werror
21:19.47CIA-14603ludovic.desroches 07master * r7c717bbfffea 10buildroot/support/scripts/apply-patches.sh: apply-patches.sh: patch pattern was expanded prematurely
21:22.00*** join/#uclibc shidum (~shidum@23.167.76.188.dynamic.jazztel.es)
21:22.59*** part/#uclibc shidum (~shidum@23.167.76.188.dynamic.jazztel.es)
21:45.46*** join/#uclibc risca_ (~risca@wi-secure-3075.cc.umanitoba.ca)
21:55.52y_morinkhem: thank you for the pointer to the gcc-4.7 fix! :-)
21:58.16khemnp
21:58.36khemI have been playing with 4.7 for few months now
22:02.19daliasyou are brave :-p
22:02.56*** join/#uclibc wberrier (~wberrier@174-23-145-46.slkc.qwest.net)
22:04.44*** join/#uclibc sh4rm4 (~sh4rm@gateway/tor-sasl/sh4rm4)
22:06.09khemdalias: usually it needs some scapegoats like me before it makes into larger acceptence
22:12.30daliaswell 4.7.0 should not be in acceptance; it generates bogus code
22:12.44daliasbut apparently there's a fix now :)
22:13.23khemyes I see it that its branched out and then hardened over a period of time
22:13.37khemso 4.7.1 is better then 4.7.0 and so on
22:14.14landleyHow many prerequisite packages is gcc 4.7 up to?  Have they hit double digits yet?
22:14.36khemheh infact libelf is no more needed
22:14.37dalias:)
22:14.54daliasreally i blame llvm
22:14.54khemwell that was the case with 4.6 as well so its even steven
22:15.12daliasit's competition with llvm that's driven gcc to become so crappy
22:15.56khemboth have their own strengths I thinks one wont sweep another
22:15.58daliasand to want/need c++
22:16.18daliaswriting decent C code takes a lot more time
22:16.27landleydalias: no, they were pretty crappy before.
22:16.27khemc++ ainst that bad if one knows it
22:16.31daliasand when you're in a race with somebody else using c++...
22:16.35daliasc++ is that bad
22:16.48landleykhem: c++ is worse
22:17.13daliasthe vase majority of bloat comes from c++ and c++-like design written in c
22:17.16daliasvast*
22:17.18khemlandley: I disagree but yes it was  half step
22:17.28khemjava was better
22:17.31daliashaha
22:17.49landleyBack when I was on speaking terms with Eric Raymond we were working on a paper called "Why C++ is not my favorite language".
22:17.55landleyIt was very, very long.
22:17.56khemand now we have more frameworks like scala, ruby, etc. which has taken  software design to another level
22:18.19daliasthat's fine for "leaf" apps
22:18.32daliasbut the trunk/roots of a system need to be written in c
22:18.50landleyThe thesis was that C is a portable assembly language, with very little abstraction between you and what the machine is doing.
22:18.53khemlandley: problem is that an average person should be able to program a computer in modern world so called average programmer
22:18.55daliasof course part of the problem is that gcc seems themselves more as leaf than trunk/roots these days
22:19.08khemand you need good typesafe languages
22:19.16daliaslandley, i disagree with that :)
22:19.23landleyScripting langauges like python have dynamic memory management, dynamic typing, resizeable containers (including dictionaries) as first class types.  When they bother doing object orientation, their class instances are built on top of dictionaries.
22:19.23daliasC used poorly is high level assembly
22:19.48landleyC++ is this horrible worst of both worlds thing that piles lots of abstractions on top of C and then never removes pointers, static typing, or static memory management.
22:19.51daliasC used well is a high-level language, but one that does not insulate you very much from the costs of what you're doing
22:19.56landleyThe result is abstractions that leak all over the place.
22:20.00khemI have seen better designed software in C++ than in C
22:20.02daliasi.e. in C++ you can write one line and have it compile to 20 megs due to templates :-p
22:20.16daliasin C, you have to *work* to make something big
22:20.18landleydalias: it's worse than that, templates are turing complete at compile time.
22:20.36landleyThere is no guarantee that a C++ program compilation using templates will EVER COMPLETE.  It's got the halting problem.
22:20.43dalias:)
22:20.50landleyNo really, there's a paper on this...
22:20.55daliasi believe it
22:21.18daliasbtw..
22:21.24landleyhttp://yosefk.com/c++fqa/
22:21.27daliasi just read the other day in the mozilla coding guidelines
22:21.34landley(That's not the paper.)
22:21.34daliasthey ban the use of exceptions for being non-portable
22:21.53daliaswhich means their policy is that mozilla products have to crash in resource exhaustion
22:22.01khemyes dont use multiple inheritence, rtti
22:22.08daliasin C++, as long as you use any non-trivial classes, the only way to handle resource exhaustion is exceptions
22:22.13khemreinterpret_cast
22:22.18landleykhem: trying to pare C++ down to a "sane subset" is like trying to pare perl down to a sane subset.
22:22.26landleyIt means no 2 projects can share code.
22:22.34khemlandley: thats why I said it was half measure
22:22.54daliaskhem, i've seen a lot of bad C too, but it's very possible to write good C
22:23.09khemlandley: I think modern languages have got it better
22:23.10daliasit's not possible to write good C++ unless you restrict yourself to the intersection of C++ with C
22:23.13landleyNo language has ever made it the least bit difficult to write bad code.
22:23.15khemlanguages like scala, go
22:23.15daliasand then you're just writing uglified C
22:23.36landleydalias: c99 sucked in the good bits.  Single line comments and such.
22:23.43daliaslandley, i beg to differ. bf made it difficult by making it difficult to write ANY code :-p
22:24.01khemsince stupidity is infinite there is nothing to stop it :) so bad programs will exist in any language
22:24.12landleyI remember Eric Raymond fanboying over precisely one open source code contribution he got.
22:24.16landleyFrom Donald Knuth.
22:24.21landleyIt was a patch to intercal.
22:25.47daliasbasically all the ideas in C++ are obsolete by the time they get deployed widely :-p
22:26.19daliasfor example, classical OOP is obsolete for pathologically bad performance with multi-threading, among other reasons
22:26.44daliasmassive inlining (templates) is obsolete since the instruction cache was invented...
22:27.04daliasetc
22:27.30daliasanyway i gotta go, bbl
22:33.57CIA-14603fhunleth 07master * r2f41adabc5a1 10buildroot/package/ (Config.in libdmtx/Config.in libdmtx/libdmtx.mk): New package: libdmtx
23:13.12*** join/#uclibc Jacmet (~peko@stolen.plutonium.dk)
23:32.58*** join/#uclibc factor (~factor@r74-193-21-187.cnrocmta01.conrtx.tl.dh.suddenlink.net)

Generated by irclog2html.pl Modified by Tim Riker to work with infobot.