NetBSD-Bugs archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
re: kern/51460: Source code bugs
The following reply was made to PR kern/51460; it has been noted by GNATS.
From: matthew green <mrg%eterna.com.au@localhost>
To: gnats-bugs%NetBSD.org@localhost
Cc: kern-bug-people%netbsd.org@localhost, gnats-admin%netbsd.org@localhost,
netbsd-bugs%netbsd.org@localhost
Subject: re: kern/51460: Source code bugs
Date: Mon, 05 Sep 2016 16:03:42 +1000
> # diff -u ./sys/dev/acpi/fujhk_acpi.c.orig ./sys/dev/acpi/fujhk_acpi.c
> --- ./sys/dev/acpi/fujhk_acpi.c.orig 2016-08-31 21:55:27.000000000 +1000
> +++ ./sys/dev/acpi/fujhk_acpi.c 2016-08-31 22:13:25.000000000 +1000
> @@ -246,6 +246,7 @@
> uint32_t irb;
> int i, index;
>
> + irb = 0; /* make sure irb has been initialized */
> for (i = 0; i < max_irb_buffer_size; i++) {
> if (fujitsu_hk_get_irb(sc, &irb) || irb == 0)
> return;
> #
this is a bug in GCC. i've stopped patching our sources
to build with -O3 / -Os because of these sorts of issues.
eg, i haven't checked, but i fully expect that in the above
code that fujitsu_hk_get_irb(), which is local, always
sets irb if it returns true, but for some reason GCC thinks
it is a problem. i've seen this pattern dozens of times.
i don't agree with Martin - i don't think we should "fix"
these cases, but simply advise not using '-O[3s] -Werror'.
.mrg.
Home |
Main Index |
Thread Index |
Old Index