Skip to contentSkip to conversation

hvmloader: fix building error

PATCH In review Wen Congyang 4 participants 9 messages Apr 8, 2015

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 hvmloader: fix building error

commit b9245b75 introduces a building error:
make[1]: Entering directory `/root/work/xen/tools/firmware/hvmloader'
gcc -O1 -fno-omit-frame-pointer -m32 -march=i686 -g -fno-strict-aliasing -std=gnu99 -Wall -Wstrict-prototypes -Wdeclaration-after-statement -O0 -g3 -D__XEN_TOOLS__ -MMD -MF .smbios.o.d -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -fno-optimize-sibling-calls -mno-tls-direct-seg-refs -Werror -fno-stack-protector -fno-exceptions -fno-builtin -msoft-float -I/root/work/xen/tools/firmware/hvmloader/../../../tools/include -DENABLE_ROMBIOS -DENABLE_SEABIOS -D__SMBIOS_DATE__="04/08/2015" -c -o smbios.o smbios.c
smbios.c:384:46: error: invalid digit "8" in octal constant smbios.c:792:46: error: invalid digit "8" in octal constant make[1]: *** [smbios.o] Error 1

---
 tools/firmware/hvmloader/Makefile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
tools/firmware/hvmloader/Makefile +1 -1
index 34008d2..e4830ca 100644
@@ -91,7 +91,7 @@ all: subdirs-all
 	$(MAKE) hvmloader
 
 ovmf.o rombios.o seabios.o hvmloader.o: roms.inc
-smbios.o: CFLAGS += -D__SMBIOS_DATE__="$(SMBIOS_REL_DATE)"
+smbios.o: CFLAGS += -D__SMBIOS_DATE__="\"$(SMBIOS_REL_DATE)\""
 
 hvmloader: $(OBJS) acpi/acpi.a
 	$(LD) $(LDFLAGS_DIRECT) -N -Ttext $(LOADADDR) -o hvmloader.tmp $^
Signature · 1 line
2.1.0
#1 lore raw
Quoted 6 lines · Wen Congyang

commit b9245b75 introduces a building error:
make[1]: Entering directory `/root/work/xen/tools/firmware/hvmloader'
gcc -O1 -fno-omit-frame-pointer -m32 -march=i686 -g -fno-strict-aliasing -std=gnu99 -Wall -Wstrict-prototypes -Wdeclaration-after-statement -O0 -g3 -D__XEN_TOOLS__ -MMD -MF .smbios.o.d -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -fno-optimize-sibling-calls -mno-tls-direct-seg-refs -Werror -fno-stack-protector -fno-exceptions -fno-builtin -msoft-float -I/root/work/xen/tools/firmware/hvmloader/../../../tools/include -DENABLE_ROMBIOS -DENABLE_SEABIOS -D__SMBIOS_DATE__="04/08/2015" -c -o smbios.o smbios.c
smbios.c:384:46: error: invalid digit "8" in octal constant smbios.c:792:46: error: invalid digit "8" in octal constant make[1]: *** [smbios.o] Error 1

Oh, I did not spot that because in my builds the octal number was always valid. But you are right, it has to be a string constant.

Olaf

#2 lore raw
Quoted 11 lines · Olaf Hering
Quoted 6 lines · Wen Congyang

commit b9245b75 introduces a building error:
make[1]: Entering directory `/root/work/xen/tools/firmware/hvmloader'
gcc -O1 -fno-omit-frame-pointer -m32 -march=i686 -g -fno-strict-aliasing -std=gnu99 -Wall -Wstrict-prototypes -Wdeclaration-after-statement -O0 -g3 -D__XEN_TOOLS__ -MMD -MF .smbios.o.d -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -fno-optimize-sibling-calls -mno-tls-direct-seg-refs -Werror -fno-stack-protector -fno-exceptions -fno-builtin -msoft-float -I/root/work/xen/tools/firmware/hvmloader/../../../tools/include -DENABLE_ROMBIOS -DENABLE_SEABIOS -D__SMBIOS_DATE__="04/08/2015" -c -o smbios.o smbios.c
smbios.c:384:46: error: invalid digit "8" in octal constant smbios.c:792:46: error: invalid digit "8" in octal constant make[1]: *** [smbios.o] Error 1

Oh, I did not spot that because in my builds the octal number was always valid. But you are right, it has to be a string constant.

Do you run 'make -C tools/ clean' before building?

Thanks
Wen Congyang

Quoted 3 lines

Olaf

#3 lore raw
Quoted 10 lines · Wen Congyang
Quoted 9 lines · Olaf Hering
Quoted 6 lines · Wen Congyang

commit b9245b75 introduces a building error:
make[1]: Entering directory `/root/work/xen/tools/firmware/hvmloader'
gcc -O1 -fno-omit-frame-pointer -m32 -march=i686 -g -fno-strict-aliasing -std=gnu99 -Wall -Wstrict-prototypes -Wdeclaration-after-statement -O0 -g3 -D__XEN_TOOLS__ -MMD -MF .smbios.o.d -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -fno-optimize-sibling-calls -mno-tls-direct-seg-refs -Werror -fno-stack-protector -fno-exceptions -fno-builtin -msoft-float -I/root/work/xen/tools/firmware/hvmloader/../../../tools/include -DENABLE_ROMBIOS -DENABLE_SEABIOS -D__SMBIOS_DATE__="04/08/2015" -c -o smbios.o smbios.c
smbios.c:384:46: error: invalid digit "8" in octal constant smbios.c:792:46: error: invalid digit "8" in octal constant make[1]: *** [smbios.o] Error 1

Quoted 4 lines
Quoted 2 lines

Oh, I did not spot that because in my builds the octal number was always valid. But you are right, it has to be a string constant.

Do you run 'make -C tools/ clean' before building?

No, I dont. I do 'git clean -dffx', often.

Olaf

#4 lore raw
Quoted 12 lines · Olaf Hering
Quoted 10 lines · Wen Congyang
Quoted 9 lines · Olaf Hering
Quoted 6 lines · Wen Congyang

commit b9245b75 introduces a building error:
make[1]: Entering directory `/root/work/xen/tools/firmware/hvmloader'
gcc -O1 -fno-omit-frame-pointer -m32 -march=i686 -g -fno-strict-aliasing -std=gnu99 -Wall -Wstrict-prototypes -Wdeclaration-after-statement -O0 -g3 -D__XEN_TOOLS__ -MMD -MF .smbios.o.d -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -fno-optimize-sibling-calls -mno-tls-direct-seg-refs -Werror -fno-stack-protector -fno-exceptions -fno-builtin -msoft-float -I/root/work/xen/tools/firmware/hvmloader/../../../tools/include -DENABLE_ROMBIOS -DENABLE_SEABIOS -D__SMBIOS_DATE__="04/08/2015" -c -o smbios.o smbios.c
smbios.c:384:46: error: invalid digit "8" in octal constant smbios.c:792:46: error: invalid digit "8" in octal constant make[1]: *** [smbios.o] Error 1

Quoted 6 lines
Quoted 4 lines
Quoted 2 lines

Oh, I did not spot that because in my builds the octal number was always valid. But you are right, it has to be a string constant.

Do you run 'make -C tools/ clean' before building?

No, I dont. I do 'git clean -dffx', often.

I guess if you do it, you will also find this problem.

Thanks
Wen Congyang

Quoted 4 lines

Olaf
.

#5 lore raw
Quoted 12 lines · Wen Congyang
Quoted 11 lines · Olaf Hering
Quoted 9 lines · Wen Congyang
Quoted 8 lines · Olaf Hering
Quoted 6 lines · Wen Congyang

commit b9245b75 introduces a building error:
make[1]: Entering directory `/root/work/xen/tools/firmware/hvmloader'
gcc -O1 -fno-omit-frame-pointer -m32 -march=i686 -g -fno-strict-aliasing -std=gnu99 -Wall -Wstrict-prototypes -Wdeclaration-after-statement -O0 -g3 -D__XEN_TOOLS__ -MMD -MF .smbios.o.d -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -fno-optimize-sibling-calls -mno-tls-direct-seg-refs -Werror -fno-stack-protector -fno-exceptions -fno-builtin -msoft-float -I/root/work/xen/tools/firmware/hvmloader/../../../tools/include -DENABLE_ROMBIOS -DENABLE_SEABIOS -D__SMBIOS_DATE__="04/08/2015" -c -o smbios.o smbios.c
smbios.c:384:46: error: invalid digit "8" in octal constant smbios.c:792:46: error: invalid digit "8" in octal constant make[1]: *** [smbios.o] Error 1

