grub-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: aarch64: relocation 0x105 is not implemented yet.


From: Leif Lindholm
Subject: Re: aarch64: relocation 0x105 is not implemented yet.
Date: Sun, 29 Dec 2013 01:55:44 +0000

Hi Andrey,

On 28 December 2013 19:00, Andrey Borzenkov <address@hidden> wrote:
>> > On 27.12.2013 20:07, Andrey Borzenkov wrote:
>> > > I tried to build RPM for aarch64; it fails building image with
>> > >
>> > > [ 1273s] + ./grub-mkimage -O arm64-efi -o grub.efi --prefix= -d
>> > > grub-core all_video boot cat chain configfile echo efinet font gfxmenu
>> > > gfxterm gzio halt iso9660 jpeg minicmd normal part_apple part_msdos
>> > > part_gpt password_pbkdf2 png reboot search search_fs_uuid search_fs_file
>> > > search_label sleep test video fat loadenv linux ext2 btrfs ext2 xfs jfs
>> > > reiserfs efinet tftp mdraid09 mdraid1x lvm
>> > > [ 1273s] ./grub-mkimage: error: relocation 0x105 is not implemented yet.
>> > >
>> > This shouldn't happen as those relocation assume 32-bit range. Is
>> > -mcmodel=large properly passed?
>>
>> Looks like some files are compiled without it
>>
>> [  992s] gcc -DHAVE_CONFIG_H -I. -I../../grub-core -I..  -Wall -W
>> -I../../include -I../include  -DGRUB_MACHINE_EFI=1
>> -DGRUB_MACHINE=ARM64_EFI -nostdinc
>> -isystem /usr/lib64/gcc/aarch64-suse-linux/4.8/include -DGRUB_FILE=
>> \"lib/setjmp.S\" -I. -I../../grub-core -I.. -I../.. -I../../include
>> -I../include -I../../grub-core/lib/libgcrypt-grub/src/     -g
>> -DGRUB_FILE=\"lib/setjmp.S\" -I. -I../../grub-core -I.. -I../..
>> -I../../include -I../include -I../../grub-core/lib/libgcrypt-grub/src/
>> -DASM_FILE=1    -fno-strict-aliasing -fno-inline-functions-called-once
>> -MT lib/setjmp_module-setjmp.o -MD -MP -MF
>> lib/.deps-core/setjmp_module-setjmp.Tpo -c -o lib/setjmp_module-setjmp.o
>> `test -f 'lib/setjmp.S' || echo '../../grub-core/'`lib/setjmp.S
>>
>> [ 1161s] gcc -DHAVE_CONFIG_H -I. -I../../grub-core -I..  -Wall -W
>> -I../../include -I../include  -DGRUB_MACHINE_EFI=1
>> -DGRUB_MACHINE=ARM64_EFI -nostdinc
>> -isystem /usr/lib64/gcc/aarch64-suse-linux/4.8/include -DGRUB_FILE=
>> \"kern/arm64/efi/startup.S\" -I. -I../../grub-core -I.. -I../..
>> -I../../include -I../include -I../../grub-core/lib/libgcrypt-grub/src/
>> -DGRUB_KERNEL=1   -g -DGRUB_FILE=\"kern/arm64/efi/startup.S\" -I.
>> -I../../grub-core -I.. -I../.. -I../../include -I../include
>> -I../../grub-core/lib/libgcrypt-grub/src/ -DASM_FILE=1
>> -fno-strict-aliasing -fno-inline-functions-called-once  -MT
>> kern/arm64/efi/kernel_exec-startup.o -MD -MP -MF
>> kern/arm64/efi/.deps-core/kernel_exec-startup.Tpo -c -o
>> kern/arm64/efi/kernel_exec-startup.o `test -f 'kern/arm64/efi/startup.S'
>> || echo '../../grub-core/'`kern/arm64/efi/startup.S
>>
>> [ 1163s] gcc -DHAVE_CONFIG_H -I. -I../../grub-core -I..  -Wall -W
>> -I../../include -I../include  -DGRUB_MACHINE_EFI=1
>> -DGRUB_MACHINE=ARM64_EFI -nostdinc
>> -isystem /usr/lib64/gcc/aarch64-suse-linux/4.8/include -DGRUB_FILE=
>> \"kern/arm64/cache_flush.S\" -I. -I../../grub-core -I.. -I../..
>> -I../../include -I../include -I../../grub-core/lib/libgcrypt-grub/src/
>> -DGRUB_KERNEL=1   -g -DGRUB_FILE=\"kern/arm64/cache_flush.S\" -I.
>> -I../../grub-core -I.. -I../.. -I../../include -I../include
>> -I../../grub-core/lib/libgcrypt-grub/src/ -DASM_FILE=1
>> -fno-strict-aliasing -fno-inline-functions-called-once  -MT
>> kern/arm64/kernel_exec-cache_flush.o -MD -MP -MF
>> kern/arm64/.deps-core/kernel_exec-cache_flush.Tpo -c -o
>> kern/arm64/kernel_exec-cache_flush.o `test -f 'kern/arm64/cache_flush.S'
>> || echo '../../grub-core/'`kern/arm64/cache_flush.S
>>
>
> Still the same even after adding -mcmodel=large to CCASFLAGS.

This shouldn't matter for asm though: it's a compiler option instructing the
compiler what code sequences to use for indirect calls/accesses.

> Is it
> possible that compiler generates small relocation where appropriate even
> with -mcmodel=large?

It shouldn't, but difficult to say without knowing more details.
Can you run the mkimage with -v and pinpoint the triggering module?

/
   Leif



reply via email to

[Prev in Thread] Current Thread [Next in Thread]