Mailing List Archive

x86_64 build break in rombios
I am getting the following build break on changeset 13662. I am
compiling on x86_64 SLES10 with gcc 4.1.0. Is there a fix for this?

Thanks,
Aravindh Puthiyaparambil
Xen Development Team
Unisys, Tredyffrin PA

make[1]: Entering directory `/root/xen/xen-unstable.hg/tools/firmware'
make[2]: Entering directory
`/root/xen/xen-unstable.hg/tools/firmware/rombios'
gcc -o biossums biossums.c
gcc -DBX_SMP_PROCESSORS=1 -E -P rombios.c > _rombios_.c
bcc -o rombios.s -C-c -D__i86__ -0 -S _rombios_.c
sed -e 's/^\.text//' -e 's/^\.data//' rombios.s > _rombios_.s
as86 _rombios_.s -b tmp.bin -u- -w- -g -0 -j -O -l rombios.txt
+a A311 BB 0000 mov bx, #
***** factor expected.....................................^
+a A317 BB 0000 mov bx, #
***** factor expected.....................................^
+a A31D BB 0000 mov bx, #
***** factor expected.....................................^
+a A323 BB 0000 mov bx, #
***** factor expected.....................................^
+a A329 BB 0000 mov bx, #
***** factor expected.....................................^
+a A32F BB 0000 mov bx, #
***** factor expected.....................................^
+a A335 BB 0000 mov bx, #
***** factor expected.....................................^
+a A33B BB 0000 mov bx, #
***** factor expected.....................................^
+a A341 BB 0000 mov bx, #
***** factor expected.....................................^
+a A347 BB 0000 mov bx, #
***** factor expected.....................................^
+a A34D BB 0000 mov bx, #
***** factor expected.....................................^
+a A353 BB 0000 mov bx, #
***** factor expected.....................................^
+a A35B 68 0000 push #
***** factor expected..................................^
+a A360 68 0000 push #
***** factor expected..................................^
+a A36B 68 0000 push #
***** factor expected..................................^
+a A370 68 0000 push #
***** factor expected..................................^
+a A37B 68 0000 push #
***** factor expected..................................^
+a A380 68 0000 push #
***** factor expected..................................^
+a A38B 68 0000 push #
***** factor expected..................................^
+a A390 68 0000 push #
***** factor expected..................................^
+a A39B 68 0000 push #
***** factor expected..................................^
+a A3A0 68 0000 push #
***** factor expected..................................^
+a A3AB 68 0000 push #
***** factor expected..................................^
+a A3B0 68 0000 push #
***** factor expected..................................^
+a A3BB BB 0000 mov bx, #
***** factor expected.....................................^
+a A2F1 BB 0000 mov bx, #
***** factor expected.....................................^
+a A2F7 BB 0000 mov bx, #
***** factor expected.....................................^
+a A2FD BB 0000 mov bx, #
***** factor expected.....................................^
+a A303 BB 0000 mov bx, #
***** factor expected.....................................^
+a A309 BB 0000 mov bx, #
***** factor expected.....................................^
+a A30F BB 0000 mov bx, #
***** factor expected.....................................^
+a A315 BB 0000 mov bx, #
***** factor expected.....................................^
+a A31B BB 0000 mov bx, #
***** factor expected.....................................^
+a A321 BB 0000 mov bx, #
***** factor expected.....................................^
+a A327 BB 0000 mov bx, #
***** factor expected.....................................^
+a A32D BB 0000 mov bx, #
***** factor expected.....................................^
+a A334 BB 0000 mov bx, #
***** factor expected.....................................^
+a A33D 68 0000 push #
***** factor expected..................................^
+a A342 68 0000 push #
***** factor expected..................................^
+a A34D 68 0000 push #
***** factor expected..................................^
+a A352 68 0000 push #
***** factor expected..................................^
+a A35D 68 0000 push #
***** factor expected..................................^
+a A362 68 0000 push #
***** factor expected..................................^
+a A36D 68 0000 push #
***** factor expected..................................^
+a A372 68 0000 push #
***** factor expected..................................^
+a A37D 68 0000 push #
***** factor expected..................................^
+a A382 68 0000 push #
***** factor expected..................................^
+a A38D 68 0000 push #
***** factor expected..................................^
+a A392 68 0000 push #
***** factor expected..................................^
+a A39D BB 0000 mov bx, #
***** factor expected.....................................^
+a A2C1 BB 0000 mov bx, #
***** factor expected.....................................^
+a A2C7 BB 0000 mov bx, #
***** factor expected.....................................^
+a A2CD BB 0000 mov bx, #
***** factor expected.....................................^
+a A2D3 BB 0000 mov bx, #
***** factor expected.....................................^
+a A2D9 BB 0000 mov bx, #
***** factor expected.....................................^
+a A2DF BB 0000 mov bx, #
***** factor expected.....................................^
+a A2E5 BB 0000 mov bx, #
***** factor expected.....................................^
+a A2EB BB 0000 mov bx, #
***** factor expected.....................................^
+a A2F1 BB 0000 mov bx, #
***** factor expected.....................................^
+a A2F7 BB 0000 mov bx, #
***** factor expected.....................................^
+a A2FD BB 0000 mov bx, #
***** factor expected.....................................^
+a A304 BB 0000 mov bx, #
***** factor expected.....................................^
+a A30D 68 0000 push #
***** factor expected..................................^
+a A312 68 0000 push #
***** factor expected..................................^
+a A31D 68 0000 push #
***** factor expected..................................^
+a A322 68 0000 push #
***** factor expected..................................^
+a A32D 68 0000 push #
***** factor expected..................................^
+a A332 68 0000 push #
***** factor expected..................................^
+a A33D 68 0000 push #
***** factor expected..................................^
+a A342 68 0000 push #
***** factor expected..................................^
+a A34D 68 0000 push #
***** factor expected..................................^
+a A352 68 0000 push #
***** factor expected..................................^
+a A35D 68 0000 push #
***** factor expected..................................^
+a A362 68 0000 push #
***** factor expected..................................^
+a A36D BB 0000 mov bx, #
***** factor expected.....................................^
+a A2A1 BB 0000 mov bx, #
***** factor expected.....................................^
+a A2A7 BB 0000 mov bx, #
***** factor expected.....................................^
+a A2AD BB 0000 mov bx, #
***** factor expected.....................................^
+a A2B3 BB 0000 mov bx, #
***** factor expected.....................................^
+a A2B9 BB 0000 mov bx, #
***** factor expected.....................................^
+a A2BF BB 0000 mov bx, #
***** factor expected.....................................^
+a A2C5 BB 0000 mov bx, #
***** factor expected.....................................^
+a A2CB BB 0000 mov bx, #
***** factor expected.....................................^
+a A2D1 BB 0000 mov bx, #
***** factor expected.....................................^
+a A2D7 BB 0000 mov bx, #
***** factor expected.....................................^
+a A2DD BB 0000 mov bx, #
***** factor expected.....................................^
+a A2E4 BB 0000 mov bx, #
***** factor expected.....................................^
+a A2ED 68 0000 push #
***** factor expected..................................^
+a A2F2 68 0000 push #
***** factor expected..................................^
+a A2FD 68 0000 push #
***** factor expected..................................^
+a A302 68 0000 push #
***** factor expected..................................^
+a A30D 68 0000 push #
***** factor expected..................................^
+a A312 68 0000 push #
***** factor expected..................................^
+a A31D 68 0000 push #
***** factor expected..................................^
+a A322 68 0000 push #
***** factor expected..................................^
+a A32D 68 0000 push #
***** factor expected..................................^
+a A332 68 0000 push #
***** factor expected..................................^
+a A33D 68 0000 push #
***** factor expected..................................^
+a A342 68 0000 push #
***** factor expected..................................^
+a A34D BB 0000 mov bx, #
***** factor expected.....................................^
+a A291 BB 0000 mov bx, #
***** factor expected.....................................^
+a A297 BB 0000 mov bx, #
***** factor expected.....................................^
+a A29D BB 0000 mov bx, #
***** factor expected.....................................^
+a A2A3 BB 0000 mov bx, #
***** factor expected.....................................^
+a A2A9 BB 0000 mov bx, #
***** factor expected.....................................^
+a A2AF BB 0000 mov bx, #
***** factor expected.....................................^
+a A2B5 BB 0000 mov bx, #
***** factor expected.....................................^
+a A2BB BB 0000 mov bx, #
***** factor expected.....................................^
+a A2C1 BB 0000 mov bx, #
***** factor expected.....................................^
+a A2C7 BB 0000 mov bx, #
***** factor expected.....................................^
+a A2CD BB 0000 mov bx, #
***** factor expected.....................................^
+a A2D4 BB 0000 mov bx, #
***** factor expected.....................................^
+a A2DD 68 0000 push #
***** factor expected..................................^
+a A2E2 68 0000 push #
***** factor expected..................................^
+a A2ED 68 0000 push #
***** factor expected..................................^
+a A2F2 68 0000 push #
***** factor expected..................................^
+a A2FD 68 0000 push #
***** factor expected..................................^
+a A302 68 0000 push #
***** factor expected..................................^
+a A30D 68 0000 push #
***** factor expected..................................^
+a A312 68 0000 push #
***** factor expected..................................^
+a A31D 68 0000 push #
***** factor expected..................................^
+a A322 68 0000 push #
***** factor expected..................................^
+a A32D 68 0000 push #
***** factor expected..................................^
+a A332 68 0000 push #
***** factor expected..................................^
+a A33D BB 0000 mov bx, #
***** factor expected.....................................^
+a A291 BB 0000 mov bx, #
***** factor expected.....................................^
+a A297 BB 0000 mov bx, #
***** factor expected.....................................^
+a A29D BB 0000 mov bx, #
***** factor expected.....................................^
+a A2A3 BB 0000 mov bx, #
***** factor expected.....................................^
+a A2A9 BB 0000 mov bx, #
***** factor expected.....................................^
+a A2AF BB 0000 mov bx, #
***** factor expected.....................................^
+a A2B5 BB 0000 mov bx, #
***** factor expected.....................................^
+a A2BB BB 0000 mov bx, #
***** factor expected.....................................^
+a A2C1 BB 0000 mov bx, #
***** factor expected.....................................^
+a A2C7 BB 0000 mov bx, #
***** factor expected.....................................^
+a A2CD BB 0000 mov bx, #
***** factor expected.....................................^
+a A2D4 BB 0000 mov bx, #
***** factor expected.....................................^
+a A2DD 68 0000 push #
***** factor expected..................................^
+a A2E2 68 0000 push #
***** factor expected..................................^
+a A2ED 68 0000 push #
***** factor expected..................................^
+a A2F2 68 0000 push #
***** factor expected..................................^
+a A2FD 68 0000 push #
***** factor expected..................................^
+a A302 68 0000 push #
***** factor expected..................................^
+a A30D 68 0000 push #
***** factor expected..................................^
+a A312 68 0000 push #
***** factor expected..................................^
+a A31D 68 0000 push #
***** factor expected..................................^
+a A322 68 0000 push #
***** factor expected..................................^
+a A32D 68 0000 push #
***** factor expected..................................^
+a A332 68 0000 push #
***** factor expected..................................^
+a A33D BB 0000 mov bx, #
***** factor expected.....................................^
+a A291 BB 0000 mov bx, #
***** factor expected.....................................^
+a A297 BB 0000 mov bx, #
***** factor expected.....................................^
+a A29D BB 0000 mov bx, #
***** factor expected.....................................^
+a A2A3 BB 0000 mov bx, #
***** factor expected.....................................^
+a A2A9 BB 0000 mov bx, #
***** factor expected.....................................^
+a A2AF BB 0000 mov bx, #
***** factor expected.....................................^
+a A2B5 BB 0000 mov bx, #
***** factor expected.....................................^
+a A2BB BB 0000 mov bx, #
***** factor expected.....................................^
+a A2C1 BB 0000 mov bx, #
***** factor expected.....................................^
+a A2C7 BB 0000 mov bx, #
***** factor expected.....................................^
+a A2CD BB 0000 mov bx, #
***** factor expected.....................................^
+a A2D4 BB 0000 mov bx, #
***** factor expected.....................................^
+a A2DD 68 0000 push #
***** factor expected..................................^
+a A2E2 68 0000 push #
***** factor expected..................................^
+a A2ED 68 0000 push #
***** factor expected..................................^
+a A2F2 68 0000 push #
***** factor expected..................................^
+a A2FD 68 0000 push #
***** factor expected..................................^
+a A302 68 0000 push #
***** factor expected..................................^
+a A30D 68 0000 push #
***** factor expected..................................^
+a A312 68 0000 push #
***** factor expected..................................^
+a A31D 68 0000 push #
***** factor expected..................................^
+a A322 68 0000 push #
***** factor expected..................................^
+a A32D 68 0000 push #
***** factor expected..................................^
+a A332 68 0000 push #
***** factor expected..................................^
+a A33D BB 0000 mov bx, #
***** factor expected.....................................^
+a A291 BB 0000 mov bx, #
***** factor expected.....................................^
+a A297 BB 0000 mov bx, #
***** factor expected.....................................^
+a A29D BB 0000 mov bx, #
***** factor expected.....................................^
+a A2A3 BB 0000 mov bx, #
***** factor expected.....................................^
+a A2A9 BB 0000 mov bx, #
***** factor expected.....................................^
+a A2AF BB 0000 mov bx, #
***** factor expected.....................................^
+a A2B5 BB 0000 mov bx, #
***** factor expected.....................................^
+a A2BB BB 0000 mov bx, #
***** factor expected.....................................^
+a A2C1 BB 0000 mov bx, #
***** factor expected.....................................^
+a A2C7 BB 0000 mov bx, #
***** factor expected.....................................^
+a A2CD BB 0000 mov bx, #
***** factor expected.....................................^
+a A2D4 BB 0000 mov bx, #
***** factor expected.....................................^
+a A2DD 68 0000 push #
***** factor expected..................................^
+a A2E2 68 0000 push #
***** factor expected..................................^
+a A2ED 68 0000 push #
***** factor expected..................................^
+a A2F2 68 0000 push #
***** factor expected..................................^
+a A2FD 68 0000 push #
***** factor expected..................................^
+a A302 68 0000 push #
***** factor expected..................................^
+a A30D 68 0000 push #
***** factor expected..................................^
+a A312 68 0000 push #
***** factor expected..................................^
+a A31D 68 0000 push #
***** factor expected..................................^
+a A322 68 0000 push #
***** factor expected..................................^
+a A32D 68 0000 push #
***** factor expected..................................^
+a A332 68 0000 push #
***** factor expected..................................^
+a A33D BB 0000 mov bx, #
***** factor expected.....................................^