Quoted 5 lines
Quoted 4 lines
Quoted 3 lines
Quoted 2 lines

Oh, I did not spot that because in my builds the octal number was always valid. But you are right, it has to be a string constant.

Do you run 'make -C tools/ clean' before building?

No, I dont. I do 'git clean -dffx', often.

I guess if you do it, you will also find this problem.

It will entirely depend on whether you attempt to compile it on an 8th or 9th of a month, or in August or September. Outside of that that window, the resulting number will parse correctly and not fail to compile.

For the fix itself, Acked-by: Andrew Cooper <[email protected]>

#6 lore raw
Quoted 15 lines · Andrew Cooper
Quoted 14 lines · Wen Congyang
Quoted 13 lines · Olaf Hering
Quoted 11 lines · Wen Congyang
Quoted 10 lines · Olaf Hering
Quoted 6 lines · Wen Congyang

commit b9245b75 introduces a building error:
make[1]: Entering directory `/root/work/xen/tools/firmware/hvmloader'
gcc -O1 -fno-omit-frame-pointer -m32 -march=i686 -g -fno-strict-aliasing -std=gnu99 -Wall -Wstrict-prototypes -Wdeclaration-after-statement -O0 -g3 -D__XEN_TOOLS__ -MMD -MF .smbios.o.d -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -fno-optimize-sibling-calls -mno-tls-direct-seg-refs -Werror -fno-stack-protector -fno-exceptions -fno-builtin -msoft-float -I/root/work/xen/tools/firmware/hvmloader/../../../tools/include -DENABLE_ROMBIOS -DENABLE_SEABIOS -D__SMBIOS_DATE__="04/08/2015" -c -o smbios.o smbios.c
smbios.c:384:46: error: invalid digit "8" in octal constant smbios.c:792:46: error: invalid digit "8" in octal constant make[1]: *** [smbios.o] Error 1

Oh, I did not spot that because in my builds the octal number was always valid. But you are right, it has to be a string constant.

Quoted 7 lines
Quoted 3 lines
Quoted 2 lines
Quoted 1 line

Do you run 'make -C tools/ clean' before building?

No, I dont. I do 'git clean -dffx', often.

I guess if you do it, you will also find this problem.

It will entirely depend on whether you attempt to compile it on an 8th or 9th of a month, or in August or September. Outside of that that window, the resulting number will parse correctly and not fail to compile.

Yes, outside of that window, the problem is hidden.

Quoted 4 lines

For the fix itself, Acked-by: Andrew Cooper <[email protected]> .

Acked-by on v1 1/1
#7 lore raw
In reply to Wen Congyang

Wen Congyang writes ("[Xen-devel] [PATCH] hvmloader: fix building error"):

Quoted 1 line

commit b9245b75 introduces a building error:

...

Quoted 3 lines

smbios.c:384:46: error: invalid digit "8" in octal constant smbios.c:792:46: error: invalid digit "8" in octal constant make[1]: *** [smbios.o] Error 1

Thanks for this fix,

(CC'ing Andrew Cooper who also requested this fix and Jan Beulich who acked and committed b9245b75.)

Ian.

#8 lore raw
Quoted 6 lines · Ian Jackson

Wen Congyang writes ("[Xen-devel] [PATCH] hvmloader: fix building error"):

Quoted 1 line

commit b9245b75 introduces a building error:

...

Quoted 3 lines

smbios.c:384:46: error: invalid digit "8" in octal constant smbios.c:792:46: error: invalid digit "8" in octal constant make[1]: *** [smbios.o] Error 1

Quoted 7 lines

Thanks for this fix,

(CC'ing Andrew Cooper who also requested this fix and Jan Beulich who acked and committed b9245b75.)

There is an acked-by me on the bottom of the thread.

~Andrew