NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: lib/47120: libc alloca(3) seems to fail



On Oct 24,  4:40pm, sdaoden%gmail.com@localhost (sdaoden%gmail.com@localhost) 
wrote:
-- Subject: lib/47120: libc alloca(3) seems to fail

| >Number:         47120
| >Category:       lib
| >Synopsis:       libc alloca(3) seems to fail
| >Confidential:   no
| >Severity:       critical
| >Priority:       high
| >Responsible:    lib-bug-people
| >State:          open
| >Class:          sw-bug
| >Submitter-Id:   net
| >Arrival-Date:   Wed Oct 24 16:40:00 +0000 2012
| >Originator:     Steffen
| >Release:        6.0
| >Organization:
| >Environment:
| NetBSD nbsd6 6.0 NetBSD 6.0 (GENERIC) i386
| (running an old VirtualBox: 4.1.8, r75467)
| >Description:
| When compiled in a way that gcc(1) builtin alloca() is used the program 
doesn't show any error, but if the libc version is used the returned buffer is 
trashed in an otherwise unmodified environment.
| >How-To-Repeat:
| Download S-nail(1), branch *next* (or 
http://sourceforge.net/projects/s-nail/files/s-nail-current.tar.gz/download).
| Sorry but i don't know any other way to reproduce this error.
| 
| Run "$ make DESTDIR=bad CFLAGS='-O2 -std=c89' install; make distclean; make 
DESTDIR=good CFLAGS='-O3 -std=c89' install".
| 
| Run "$ MAILRC=/dev/null {bad,good}/usr/local/bin/s-nail -nf" and simply "p" 
the mail of the following minimal mailbox (any mail did in tests though):
| 

Looks like a compiler bug. Only affecting i386. -O0 -O2 breaks -O3 works.
On the other hand the code needs to be fixed to pass:
-Wall -Wmissing-prototypes -Wstrict-prototypes -Wextra -Wswitch -Wpointer-arith 
-Wshadow -Wcast-qual

and it does not.

christos


Home | Main Index | Thread Index | Old Index