[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v2] xen/x86: fix linker script to work with lld
On Wed, Jul 11, 2018 at 12:42:48PM +0200, Daniel Kiper wrote: > On Wed, Jul 11, 2018 at 12:25:21PM +0200, Roger Pau Monne wrote: > > lld (the llvm linker) has some issues with Xen linker script. It > > doesn't understand '||' in assert expressions: > > > > ld -melf_x86_64_fbsd -T xen.lds -N prelink.o --build-id=sha1 \ > > /root/src/xen/xen/common/symbols-dummy.o -o > > /root/src/xen/xen/.xen-syms.0 > > ld: error: xen.lds:260: malformed number: | > > >>> ASSERT(__image_base__ > (((((((((261 >> 8) * 0xffff000000000000) | (261 > > >>> << 39))) + ((1 << 39) / 2)) + (64 << 30)) + (1 << 30)) + (1 << 30))) || > > >>> > > >>> ^ > > > > And doesn't work properly with the 'DEFINED(foo) ? foo : ...' > > expression: > > > > ld -melf_x86_64_fbsd -T xen.lds -N prelink.o --build-id=sha1 \ > > /root/src/xen/xen/common/symbols-dummy.o -o > > /root/src/xen/xen/.xen-syms.0 > > ld: error: xen.lds:233: symbol not found: efi > > > > Fix the first issue by using '|' instead of '||', and the second one > > by declaring the efi symbol as a weak symbol. > > > > Signed-off-by: Roger Pau Monné <roger.pau@xxxxxxxxxx> > > --- > > Cc: Jan Beulich <jbeulich@xxxxxxxx> > > Cc: Andrew Cooper <andrew.cooper3@xxxxxxxxxx> > > Cc: Daniel Kiper <daniel.kiper@xxxxxxxxxx> > > --- > > Changes since v1: > > - Export efi as a weak symbol in order to remove the DEFINED > > conditional in the linker script. > > - Add a define for setting the weak attribute and replace existing > > users. > > May I ask you to split this patch into two separate patches? > One for __weak change and one for DEFINED() drop please. So to introduce and use __weak also for the efi variable and then drop the DEFINED in a following patch? Or switch efi to use __weak in the same patch where DEFINED is dropped? Roger. _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |