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

gcc -O2 on alpha miscompiles ifupdown?



(Please Cc me, I'm not on the debian-alpha list)

Hello world,

Like the subject says; if I build ifupdown (0.6.4-1) on alpha with -O2
it breaks, if I build it with -O0, it's fine. With -O2, trying to trace
what's going on with gdb doesn't seem to work (it jumps all over the
place, fairly meaninglessly).

In theory, ifupdown should just be a fairly normal ANSI C program. Most
of the data structures aren't too complicated, and at worse there are
a few function pointers. I think everything's fully typed, and there
shouldn't be any weird casting. There was some buggy realloc's in the
past (reallocing 4 bytes, instead of 4*sizeof(obj) bytes, mainly),
but I believe they're all gone.

The buggy behaviour can probably be duplicated with:
	$ cat interfaces.tst
	auto lo
	iface lo inet loopback

	auto eth0
	iface eth0 inet static
	  address 10.254.0.104
	  network 10.254.0.0
	  netmask 255.255.255.0
	  broadcast 10.254.0.255
	  gateway 10.254.0.254

	auto eth2
	iface eth2 inet static
	  address 192.168.115.1
	  netmask 255.255.255.0

	auto eth3
	iface eth3 inet static
	  address 192.168.116.1
	  netmask 255.255.255.0

	auto eth4
	iface eth4 inet static
	  address 192.168.117.1
	  netmask 255.255.255.0
	$ ./ifup -nv -i interfaces.tst -a

It'll give a list of the commands it'd execute to bring all five
interfaces up if it's working, some fairly nonsensical error if not.

Cheers,
aj

-- 
Anthony Towns <aj@humbug.org.au> <http://azure.humbug.org.au/~aj/>
I don't speak for anyone save myself. GPG signed mail preferred.

     ``Thanks to all avid pokers out there''
                       -- linux.conf.au, 17-20 January 2001

Attachment: pgpS5bkimtHsT.pgp
Description: PGP signature


Reply to: