[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH] xen/arch/x86: Fix early boot command line parsing
>>> On 03.12.13 at 03:14, Andrew Cooper <andrew.cooper3@xxxxxxxxxx> wrote: > On 02/12/2013 19:15, Daniel Kiper wrote: >> There is no reliable way to encode nul character as a character so encode >> it as a number. Read: > http://sourceware.org/binutils/docs/as/Characters.html. >> Octal and hex encoding does not work on at least my system (GNU assembler >> version 2.22 (x86_64-linux-gnu) using BFD version (GNU Binutils for Debian) > 2.22). >> Without this fix e.g. no-real-mode option at the end of xen.gz command line >> is not detected. Additionally, encode other characters accordingly to >> the gas documentation. >> >> Signed-off-by: Daniel Kiper <daniel.kiper@xxxxxxxxxx> >> --- >> xen/arch/x86/boot/cmdline.S | 6 +++--- >> 1 file changed, 3 insertions(+), 3 deletions(-) >> >> diff --git a/xen/arch/x86/boot/cmdline.S b/xen/arch/x86/boot/cmdline.S >> index 05ffb94..4ea56b3 100644 >> --- a/xen/arch/x86/boot/cmdline.S >> +++ b/xen/arch/x86/boot/cmdline.S >> @@ -138,11 +138,11 @@ >> call .Lstrlen >> add $4,%esp >> xadd %eax,%ebx >> - cmpb $'\0',(%ebx) >> + cmpb $0,(%ebx) >> je 3f >> - cmpb $' ',(%ebx) >> + cmpb $' ,(%ebx) >> je 3f >> - cmpb $'=',(%ebx) >> + cmpb $'=,(%ebx) >> jne 1b >> 3: pop %ebx >> ret > > My version of binutils 2.22 for Debian Wheezy does perfectly well with > these constants as-are. Does it? The '\0' is consistently being translated as '0' rather than the intended NIL for every gas from 2.18 to 2.23.2. I'm not eager to take the other two adjustments though - the code is better readable/understandable the with a closing quote in place. Jan _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |