|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH for-4.8] ipxe: update to newer commit
On 10/11/2016 10:54 AM, Ian Jackson wrote:
> Boris Ostrovsky writes ("Re: [Xen-devel] [PATCH for-4.8] ipxe: update to
> newer commit"):
>> We could but what if an old compiler doesn't support that option?
>> Although it looks like -Wno-<option>, which is what we'd use, may be OK:
>>
>> ostr@workbase> gcc foo.c
>> ostr@workbase> gcc -Wfoo foo.c
>> gcc: error: unrecognized command line option ‘-Wfoo’; did you mean ‘-Wno-’?
>> ostr@workbase> gcc -Wno-foo foo.c
>> ostr@workbase>
> Many many years ago I filed a bug asking the gcc folks to make
> -Wno-some-random-warning-option-that-gcc-does-not-know-about
> not be an error.
>
> That was eventually done. I'm not sure exactly when the change was
> made. Does gcc -Wno-foo work properly on all the gcc's we care about ?
>
>>>> Another interesting new warning that is fatal with -Werror is
>>>> if(a)
>>>> foo();
>>>> bar();
>>>>
>>>> gcc warns that bar() is indented and maybe braces are needed.
>>> Do we actually have cases like this ? Are they real bugs ?
>> Yes we have (for example igb_phy.c change in the patch that I sent) and
>> no, they don't look like bugs.
> I guess we can disable that warning too then.
>
>>>> BTW, another option for backporting may be removing -Werror. If we know
>>>> we are not changing sources then we might consider this.
>>> Perhaps we could disable warnings more selectively.
>> I scanned the changes again and at least one appears to be fixing a
>> legitimate bug (buffer overrun). There is an upstream patch for that,
>> which is essentially what I have there, but not as a separate patch.
> I don't think a buffer overflow in ipxe is any kind of problem. The
> _whole purpose_ of ipxe is to take unauthenticated data from the
> network and unconditionally execute it...
How about this then:
diff --git a/tools/firmware/etherboot/Makefile
b/tools/firmware/etherboot/Makefile
index a0578d2..49d5c27 100644
--- a/tools/firmware/etherboot/Makefile
+++ b/tools/firmware/etherboot/Makefile
@@ -24,8 +24,16 @@ ROMS = $(addprefix $D/src/bin/, $(addsuffix .rom,
$(ETHERBOOT_NICS)))
.PHONY: all
all: $(ROMS)
+# GCC v6 may be too strict with its warnings.
+GCCVERSIONGT6 = $(shell expr `gcc -dumpversion | cut -f1 -d.` \>= 6)
+ifeq ($(GCCVERSIONGT6),1)
+IPXE_CFLAGS = -Wno-nonnull-compare -Wno-unused-const-variable \
+ -Wno-misleading-indentation \
+ -Wno-shift-negative-value -Wno-array-bounds
+endif
+
%.rom: $D/src/arch/i386/Makefile
- $(MAKE) -C $D/src bin/$(*F).rom
+ $(MAKE) EXTRA_CFLAGS="$(IPXE_CFLAGS)" -C $D/src bin/$(*F).rom
$T:
if ! $(FETCHER) _$T $(IPXE_TARBALL_URL); then \
@@ -45,7 +53,7 @@ $D/src/arch/i386/Makefile: $T Config
cat Config >>$@
$D/src/bin/NIC: $D/src/arch/i386/Makefile
- $(MAKE) -C $D/src bin/NIC
+ $(MAKE) EXTRA_CFLAGS="$(IPXE_CFLAGS)" -C $D/src bin/NIC
.PHONY: clean
clean:
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
https://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |