Here's what's to be done for maintaining glibc.
General information
Sources
Debian Cheat Sheet
Configuration
Last reviewed up to the Git mirror's d40c5d54cb551acba4ef1617464760c5b3d41a14 (2012-02-28) sources.
t/dup3
tschwinge is not convinced that 22542dcc89805af8d9bd9209129259d2737372b5 (and then also ff3f3a789ba08b656dbaa3901091b6410bb883f8) are correct.
- 94b7cc3711b0b74c1d3ae18b9a2e019e51a8e0bf -- dup3 changes; relevant for
t/dup3: hidden def. ed690b2f24bbc4d9c541fc81a7c67e6dc5678a96 -- why not for dup3, too? Because it is a syscall (that is always inlined)?
- 94b7cc3711b0b74c1d3ae18b9a2e019e51a8e0bf -- dup3 changes; relevant for
t/hurdsig-fixeshurdsig.c: In function '_hurd_internal_post_signal': hurdsig.c:1188:26: warning: 'pending' may be used uninitialized in this function [-Wmaybe-uninitialized] hurdsig.c:1168:12: note: 'pending' was declared heret/init-first.cFollow up here:
id:"20070722171859.GN25744@fencepost.gnu.org"orid:"87mxe4kwws.fsf@gnu.org". Close GNU Savannah bug #17647. Debian:id:"E1Qup1U-0006Zc-39@vasks.debian.org"(part of Ludo's patch; the part that is not harmful to GCC 4.4).t/kernel-features.h_includesBefore running
tg update, review for additional changes:$ git log --reverse --pretty=fuller --stat=$COLUMNS,$COLUMNS -p -C --cc -S__ASSUME_ top-bases/t/kernel-features.h_includes..baselinet/sysvshm../sysdeps/mach/hurd/shmat.c: In function '__shmat': ../sysdeps/mach/hurd/shmat.c:57:7: warning: implicit declaration of function '__close' [-Wimplicit-function-declaration] ../sysdeps/mach/hurd/shmget.c: In function 'get_exclusive': ../sysdeps/mach/hurd/shmget.c:85:8: warning: variable 'is_private' set but not used [-Wunused-but-set-variable] ../sysdeps/mach/hurd/shmget.c:102:8: warning: 'dir' may be used uninitialized in this function [-Wmaybe-uninitialized] ../sysdeps/mach/hurd/shmget.c:102:8: warning: 'file' may be used uninitialized in this function [-Wmaybe-uninitialized]t/verify.h
People didn't like this too much.
Other examples:
- 11988f8f9656042c3dfd9002ac85dff33173b9bd --
static_assert
- 11988f8f9656042c3dfd9002ac85dff33173b9bd --
cross-gnu, without
--disable-multi-archi686-pc-gnu-gcc ../sysdeps/i386/i686/multiarch/strcmp.S -c [...] ../sysdeps/i386/i686/multiarch/../strcmp.S: Assembler messages: ../sysdeps/i386/i686/multiarch/../strcmp.S:31: Error: symbol `strcmp' is already defined make[2]: *** [/media/boole-data/thomas/tmp/gnu-0/src/glibc.obj/string/strcmp.o] Error 1 make[2]: Leaving directory `/media/boole-data/thomas/tmp/gnu-0/src/glibc/string'Might simply be a missing patch(es) from master.
--build=X
long doubletest: due tocross_compiling = maybewants to execute a file, which fails. Thus--build=Xhas to be set.Check what all these are:
running configure fragment for sysdeps/mach/hurd checking Hurd header version... ok running configure fragment for sysdeps/mach checking for i586-pc-gnu-mig... i586-pc-gnu-mig checking for mach/mach_types.h... yes checking for mach/mach_types.defs... yes checking for task_t in mach/mach_types.h... task_t checking for thread_t in mach/mach_types.h... thread_t checking for creation_time in task_basic_info... yes checking for mach/mach.defs... yes checking for mach/mach4.defs... yes checking for mach/clock.defs... no checking for mach/clock_priv.defs... no checking for mach/host_priv.defs... no checking for mach/host_security.defs... no checking for mach/ledger.defs... no checking for mach/lock_set.defs... no checking for mach/processor.defs... no checking for mach/processor_set.defs... no checking for mach/task.defs... no checking for mach/thread_act.defs... no checking for mach/vm_map.defs... no checking for mach/memory_object.defs... yes checking for mach/memory_object_default.defs... yes checking for mach/default_pager.defs... yes checking for mach/i386/mach_i386.defs... yes checking for egrep... grep -E checking for host_page_size in mach_host.defs... no checking for mach/machine/ndr_def.h... no checking for machine/ndr_def.h... no checking for i386_io_perm_modify in mach_i386.defs... yes checking for i386_set_gdt in mach_i386.defs... yes checking whether i586-pc-gnu-mig supports the retcode keyword... yeself/stackguard-macros.hSee t/tls.
Verify 77c84aeb81808c3109665949448dba59965c391e against
~/shared/glibc/make_TAGS.patch.HP_SMALL_TIMING_AVAILnot defined anywhere.Unify
CPUCLOCK_WHICHstuff inclock_*files.Not all tests are re-run in a
make -k tests; make tests-clean; make -k testscycle. For example, aftermake tests-clean:$ find ./ -name \*.out ./localedata/tst-locale.out ./localedata/sort-test.out ./localedata/de_DE.out ./localedata/en_US.out ./localedata/da_DK.out ./localedata/hr_HR.out ./localedata/sv_SE.out ./localedata/tr_TR.out ./localedata/fr_FR.out ./localedata/si_LK.out ./localedata/tst-mbswcs.out ./iconvdata/iconv-test.out ./iconvdata/tst-tables.out ./stdlib/isomac.out ./posix/wordexp-tst.out ./posix/annexc.out ./posix/tst-getconf.out ./elf/check-textrel.out ./elf/check-execstack.out ./elf/check-localplt.out ./c++-types-check.out ./check-local-headers.out ./begin-end-check.outCPUCLOCK_WHICH,t/cpuclock/media/boole-data/thomas/tmp/gnu-0/src/glibc.obj/rt/librt_pic.a(clock_settime.os): In function `clock_settime': /media/boole-data/thomas/tmp/gnu-0/src/glibc/rt/../sysdeps/unix/clock_settime.c:113: undefined reference to `CPUCLOCK_WHICH' /media/boole-data/thomas/tmp/gnu-0/src/glibc/rt/../sysdeps/unix/clock_settime.c:114: undefined reference to `CPUCLOCK_WHICH' collect2: error: ld returned 1 exit status make[2]: *** [/media/boole-data/thomas/tmp/gnu-0/src/glibc.obj/rt/librt.so] Error 1 make[2]: Leaving directory `/media/boole-data/thomas/tmp/gnu-0/src/glibc/rt' make[1]: *** [rt/others] Error 2 make[1]: Leaving directory `/media/boole-data/thomas/tmp/gnu-0/src/glibc' make: *** [all] Error 2Missing interfaces, amongst many more.
Many more are missing, some of which have been announced in
NEWS, others typically haven't (like new flags to existing functions). Typically, porters will notice missing functionaly. But in case you're looking for something to work on, here's a list.AT_EMPTY_PATH,CLOCK_BOOTTIME,CLOCK_BOOTTIME_ALARM,CLOCK_REALTIME_ALARM,O_PATH,PTRACE_*(for example, cbff0d9689c4d68578b6a4f0a17807232506ea27),RLIMIT_RTTIME,SEEK_DATA(unistd.h),SEEK_HOLE(unistd.h)clock_adjtime,fallocate,fallocate64,getcontext(andsetcontext),name_to_handle_at,open_by_handle_at,process_vm_readv,process_vm_writev,sendmmsg,setns,sync_file_rangesyncfsWe should be easily able to implement that one.
futimesat,readlinkat,renameatIf we have all of 'em (check Linux kernel),
#define __ASSUME_ATFCTS.bits/stat.h [__USE_ATFILE]:UTIME_NOW,UTIME_OMITio/fcntl.h [__USE_ATFILE]Do we support
AT_FDCWDet al.?MAP_POPULATE(mmap,sys/mman.h) -- Populate (prefault) pagetables.Some Linux kernel version,
mm/mmap.c:if (vm_flags & VM_LOCKED) { if (!mlock_vma_pages_range(vma, addr, addr + len)) mm->locked_vm += (len >> PAGE_SHIFT); } else if ((flags & MAP_POPULATE) && !(flags & MAP_NONBLOCK)) make_pages_present(addr, addr + len); return addr;t/mmap.Is only advisory, so can worked around with
#define 0.t/opendirat:opendirat(scandirat,scandirat64)Need changes equivalent to c55fbd1ea768f9fdef34a01377702c0d72cbc213 + 14d96785125abee5e9a49a1c3037f35a581750bd.
madvise,MADV_DONTNEEDmsyncThen define
_POSIX_MAPPED_FILES,_POSIX_SYNCHRONIZED_IO.sys/epoll.hUsed by wayland, for example.
sys/eventfd.hsys/inotify.hsys/signalfd.hsys/timerfd.htimespec_get(74033a2507841cf077e31221de2481ff30b43d51)
Create
t/cleanup_kernel-features.h.Add tests from Linux kernel commit messages for
t/dup3et al.In
sysdeps/unix/sysv/linux/Makefile, there are a bunch of-DHAVE_SENDFILE-- but we do havesendfile, too./usr/include/pthread.hoverwrite issuemake, after editingnss/nss_db/db-initgroups.c:[...] make[2]: Leaving directory `/media/erich/home/thomas/tmp/glibc/tschwinge/Roger_Whittaker/resolv' make subdir=nss -C nss ..=../ others make[2]: Entering directory `/media/erich/home/thomas/tmp/glibc/tschwinge/Roger_Whittaker/nss' /usr/bin/install -c -m 644 ../include/pthread.h /usr/include/pthread.h /usr/bin/install: cannot remove `/usr/include/pthread.h': Permission denied make[2]: *** [/usr/include/pthread.h] Error 1 make[2]: Leaving directory `/media/erich/home/thomas/tmp/glibc/tschwinge/Roger_Whittaker/nss' make[1]: *** [nss/others] Error 2 make[1]: Leaving directory `/media/erich/home/thomas/tmp/glibc/tschwinge/Roger_Whittaker' make: *** [all] Error 2See
id:"871uv99c59.fsf@kepler.schwinge.homeip.net". Passinginstall_root=/INVALIDtomake/make checkis a cheap cure. Formake install, prepending an additional slash toinstall_root(that is,install_root=//[...]) is enough to obfuscate the Makefile rules.sysdeps/unix/sysv/linux/syslog.cVerify baseline changes, if we need any follow-up changes:
- a11ec63713ea3903c482dc907a108be404191a02
- 7e2b0c8562b35155820f87b5ff02a8b6850344cc
- 8c0677fe5d91b7269364ca08fa08ed09e4c2d8c9
- 5a2a1d75043138e696222ced4560de2fb90b8024
- 5ae958d74180e2572d198bd7872c86f391de6da7
- 5b08ac571ff8e94fe96511a532f0d20997de5f52
- 3d04ff3a5d3ce3616837e1d15e03b6e1b360cf26
- b2ef2c014b9c66995a3eb4f310ae7c5c510279bf
- 63c4ed22b5048c8701d8806026c23cc95f0df756
- ac2b484c02b01307ab6bbe5d45ddbf16d64edf8c
- e35fcef8b739ed24e083ff8a3078ac14e101cf67
- 6fb8cbcb58a29fff73eb2101b34caa19a7f88eba
- 8a492a675e566dc1e666df0a86cbf541442cb179
- 5dbc3b6cc0b759bf4b22d851ccb9cbf3e3cbc6ef
- c86434ccb576a3ce35b5a74f72b9f03bd45b522a
- d22e4cc9397ed41534c9422d0b0ffef8c77bfa53
- 15bac72bac03faeb3b725b1d208c62160f0c3ad7
- c08fb0d7bba4015078406b28d3906ccc5fda9d5a
- 10b3bedcb03386cc280113f552479793e4bac35f
- 754f7da38b0904b4b989d3500cc8dd5be625cf6a
- 3cdaa6adb113a088fdfb87aa6d7747557eccc58d
- 962dba7828cf251a9025ccb43bc6effa30379b72
- 3162f12e58c3a848db883916843b332b9f8c9d39
- 1c06ba3100847da6bd1f2e011dc24fa8debd9615
- 84b9230c404aed4fd3a7bb3d045ca367043dde8c
- 090555538d4347a52807ba9f08cf20ed13206afe
- 817328eea788c746131cf151b64fd250200da333
- c3758feebf7c8786231465da664743c6f0ec79cc
- 1ac7a2c7b448c851eb8976fcc290a906a4075203
- c21cc9bcb38a87ff638d1099ca871d94a2192b31
- 6484ba5ef092b62b7d2112c0d976dbd6d1a40fde
- b8b4863d78bf26b39918fc753b03ed98ef262903
- b76b818e6fe2061e778b3a9bbe63c554c3f9b3c1
- 8e9f92e9d5d7737afdacf79b76d98c4c42980508 --
_dl_map_objectinsysdeps/mach/hurd/dl-sysdep.c - 0e516e0e14f2f9783a21cd1727bc53776341f857
- a1fb5e3ebe9d38b5ae6c5bfbfaa04882d52355bc
- cf7c9078a5acdbb435498ace92cd81009637a971
- db753e2cfb2051ebf20dc089f87c5b1297cc2cff
- 4a531bb0b3b582cb693de9f76d2d97d970f9a5d5 -- looks good.
- 5bd6dc5c2c68fe98691db9b40f87d9b68ea9565b
- 451f001b50870604e1f2daef12f04f9f460d3997 +
a85b5cb4d4a5fc56e2b38638d270bf2daa67eb6c -- BZ10484.
nptl/Versions [libc] (GLIBC_PRIVATE): Export __libc_alloca_cutoff. We don't even define it yet. Also see glibc libc alloca cutoff should be lowered. - 1086d70d916fd0eb969b3d89ff88abd35f6a5c34
- cfa28e560ef69372b9e15e9a2d924a0fbcfc7bca
- 8cf8ce1702c354a8266e3cfa6ab54c2467d1873f
- 68dc949774cb651d53541df4abdc60327f7e096b
- 70181fddf1467996bea393d13294ffe76b8a0853
- a77e8cbc394ab098aa1fc3f0a6645a38348d21ca
- 32465c3ea007065acd8ca8199f130cdf4068130d
- 18ba70a559c52719fd94a713cc380514d9d19125
- 620a05296fe3380b7441ba7720e8b25c48a8c28c
- [low] e6c61494125126d2ba77e5d99f83887a2ed49783 --
Fix memory leak in TLS of loaded objects.Do we need to replicatenptl/allocatestack.chunk? - 6e04cbbe79f5965809fdbf1f28d7ae8b4af74d31 +
1bfbe0d335d3fc44a492648b974a0db19975f6d8 --
Fix pathconf(_PC_BUF_SIZE). - 28377d1bf58625172a1734b92e835591d4d23a18 --
Optimize fdopendir a bit. - 7fb90fb89bbdf273ab7ab96517fe1b156cd7aee1 +
6fb2dde3f1aa3a1419cb6c2dfa53dd1d506722a4 --
Fix Linux getcwd for long paths - [low] open issue libpthread
5bdcc10322c488f53557440acf71623d8b313ab5 -- return
EAGAINinstead ofENOMEM. - f574184a0e4b6ed69a5d9a3234543fba6d2a7367 --
Fix sched_setscheduler call in spawn implementation - 3b85df27870a47ed1db84e948e37a5a50a178a92 + f50ef8f1efdd1f2b040acbb8324604f168e8832a -- sysconf
- 68a3f91fcad464c4737c1eaed4ae0bf539801fb2 --
Fix reporting of invalid timeouts in emulated pselect - ea389b12b3b65c4a7fa91fa76f8c99867eb37865 --
strndup -> __strndup; strndupa? - 7e4afad5bcf49e03c3b987399c6a8f66a9018660 --
Nicer output for negative error numbers in strerror_r. Change needed forsysdeps/mach/_strerror.c? - 7ea72f99966a65a56aedba817ee2413ff9b1f23c +
adcd5c15d2a37794d021104160b425ff61f88219 --
Always fill output buffer in XPG strerror function. Change needed forsysdeps/mach/xpg-strerror.c? - a91710475294c66d0005bdaae0919d36ef8ce3d2 -- sotruss. Does it work?
- b1ebd700c5295a449f8d114740f0d1fb6e6b2eb5 +
80e2212d8e59933a1641f029ebd360526ff0e074 +
4997db742946d08be4378cf91221f558f928bc73 --
Don't document si_code used for raise(). Also forbits/siginfo.h? - 11988f8f9656042c3dfd9002ac85dff33173b9bd -- pldd, Does it work?
Probably not: needs
/proc/[PID]/auxv,/proc/[PID]/exe,/proc/[PID]/mem(, procfs). - 9113ea1f3f29b3aee710efc829e85a9772bcb836 --
--experimental-malloc. Watch what happens. - 4e34ac6a1e256f40ab0d8eeed37aa1ea83440e76 --
-defsym=_begin=0. Watch what happens. Native build: apparently OK. - f781ef4015504e8a1da649c266584976238aa079 (
--with-default-link) + 1b74661a6b93a892ecb1c717dedeedba5c2a976c + fd5e21c75d8e9221d766f4bc922a237265514ec2. Watch what happens. Native build:use-default-link = no. - de283087c74f720cf8a7171972e72b5fa2b45e79 (
Handle Lustre filesystem), 4e5f31c847982997c856f03bbc35134e9fd0f61f (Handle ext4 in {,f}pathconf). What about stuff like that for us? - d30cf5bb00bfb286ff14d931fb69f5b53724bcdc (
Find readelf with AC_CHECK_TOOL). Aren't there more in other configure.in and Makefile files? - 7a03a9c8c4b37b88ac5e82b557d974f3161ddaf9 (
Add read barriers in cancellation initialization). Is this needed in other places, too? - [low] 5744c68d78f6ca6c6500e2c8d3d85b3a31f4ed2a (
Align x86 TCB to 64 bytes). Probably we have hidden somewhere such a constant, too (in libpthread). - d96de9634a334af16c0ac711074c15ac1762b23c +
ecb1482ffd85fd3279642b1dc045aa867ad4d415 (
Try shell in posix_spawn* only in compat mode). Change looks good, but what aboutSPAWN_XFLAGS_TRY_SHELLfor us? - 3ce1f2959437e952b9db4eaeed2407424f11a4d1 (
Make several tool features mandatory and simplify the code.). Generally looks good.locale/global-locale.c: Apparently, no one is using_HURD_THREADVAR_LOCALE. But it is exported viahurd/threadvar.h.mach/devstream.c: reversed. Fixed int/repair-mach_devstream.c.malloc/arena.c: should be OK.
Remove support for !USE___THREAD. d063d164335938d557460bebaa7cfe388157b627 (generally looks good;csu/errno-loc.c(should be OK);include/errno.h(fixed)) + (de82006d43e198fd162807c9adc720c7ebd728a3 + 037e9fe21c92216ef7032ea2796781ec27ca182a) + 995a80dfbcb443ead5aa22682c884ec5c827a2ea (discussing) + bc7e1c3667b577ad418f7520df2a7dbccea04ee9 (should be ok).- [OK] 22a89187139a9083ca73989bfd11597e0f85cb61 (
malloc: Remove all kinds of unused configuration options and dead code.).NO_STARTERchanges (should be OK). - [high]
pagesize, 02d46fc4b969e25e4ba0c54aa95fa98d7279bd05 (Simplify malloc initialization); aebae0537dcb408100b88c6b7647a7e858c43237,BZ 11929. Is this all kosher for us? Seeid:"87mxd9hl2n.fsf@kepler.schwinge.homeip.net". - [OK] 83cd14204559abbb52635006832eaf4d2f42514a (
Remove --wth-tls option, TLS support is required). - a7c8e6a1478de9f990b11e5e853318ccbe4330f2 (
Fix invalid conversion in __cmsg_nxthdr). Probably just a C++ thing and not relevant for us; seeid:"87r52nk1kx.fsf@kepler.schwinge.homeip.net". - [low]
mmap, 110946e473b38fc3896212e416d9d7064fecd5b7. Kosher with respect to our mmap peculiarities? - [OK]
__attribute__ ((__leaf__)),BZ #13344, aa78043a4aafe5db1a1a76d544a833b63b4c5f5c + 49a43d80ec5c97cf6136b1ee2687414773b2d5aa + 3871f58f065dac3917eb18220a479e9591769c8c + 9beb2334930db81ceada5aa6051fe5ac0554db32 + 0ffc4f3ebaace42cd545db55a2ac50b6e0cc7d89 + edc5984d4d18296d7aa3d8f4ed8f7336a743170e + 57769839788e2c62b68d9dfbf4b35052321278ba. http://gcc.gnu.org/onlinedocs/gcc/Function-Attributes.html. - baseline
- [low]
conformtest, 3134156779108fe8b46e0f4cd60d837572faaa93 + 4efeffc1d583597e4f52985b9747269e47b754e2 + d94a4670800de6e8f088b8630ad5142866127980 -- what does it do for us?
Build
Here's a log of a glibc build run; this is from our Git repository's 001500ab4e25e6b8cf83eb9539e362ed4803d2c1 (2012-04-05; 2012-02-25) sources, run on coulomb.SCHWINGE.
$ export LC_ALL=C
$ ../Roger_Whittaker/configure AUTOCONF=: --prefix=/usr --disable-profile --disable-multi-arch --build=i486-gnu --host=i486-gnu CC=gcc-4.6 CXX=g++-4.6 2>&1 | tee log_build
[...]
$ make install_root=/INVALID 2>&1 | tee log_build_
[...]
This takes up around 500 MiB and needs roughly X min on kepler.SCHWINGE and 110 min on coulomb.SCHWINGE (GCC 4.4/4.5/4.6).
Analysis
TODO.
With GCC 4.5, there's a ton of these warnings:
hurd/hurd.h: In function '__hurd_fail': hurd/hurd.h:73: warning: case value '0' not in enumerated type 'error_t'... as well as a few individual instances:
hurdselect.c: In function '_hurd_select': hurdselect.c:265: warning: case value '0' not in enumerated type 'error_t' get-host.c: In function '_hurd_get_host_config': get-host.c:38: warning: case value '0' not in enumerated type 'error_t' hurdmsg.c: In function '_S_msg_get_init_ints': hurdmsg.c:186: warning: case value '0' not in enumerated type 'error_t' hurdmsg.c: In function '_S_msg_set_init_ints': hurdmsg.c:273: warning: case value '0' not in enumerated type 'error_t' intr-msg.c: In function '_hurd_intr_rpc_mach_msg': intr-msg.c:363: warning: case value '0' not in enumerated type 'error_t' sysdeps/mach/hurd/setitimer.c: In function 'timer_thread': sysdeps/mach/hurd/setitimer.c:117: warning: case value '0' not in enumerated type 'error_t' sysdeps/mach/hurd/wait4.c: In function '__wait4': sysdeps/mach/hurd/wait4.c:40: warning: case value '0' not in enumerated type 'error_t' sysdeps/mach/hurd/fork.c: In function '__fork': sysdeps/mach/hurd/fork.c:423: warning: case value '0' not in enumerated type 'error_t' sysdeps/mach/hurd/spawni.c: In function '__spawni': sysdeps/mach/hurd/spawni.c:600: warning: case value '0' not in enumerated type 'error_t' sysdeps/mach/hurd/setpriority.c: In function 'setonepriority': sysdeps/mach/hurd/setpriority.c:66: warning: case value '0' not in enumerated type 'error_t' sysdeps/mach/hurd/ioctl.c: In function 'send_rpc': sysdeps/mach/hurd/ioctl.c:177: warning: case value '0' not in enumerated type 'error_t' sysdeps/mach/hurd/ioctl.c: In function '__ioctl': sysdeps/mach/hurd/ioctl.c:306: warning: case value '0' not in enumerated type 'error_t'baseline fd5bdc0924e0cfd1688b632068c1b26f3b0c88da..2ba92745c36eb3c3f3af0ce1b0aebd255c63a13b introduces:
genops.c: In function '_IO_flush_all_lockp': genops.c:869:3: warning: passing argument 1 of '__save_FCT' makes pointer from integer without a cast [enabled by default] genops.c:869:3: note: expected 'void *' but argument is of type 'int'A similar warning has already been (and still is) seen here:
dl-iteratephdr.c:83:3: warning: passing argument 1 of '__save_FCT' makes pointer from integer without a cast [enabled by default] dl-iteratephdr.c:83:3: note: expected 'void *' but argument is of type 'int'baseline fd5bdc0924e0cfd1688b632068c1b26f3b0c88da..2ba92745c36eb3c3f3af0ce1b0aebd255c63a13b (or probably Samuel's mmap backport) introduces:
../sysdeps/mach/hurd/mmap.c: In function '__mmap': ../sysdeps/mach/hurd/mmap.c:54:15: warning: comparison between pointer and integer [enabled by default] ../sysdeps/mach/hurd/mmap.c:66:21: warning: comparison between pointer and integer [enabled by default] ../sysdeps/mach/hurd/mmap.c:143:13: warning: comparison between pointer and integer [enabled by default] ../sysdeps/mach/hurd/mmap.c:165:24: warning: comparison between pointer and integer [enabled by default]baseline fd5bdc0924e0cfd1688b632068c1b26f3b0c88da..2ba92745c36eb3c3f3af0ce1b0aebd255c63a13b introduces:
../sysdeps/i386/fpu/bits/fenv.h: Assembler messages: ../sysdeps/i386/fpu/bits/fenv.h:125: Warning: translating to `fdivp %st,%st(1)'baseline fd5bdc0924e0cfd1688b632068c1b26f3b0c88da..2ba92745c36eb3c3f3af0ce1b0aebd255c63a13b introduces:
nscd_gethst_r.c: In function '__nscd_get_nl_timestamp': nscd_gethst_r.c:112:4: warning: implicit declaration of function 'time' [-Wimplicit-function-declaration]This was already present before:
nscd_gethst_r.c: In function 'nscd_gethst_r': nscd_gethst_r.c:426:5: warning: implicit declaration of function '__close' [-Wimplicit-function-declaration]baseline 2ba92745c36eb3c3f3af0ce1b0aebd255c63a13b..7a270350a9bc3110cd5ba12bbd8c5c8c365e0032 introduces:
In file included from regex.c:62:0: regcomp.c: In function 'init_word_char': regcomp.c:935:4: warning: large integer implicitly truncated to unsigned type [-Woverflow] regcomp.c:936:4: warning: large integer implicitly truncated to unsigned type [-Woverflow] In file included from pldd.c:230:0: pldd-xx.c:26:0: warning: "static_assert" redefined [enabled by default] ../assert/assert.h:119:0: note: this is the location of the previous definition tst-relsort1.c:6:1: warning: function declaration isn't a prototype [-Wstrict-prototypes]
Install
TODO.
$ make install_root="$PWD".install install 2>&1 | tee log_install
[...]
This takes up around 100 MiB, and needs roughly X min on kepler.SCHWINGE and 18 min on coulomb.SCHWINGE.
Analysis
TODO.
Testsuite
$ make -k install_root=/INVALID check 2>&1 | tee log_check
[...]
This needs roughly 60 min on coulomb.SCHWINGE.
Analysis
There is quite a baseline of failures.
Additional Failures Compared to Debian
$ bash ~/tmp/glibc/debian/eglibc-2.13/debian/testsuite-checking/convertlog.sh log_check > log_check.filtered
$ bash ~/tmp/glibc/debian/eglibc-2.13/debian/testsuite-checking/compare.sh ~/tmp/glibc/debian/eglibc-2.13/debian/testsuite-checking/expected-results-i486-gnu-libc log_check.filtered
bug-atexit3.out,debug/tst-chk4,debug/tst-chk5,debug/tst-chk6,debug/tst-lfschk4,debug/tst-lfschk5,debug/tst-lfschk6dlopen failed: libstdc++.so.6: cannot open shared object file: No such file or directorySee
id:"20090420002344.11798.qmail@s461.sureserver.com". Hacked around withln -s /usr/lib/i386-*gnu/libstdc++.so.6 /lib/i386-*gnu/libpthread-stubs.so.0 /lib/i386-*gnu/libgcc_s.so.1 ./. This is a bug in the glibc test harness. Should probably use someconfiguremagic akin to thefixincludesstuff (gcc-4.4 -print-file-name=libstdc++.so.6, etc.).debug/tst-chk4,debug/tst-chk5,debug/tst-chk6,debug/tst-lfschk4,debug/tst-lfschk5,debug/tst-lfschk6Fail in the same way as the C ones,
tst-chk1..3.io/ftwtest,posix/globtest,iconvdata/iconv-test,intl/tst-gettext,malloc/tst-mtrace,elf/tst-pathopt,iconvdata/tst-tables,grp/tst_fgetgrent,dlfcn/tststatic,dlfcn/tststatic2,posix/wordexp-tst,localedata/bug-setlocale1.out,posix/tst-getconf/home/thomas/tmp/glibc/tschwinge/Roger_Whittaker.build-gcc-4.4-486.O/io/ftwtest: error while loading shared libraries: libmachuser.so.1: cannot open shared object file: No such file or directoryLooking into
localedata/bug-setlocale1.c, it is clear what it going on: only the root of the build directory is added for--library-path, but none of the other directories that are additionally used. This is a bug in the glibc test harness. Hacked around byln -s mach/libmachuser.so.1 hurd/libhurduser.so.0.3 ./. Hopefully the other instances are similar.posix/tst-getconfEnds with:
getconf POSIX_ALLOC_SIZE_MIN /: /home/thomas/tmp/glibc/tschwinge/Roger_Whittaker.build-gcc-4.4-486/posix/getconf: pathconf: /: Invalid argumentdlfcn/tststatic,dlfcn/tststatic2No output, SEGFAULT.
math/test-idouble,math/test-ifloat,math/test-ildoubl,math/test-ldoubleSIGSEGV.
rt/tst-aio10,rt/tst-aio9/home/thomas/tmp/glibc/tschwinge/Roger_Whittaker.build-gcc-4.4-486.O/rt/tst-aio10.o: In function `do_test': tst-aio10.c:(.text+0x1b): undefined reference to `pthread_self' tst-aio10.c:(.text+0x78): undefined reference to `pthread_barrier_init' tst-aio10.c:(.text+0xf7): undefined reference to `pthread_create' tst-aio10.c:(.text+0x10b): undefined reference to `pthread_barrier_wait' /home/thomas/tmp/glibc/tschwinge/Roger_Whittaker.build-gcc-4.4-486.O/rt/tst-aio10.o: In function `tf': tst-aio10.c:(.text+0x5ae): undefined reference to `pthread_barrier_wait' tst-aio10.c:(.text+0x5ef): undefined reference to `pthread_kill' collect2: ld returned 1 exit status make[2]: *** [/home/thomas/tmp/glibc/tschwinge/Roger_Whittaker.build-gcc-4.4-486.O/rt/tst-aio10] Error 1rt-tst-aio2,rt-tst-aio3,rt/tst-mqueue3,rt/tst-mqueue6,rt/tst-mqueue8,elf/tst-thrlock,rt/tst-timer3,nss//libnss_test1.soCompilation: missing
pthread_attr_init,pthread_barrier_init,pthread_create, etc.elf/tst-audit1,elf/tst-audit2SIGKILL.
inet/tst-ether_linetst-ether_line.c:19: error: 'ETH_ALEN' undeclared (first use in this function)Will either need a
hurd/netinet/if_ether.hthat includes<net/if_ether.h>, or can do that in the genericnetinet/if_ether.h? See also sourceware.org bug #11142.gmon/tst-sprofilFloating point exceptionposix/bug-regex31-mem,posix/tst-fnmatch-memoutput files: some memory not freed.
assert/test-assert.outFails sometimes...
stdlib/bug-getcontext.outgetcontext failed, errno: 1073741902.Is not implemented; see above.
elf/tst-unique3lib.so,elf/tst-unique3lib2.so,elf/tst-unique4lib.soOnly with GCC 4.4; no longer with 4.5 or 4.6:
/home/thomas/tmp/glibc/tschwinge/Roger_Whittaker.build-gcc-4.4-486/elf/tst-unique3lib.os:(.data.DW.ref.__gxx_personality_v0[DW.ref.__gxx_personality_v0]+0x0): undefined reference to `__gxx_personality_v0'math/test-fenv.outUsed to fail (is listed in Debian eglibc-2.13-21's
expected-results-i486-gnu-libc), but something between 22bcba37dd3b782b1a1ec7bf51da468e48f4d2eb and 005b7594ffe209639dd1ef2b9ed9a4c22307dec1 causes it to passe -- very likely Jérémie's signaling work.posix/tst-waitid.outFails sometimes (is listed in Debian eglibc-2.13-21's
expected-results-i486-gnu-libc).
OLD
configure --without-cvs --prefix= --disable-profile --build=i486-gnu
--host=i486-gnu
make -k check changes from 538603af899057a9ef9583cc447804ec602a45e5 to
c9fd33ef070def49c078c94f8d9bc9f8a8e267f7.
Configured with --prefix=/usr instead of --prefix=.
Resolved failures:
- localedata/tst_mblen.out
- localedata/tst_mbrlen.out
- localedata/tst_mbrtowc.out
- localedata/tst_mbsrtowcs.out
- localedata/tst_mbstowcs.out
- localedata/tst_mbtowc.out
- localedata/tst_swscanf.out
- localedata/tst_wcrtomb.out
- localedata/tst_wcsrtombs.out
- localedata/tst_wcstombs.out
- localedata/tst_wctob.out
- localedata/tst_wctomb.out
- localedata/bug-iconv-trans.out
- localedata/tst-wctype.out
- math/test-float.out
- math/test-double.out
- posix/tst-vfork3-mem
- io/tst-mkdirat.out
New:
A lot of
error while loading shared libraries: libmachuser.so.1: cannot open shared object file: No such file or directory. Is it perhaps picking that library up from$prefix/lib/?New failures; likely due to that:
- iconvdata/iconv-test.out
- iconvdata/tst-tables.out
- malloc/tst-mtrace.out
- grp/tst_fgetgrent.out
- posix/globtest.out
- posix/wordexp-tst.out
- io/ftwtest.out
- elf/tst-pathopt.out
Changed failures; likely due to that:
debug/tst-chk4.out / debug/tst-chk5.out
-error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directory +error while loading shared libraries: libpthread-stubs.so.0: cannot open shared object file: No such file or directory
Changes to b367d4f996512af6841c3cefdb943cb0a826a6a1: nothing interesting.
Changes to b85c54a1f7e5241c1ef99dfeaecbd1bf4117564f: nothing interesting.
New failures:
- posix/bug-glob3.out (SEGFAULT; but also on Linux)
- wctype/bug-wctypeh.o (compile error; but also on Linux)
