When statically linking on a system on which madvise() wasn't ported, the linker complains: /bin/../lib/gcc/i486-gnu/4.0.4/../../../libcrt.a(malloc.o): In function `grow_heap': (.text+0x3t4): warning: warning: madvise is not implemented and will always fail should there really be such linker warning for madvise() whose failure doesn't have any semantic consequences, just no boost of performance?
As I understand it this is an issue with glibc for Hurd, not for architectures in ports.
Should be fixed in trunk, but I didn't actually try to compile for Hurd.
It appears to be current practice that the person committing a patch fixing a (non-ports) bug should also add that bug to the list in the NEWS file, so 4822 should be added there.
(In reply to comment #2) > Should be fixed in trunk, but I didn't actually try to compile for Hurd. I fixed it up for you in commit 9078ce930afda8bbcba6fe860a13ca62abcf2742. ;-) Errors and warnings were: gcc-4.4 malloc.c [...] [...] In file included from ../include/sys/mman.h:2, from malloc.c:1754: ../misc/sys/mman.h:95: error: expected identifier or '(' before 'void' ../misc/sys/mman.h:95: error: expected ')' before '(' token [...] make[3]: *** [/media/erich/home/thomas/tmp/glibc/debian/madvise/eglibc-2.13/build-tree/hurd-i386-libc/malloc/malloc.o] Error 1 make[3]: Leaving directory `/media/erich/home/thomas/tmp/glibc/debian/madvise/eglibc-2.13/malloc' make[2]: *** [malloc/subdir_lib] Error 2 (Poor GCC, seeing that ``prototype''.) After fixing that: In file included from malloc.c:2567: arena.c: In function 'shrink_heap': arena.c:823: warning: left-hand operand of comma expression has no effect arena.c:823: warning: left-hand operand of comma expression has no effect malloc.c: In function 'mTRIm': malloc.c:5874: warning: left-hand operand of comma expression has no effect malloc.c:5874: warning: left-hand operand of comma expression has no effect Now the situation is as follows: $ echo 'int main() { }' | gcc -o /dev/null -x c - $ echo 'int main() { madvise (); }' | gcc -o /dev/null -x c - $ echo 'int main() { }' | gcc -o /dev/null -static -x c - $ echo 'int main() { madvise (); }' | gcc -o /dev/null -static -x c - /tmp/cce05X6t.o: In function `main': :(.text+0x7): warning: warning: madvise is not implemented and will always fail That is, in the -static case, we only get the warning if madvise is actively being used in the user code, but not due to glibc's own usage in malloc. Joseph already had amended the NEWS file. Samuel, you can now replace the Debian glibc patch with d2c736f809690dd69f1cade53a61b99e401bb0e3 and 9078ce930afda8bbcba6fe860a13ca62abcf2742.