00025 errors
00000 warnings
make[2]: *** [BIOS-bochs-latest] Error 1
make[2]: Leaving directory
`/root/xen/xen-unstable.hg/tools/firmware/rombios'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/root/xen/xen-unstable.hg/tools/firmware'
make: *** [all] Error 2

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xensource.com
http://lists.xensource.com/xen-devel
Re: x86_64 build break in rombios [ In reply to ]
On 29/1/07 19:33, "Puthiyaparambil, Aravindh"
<aravindh.puthiyaparambil@unisys.com> wrote:

> I am getting the following build break on changeset 13662. I am
> compiling on x86_64 SLES10 with gcc 4.1.0. Is there a fix for this?
>
> Thanks,

Noone else is seeing this as far as I know. Are you sure this is due to a
recent changeset rather than something about your build environment? If the
former, working out the specific bad changeset will be useful.

-- Keir



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xensource.com
http://lists.xensource.com/xen-devel
RE: x86_64 build break in rombios [ In reply to ]
> Noone else is seeing this as far as I know. Are you sure this is due
to a
> recent changeset rather than something about your build environment?
If
> the former, working out the specific bad changeset will be useful.

I am getting this break from changeset 13642:480436ef6255 onwards.
13641: b97780b7080d builds successfully for me.

Aravindh

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xensource.com
http://lists.xensource.com/xen-devel
Re: x86_64 build break in rombios [ In reply to ]
On 29/1/07 20:28, "Puthiyaparambil, Aravindh"
<aravindh.puthiyaparambil@unisys.com> wrote:

>> Noone else is seeing this as far as I know. Are you sure this is due
> to a
>> recent changeset rather than something about your build environment?
> If
>> the former, working out the specific bad changeset will be useful.
>
> I am getting this break from changeset 13642:480436ef6255 onwards.
> 13641: b97780b7080d builds successfully for me.

You'll have to drill into this a bit yourself I think. That changeset does
add a fair bit more assembly language to the rombios codebase (particularly
in 32bitgateway.c) but it doesn't look particularly different from the
existing assembly language in rombios.c. Clearly there *is* a difference
though -- perhaps you can narrow down which lines are causing the problem
and tinker with them a bit to see what's causing as86 to barf?

It's definitely odd: unlike gas I don't think there are that many different
versions of as86 to be causing weird differing build-environment behaviours.

-- Keir



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xensource.com
http://lists.xensource.com/xen-devel
RE: x86_64 build break in rombios [ In reply to ]
> You'll have to drill into this a bit yourself I think. That changeset
does
> add a fair bit more assembly language to the rombios codebase
> (particularly
> in 32bitgateway.c) but it doesn't look particularly different from the
> existing assembly language in rombios.c. Clearly there *is* a
difference
> though -- perhaps you can narrow down which lines are causing the
problem
> and tinker with them a bit to see what's causing as86 to barf?

The offending lines are from the macro DoUpCall in 32bitgateway.c and
macro POST_MEASURE in tcgbios.c

32bitgateway.c (line 410)
MACRO DoUpcall
mov bx, #?1 <====
jmp Upcall
MEND

Tcgbios.c (line 182)
ACRO POST_MEASURE
push word #0x000f
push #?2 <====
push word #0x000f
push #?1 <====
call _tcpa_measure_post
add sp, #8
MEND

as86 does not like the #? notation even though the man pages say that it
perfectly legal.

Any idea what's going on?

Thanks,
Aravindh

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xensource.com
http://lists.xensource.com/xen-devel
Re: x86_64 build break in rombios [ In reply to ]
On 29/1/07 11:32 pm, "Puthiyaparambil, Aravindh"
<aravindh.puthiyaparambil@unisys.com> wrote:

> as86 does not like the #? notation even though the man pages say that it
> perfectly legal.
>
> Any idea what's going on?

Not really. Fortunately the entire rombios is stuffed through cpp, so we can
use C macros instead, which also has other advantages (everyone knows the
syntax, parameters are named, etc).

-- Keir



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xensource.com
http://lists.xensource.com/xen-devel
Re: x86_64 build break in rombios [ In reply to ]
Hi,

> make[1]: Entering directory `/root/xen/xen-unstable.hg/tools/firmware'
> make[2]: Entering directory
> `/root/xen/xen-unstable.hg/tools/firmware/rombios'
> gcc -o biossums biossums.c
> gcc -DBX_SMP_PROCESSORS=1 -E -P rombios.c > _rombios_.c
> bcc -o rombios.s -C-c -D__i86__ -0 -S _rombios_.c
> sed -e 's/^\.text//' -e 's/^\.data//' rombios.s > _rombios_.s
> as86 _rombios_.s -b tmp.bin -u- -w- -g -0 -j -O -l rombios.txt
> +a A311 BB 0000 mov bx, #
> ***** factor expected.....................................^

bin86 / dev86 packages too old. 0.16.17 works ok. 0.16.0 doesn't.

cheers,
Gerd

--
Gerd Hoffmann <kraxel@suse.de>

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xensource.com
http://lists.xensource.com/xen-devel
Re: x86_64 build break in rombios [ In reply to ]
On 29/1/07 11:32 pm, "Puthiyaparambil, Aravindh"
<aravindh.puthiyaparambil@unisys.com> wrote:

> The offending lines are from the macro DoUpCall in 32bitgateway.c and
> macro POST_MEASURE in tcgbios.c
>
> as86 does not like the #? notation even though the man pages say that it
> perfectly legal.
>
> Any idea what's going on?

Macro invocations have to bracket the arguments in older versions of as86.
This is now fixed in the staging tree so old versions of as86 will continue
to work.

-- Keir



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xensource.com
http://lists.xensource.com/xen-devel
RE: x86_64 build break in rombios [ In reply to ]
> Macro invocations have to bracket the arguments in older versions of
as86.
> This is now fixed in the staging tree so old versions of as86 will
> continue
> to work.

Thank you. That fixed it.

Aravindh

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xensource.com
http://lists.xensource.com/xen-devel