From rob at landley.net Tue Feb 8 17:51:56 2011 From: rob at landley.net (Rob Landley) Date: Tue, 08 Feb 2011 11:51:56 -0600 Subject: [Aboriginal] Test Message-ID: <4D5182BC.7040407@landley.net> It's a mailing list! I should put the old archive up somewhere, even if it's just an mbox you can download... Rob 1297187516.0 From rlandley at parallels.com Sat Feb 19 21:18:22 2011 From: rlandley at parallels.com (Rob Landley) Date: Sat, 19 Feb 2011 15:18:22 -0600 Subject: [Aboriginal] Website move and mercurial repository infrastructure. Message-ID: <4D60339E.9010907@parallels.com> So the website is back on dreamhost, where it used to be in the impactlinux.com days, and in fact impactlinux.com is now an alias for landley.net so any old links you have lying around should work again. (Yay!) And downloading prebuilt binaries should no longer be amazingly slow. I fixed the mercurial links to no longer have the name of the CGI binary in them. The apache rewrite rule fixes the web server to _accept_ links that don't have the name of the cgi binary in them, but it then generates them relative to the CGI unless you do this in hgwebdir.cgi: import os os.environ["SCRIPT_NAME"]=os.environ["SCRIPT_NAME"][:os.environ["SCRIPT_NAME"].rfind('/')] That tells it that the outgoing links it generates should be relative to a base URL that doesn't include the CGI name, so the apache rewrite rule can add the cgi name but the end users don't have to look at it. This means right click and "copy" on generated URLs now produces much easier to remember results: http://landley.net/hg/aboriginal/rss-log http://landley.net/hg/aboriginal/rss-tags I note that the version of mercurial installed on dreamhost is an older one that still has the "tarballs containing symlinks have the wrong file length" bug, which doesn't affect extracting archives but means that of you run "tar tvzf tip.tar.gz" it complains about errors in the archive. Sigh. I can install a newer version of mercurial in my home directory if it really bothers people. My day job (doing kernel containers development for parallels) is a bit time consuming, but on the bright side it gives me more incentive to get the perl removal kernel patches upstream, and for getting the cron job to regression test kernel builds up and running. Rob 1298150302.0 From rlandley at parallels.com Sat Feb 19 21:36:29 2011 From: rlandley at parallels.com (Rob Landley) Date: Sat, 19 Feb 2011 15:36:29 -0600 Subject: [Aboriginal] Catching up... Message-ID: <4D6037DD.4050707@parallels.com> So, the big deal last release was that I made Linux From Scratch build to completion on several targets. About half of the work there was making the automated LFS build infrastructure (and I genericized it so doing a Gentoo bootstrap can re-use most of it), and the other half of the work was fixing the base system so various things would work. (Lots of little patches and config changes to uClibc, having actual passwd and group files, and so on.) Nothing like actually building ~50 packages under the target to work out some of the rough edges of the build environment. Unfortunately, x86 and x86_64 were the only ones the build ran to completion on reliably. On arm, mips, and powerpc I kept getting some kind of subtle race conditions in make resulting in build breaks that work just fine if you run that package build a second time. For example, the "gmp" package build kept failing with: configure: WARNING: you should use --build, --host, --target checking build system type... Invalid configuration `xx': machine `xx' not recognized configure: error: /bin/sh ./config.sub xx failed Command exited with non-zero status 1 But it _only_ did it when I tried to build all targets in parallel, and I could never make it happen when I was _looking_. (Which is the most frustrating kind of bug there is.) My first guess is they have something wrong with their pthread.old implementations (make fires off a "worker thread" even with -j 1), and with NPTL so close to shipping I've been poking at the 1.0.0-rc2 release (which Bernhard hasn't accepted will be 1.0 yet, but oh well). http://lists.uclibc.org/pipermail/uclibc/2011-February/044763.html So really, I want to get uClibc-nptl to the point where I can run the LFS build on that, and then fix bugs there instead of trying to debug old infrastructure that's being replaced. This also means that I should be able to build glibc under uClibc, since that build was failing because it was shocked (_shocked_) to find a 2.6 kernel that didn't support TLS in userspace. I.E. bootstrapping a native uClibc development environment should be enough to natively build a complete glibc chroot under the result if you want to, but so far I haven't made that work because glibc is picky (and deluded). The problem with uClibc-nptl-rc2 is it hasn't been tested with binutils 2.17 and assumes we have assembler features we don't. Here's the thread on that: http://lists.uclibc.org/pipermail/uclibc/2011-January/044684.html https://bugs.uclibc.org/show_bug.cgi?id=3193 And once that was fixed, here's the next bug: http://lists.uclibc.org/pipermail/uclibc/2011-January/044701.html Which turned out to be due to this: http://lists.uclibc.org/pipermail/uclibc/2011-February/044790.html Work continues. Mostly on weekends at the moment... Rob 1298151389.0 From cusbrar2 at yahoo.com Mon Feb 21 02:28:51 2011 From: cusbrar2 at yahoo.com (chase rayfield) Date: Sun, 20 Feb 2011 18:28:51 -0800 (PST) Subject: [Aboriginal] Sparc support Message-ID: <535550.156.qm@web32907.mail.mud.yahoo.com> Are there any plans to reenable Sparc suport? I noticed it doesn't currently build with Aborignal. Sparc with dynamic linking is working on buildroot though... so it might be worth a shot especially as it might get used for Leon2/3/4 development which is why buildroot is working they recieved some patches from the Leon guys that fixed a bunch of stuff. I have also noticed that it is rather hard to get a kernel down to 2.4Mb which is the max for old sun systems... I'm not sure the binaries are getting stripped correctly is there a way to do this before booting on a native system/emulator? Or at least check that it has been stripped. Chase -------------- next part -------------- An HTML attachment was scrubbed... URL: From rlandley at parallels.com Mon Feb 21 07:25:39 2011 From: rlandley at parallels.com (Rob Landley) Date: Mon, 21 Feb 2011 01:25:39 -0600 Subject: [Aboriginal] Sparc support In-Reply-To: <535550.156.qm@web32907.mail.mud.yahoo.com> References: <535550.156.qm@web32907.mail.mud.yahoo.com> Message-ID: <4D621373.9080007@parallels.com> On 02/20/2011 08:28 PM, chase rayfield wrote: > Are there any plans to reenable Sparc suport? It's on the todo list, it just hadn't been a priority until somebody expressed an interest. Now you have. :) > I noticed it doesn't > currently build with Aborignal. Current source control is using unstable repository versions of both uClibc and Linux, so it doesn't work with much. (I'm attempting to wrestle NPTL to the ground, then go back and clean stuff up. Right now, the NPTL build doesn't want to work with sjlj exceptions, which is a bug on their end but I could also just switch to dwarf exceptions and see if that fixes it. Presumably all the targets support that now...) > Sparc with dynamic linking is working on > buildroot though... so it might be worth a shot especially as it might > get used for Leon2/3/4 development which is why buildroot is working > they recieved some patches from the Leon guys that fixed a bunch of stuff. Cool. It wasn't working in the last uClibc release, but that was in the Pleistocene so I'm glad to see this get some attention. (Getting a new target to work is always a pain: your problem could be toolchain, libc, kernel, qemu, driver selection, kernel command line. And getting a target to work after some time away from it, any of those and more can bit-rot...) > I have also noticed that it is rather hard to get a kernel down to 2.4Mb > which is the max for old sun systems... I'm not sure the binaries are > getting stripped correctly is there a way to do this before booting on a > native system/emulator? Or at least check that it has been stripped. There should be a sparc-strip in the cross and native toolchains. Try that? Thanks, Rob 1298273139.0 From rlandley at parallels.com Tue Feb 22 03:28:52 2011 From: rlandley at parallels.com (Rob Landley) Date: Mon, 21 Feb 2011 21:28:52 -0600 Subject: [Aboriginal] Sparc support In-Reply-To: <785663.54609.qm@web32903.mail.mud.yahoo.com> References: <785663.54609.qm@web32903.mail.mud.yahoo.com> Message-ID: <4D632D74.6060309@parallels.com> On 02/21/2011 09:20 PM, chase rayfield wrote: > Hey, > > Disregard my last email.. got a bit click happy. I should just redirect > all my email to gmail and use pine/pine heh. > > I have a 2.4Mb sparc kernel built working in qemu, which happens to be > more forgiving than real sparcstations which have kernel size > limitations,... which should boot on the Tadpole laptop I am hoping to > get for kicks... Cool. Did the aboriginal config work, or do you have a different kernel config? (Is this from buildroot...?) Rob 1298345332.0 From knburk at gmail.com Sun Feb 27 23:42:58 2011 From: knburk at gmail.com (Ken Burk) Date: Sun, 27 Feb 2011 17:42:58 -0600 Subject: [Aboriginal] Fail to patch uClibc Message-ID: Rob, I know your busy with your day job so please no rush on this but the latest as of today fails to patch uClibc when building the cross compiler.My host os is Knoppix 6.4.3 dvd(usb boot) which built fd341b09cc27.tar.bz2 without problems as well as your lfs-bootstrap for i686 and armv5l (thanks for the lfs it is awesome).I am posting the output below from when it started to error. Ken Applying /media/sda2/root/tech2k/aboriginal-29e1df07e99a/sources/patches/uClibc-backport-humor-udev.patch patching file libc/sysdeps/linux/common/bits/socket.h Hunk 1 FAILED 53/53. SOCK_SEQPACKET = 5, /* Sequenced, reliable, connection-based, datagrams of fixed maximum length. */ #define SOCK_SEQPACKET SOCK_SEQPACKET - SOCK_PACKET = 10 /* Linux specific way of getting packets + SOCK_PACKET = 10, /* Linux specific way of getting packets at the dev level. For writing rarp and other similar things on the user level. */ #define SOCK_PACKET SOCK_PACKET + + /* Flags to be ORed into the type parameter of socket and socketpair and + used for the flags parameter of paccept. */ + + SOCK_CLOEXEC = 02000000, /* Atomically set close-on-exec flag for the + new descriptor(s). */ +#define SOCK_CLOEXEC SOCK_CLOEXEC + SOCK_NONBLOCK = 04000 /* Atomically mark descriptor(s) as + non-blocking. */ +#define SOCK_NONBLOCK SOCK_NONBLOCK }; /* Protocol families. */ patching file include/endian.h Possibly reversed hunk 1 at 97 Hunk 1 FAILED 55/55. # define __LONG_LONG_PAIR(HI, LO) HI, LO #endif + +#ifdef __USE_BSD +/* Conversion interfaces. */ +# include + +# if __BYTE_ORDER == __LITTLE_ENDIAN +# define htobe16(x) __bswap_16 (x) +# define htole16(x) (x) +# define be16toh(x) __bswap_16 (x) +# define le16toh(x) (x) + +# define htobe32(x) __bswap_32 (x) +# define htole32(x) (x) +# define be32toh(x) __bswap_32 (x) +# define le32toh(x) (x) + +# define htobe64(x) __bswap_64 (x) +# define htole64(x) (x) +# define be64toh(x) __bswap_64 (x) +# define le64toh(x) (x) +# else +# define htobe16(x) (x) +# define htole16(x) __bswap_16 (x) +# define be16toh(x) (x) +# define le16toh(x) __bswap_16 (x) + +# define htobe32(x) (x) +# define htole32(x) __bswap_32 (x) +# define be32toh(x) (x) +# define le32toh(x) __bswap_32 (x) + +# define htobe64(x) (x) +# define htole64(x) __bswap_64 (x) +# define be64toh(x) (x) +# define le64toh(x) __bswap_64 (x) +# endif +#endif + #endif /* endian.h */ patching file libc/sysdeps/linux/common/inotify.c Possibly reversed hunk 1 at 29 Hunk 1 FAILED 15/15. _syscall0(int, inotify_init) #endif +#ifdef __NR_inotify_init1 +_syscall1(int, inotify_init1, int, flags) +#endif + #ifdef __NR_inotify_add_watch _syscall3(int, inotify_add_watch, int, fd, const char *, path, uint32_t, mask) #endif patching file libc/sysdeps/linux/common/sys/inotify.h Possibly reversed hunk 1 at 106 Hunk 1 FAILED 22/22. #include +/* Flags for the parameter of inotify_init1. */ +enum + { + IN_CLOEXEC = 02000000, +#define IN_CLOEXEC IN_CLOEXEC + IN_NONBLOCK = 04000 +#define IN_NONBLOCK IN_NONBLOCK + }; + + /* Structure describing an inotify event. */ struct inotify_event { Applying /media/sda2/root/tech2k/aboriginal-29e1df07e99a/sources/patches/uClibc-fix-arm-unwind-001.patch patching file libc/sysdeps/linux/arm/Makefile.arch Applying /media/sda2/root/tech2k/aboriginal-29e1df07e99a/sources/patches/uClibc-fix-arm-unwind-002.patch patching file libc/sysdeps/linux/arm/aeabi_unwind_cpp_pr1.c Applying /media/sda2/root/tech2k/aboriginal-29e1df07e99a/sources/patches/uClibc-fix-fcntl64.patch patching file include/fcntl.h Hunk 1 FAILED 73/73. This function is a cancellation point and therefore not marked with __THROW. */ -#ifndef __USE_FILE_OFFSET64 +#if !defined(__USE_FILE_OFFSET64) || defined(__LP64__) extern int fcntl (int __fd, int __cmd, ...); libc_hidden_proto(fcntl) #else Applying /media/sda2/root/tech2k/aboriginal-29e1df07e99a/sources/patches/uClibc-fixintlassert.patch patching file libc/misc/wchar/wchar.c Hunk 1 FAILED 286/286. s = empty_string; n = 1; } else if (*s == '\0') { + if (pwc) *pwc = 0; /* According to the ISO C 89 standard this is the expected behaviour. */ return 0; } else if (!n) { Applying /media/sda2/root/tech2k/aboriginal-29e1df07e99a/sources/patches/uClibc-fixlocalestruct.patch patching file libc/sysdeps/linux/common/bits/uClibc_locale.h Applying /media/sda2/root/tech2k/aboriginal-29e1df07e99a/sources/patches/uClibc-fixm68k.patch patching file Rules.mak Applying /media/sda2/root/tech2k/aboriginal-29e1df07e99a/sources/patches/uClibc-futimes.patch patching file include/sys/time.h Hunk 1 FAILED 143/143. /* Same as `utimes', but does not follow symbolic links. */ extern int lutimes (__const char *__file, __const struct timeval __tvp[2]) __THROW __nonnull ((1)); +#endif +#ifdef __USE_BSD /* Same as `utimes', but takes an open file descriptor instead of a name. */ extern int futimes (int __fd, __const struct timeval __tvp[2]) __THROW; #endif creating libc/sysdeps/linux/common/futimes.c Applying /media/sda2/root/tech2k/aboriginal-29e1df07e99a/sources/patches/uClibc-mips64.patch patching file ldso/ldso/mips/elfinterp.c Hunk 1 FAILED 172/172. for (i = 0; i < rel_size; i++, rpnt++) { reloc_addr = (unsigned long *) (tpnt->loadaddr + (unsigned long) rpnt->r_offset); - reloc_type = ELF32_R_TYPE(rpnt->r_info); - symtab_index = ELF32_R_SYM(rpnt->r_info); + reloc_type = ELF_R_TYPE(rpnt->r_info); + symtab_index = ELF_R_SYM(rpnt->r_info); symbol_addr = 0; debug_sym(symtab,strtab,symtab_index); Applying /media/sda2/root/tech2k/aboriginal-29e1df07e99a/sources/patches/uClibc-ruserpass.patch patching file include/netdb.h patching file libc/inet/rpc/rexec.c patching file libc/inet/rpc/ruserpass.c Applying /media/sda2/root/tech2k/aboriginal-29e1df07e99a/sources/patches/uClibc-schedparam.patch patching file libc/sysdeps/linux/common/bits/sched.h Exiting due to errors (i586 simple-cross-compiler uClibc) -------------- next part -------------- An HTML attachment was scrubbed... URL: