[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v3 5/5] x86: remove usage of .skip with non-absolute expressions
>>> On 29.01.18 at 14:05, <andrew.cooper3@xxxxxxxxxx> wrote: > On 29/01/18 13:02, Jan Beulich wrote: >>>>> On 29.01.18 at 13:43, <wei.liu2@xxxxxxxxxx> wrote: >>> On Mon, Jan 29, 2018 at 12:26:43PM +0000, Roger Pau Monne wrote: >>>> Clang assembler doesn't support using .skip with non-absolute >>>> expressions: >>>> >>> But so is GNU as. From its manual for .skip: >>> >>> "This directive emits size bytes, each of value fill. Both size and fill >>> are absolute expressions." >>> >>>> entry.S:109:15: error: expected absolute expression >>>> .skip .Lcr4_alt_end - .Lcr4_alt, 0x90 >>>> ^ >>>> >>> OOI what makes .Lcr4_alt_end - .Lcr4_alt non-absolute? >> I guess they expect to be able to calculate the value right at the >> point they evaluate .skip's arguments. Whereas gas either records >> a fragment with variable size, or (less likely, as that could end up >> wrong) evaluates the expression right away (iirc the .skip sits after >> the definition of both symbols, and iirc further gas [at least some >> versions] has problems if that wasn't the case). > > One thing I've been experimenting with, along with trying to organise > the alternatives into a mergeable section, is to first write the > alternatives into .discard section, which allows calculations like this > to be completed immediately, rather than being deferred. How would such calculations be completed immediately? It doesn't matter what section you put things in - final addresses can be known only once all input has been consumed by the assembler. Jan _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |