* aarch64: relocation 0x105 is not implemented yet.
@ 2013-12-27 19:07 Andrey Borzenkov
2013-12-28 17:11 ` Vladimir 'φ-coder/phcoder' Serbinenko
0 siblings, 1 reply; 18+ messages in thread
From: Andrey Borzenkov @ 2013-12-27 19:07 UTC (permalink / raw)
To: grub-devel
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.
Tools are
gcc48-4.8.2+r203692-2.1
binutils-2.24-1.1
This is native build, no cross.
[ 420s] checking build system type... aarch64-unknown-linux-gnu
[ 420s] checking host system type... aarch64-unknown-linux-gnu
[ 420s] checking target system type... aarch64-suse-linux-gnu
I do not have access to build system itself (OBS) only logs are
available.
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: aarch64: relocation 0x105 is not implemented yet.
2013-12-27 19:07 aarch64: relocation 0x105 is not implemented yet Andrey Borzenkov
@ 2013-12-28 17:11 ` Vladimir 'φ-coder/phcoder' Serbinenko
2013-12-28 17:48 ` Andrey Borzenkov
0 siblings, 1 reply; 18+ messages in thread
From: Vladimir 'φ-coder/phcoder' Serbinenko @ 2013-12-28 17:11 UTC (permalink / raw)
To: The development of GNU GRUB
[-- Attachment #1: Type: text/plain, Size: 1272 bytes --]
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?
> Tools are
>
> gcc48-4.8.2+r203692-2.1
> binutils-2.24-1.1
>
> This is native build, no cross.
>
> [ 420s] checking build system type... aarch64-unknown-linux-gnu
> [ 420s] checking host system type... aarch64-unknown-linux-gnu
> [ 420s] checking target system type... aarch64-suse-linux-gnu
>
>
> I do not have access to build system itself (OBS) only logs are
> available.
>
>
> _______________________________________________
> Grub-devel mailing list
> Grub-devel@gnu.org
> https://lists.gnu.org/mailman/listinfo/grub-devel
>
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 291 bytes --]
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: aarch64: relocation 0x105 is not implemented yet.
2013-12-28 17:11 ` Vladimir 'φ-coder/phcoder' Serbinenko
@ 2013-12-28 17:48 ` Andrey Borzenkov
2013-12-28 19:00 ` Andrey Borzenkov
0 siblings, 1 reply; 18+ messages in thread
From: Andrey Borzenkov @ 2013-12-28 17:48 UTC (permalink / raw)
To: grub-devel
[-- Attachment #1: Type: text/plain, Size: 4079 bytes --]
В Сб, 28/12/2013 в 18:11 +0100, Vladimir 'φ-coder/phcoder' Serbinenko
пишет:
> 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
> > Tools are
> >
> > gcc48-4.8.2+r203692-2.1
> > binutils-2.24-1.1
> >
> > This is native build, no cross.
> >
> > [ 420s] checking build system type... aarch64-unknown-linux-gnu
> > [ 420s] checking host system type... aarch64-unknown-linux-gnu
> > [ 420s] checking target system type... aarch64-suse-linux-gnu
> >
> >
> > I do not have access to build system itself (OBS) only logs are
> > available.
> >
> >
> > _______________________________________________
> > Grub-devel mailing list
> > Grub-devel@gnu.org
> > https://lists.gnu.org/mailman/listinfo/grub-devel
> >
>
>
> _______________________________________________
> Grub-devel mailing list
> Grub-devel@gnu.org
> https://lists.gnu.org/mailman/listinfo/grub-devel
[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 198 bytes --]
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: aarch64: relocation 0x105 is not implemented yet.
2013-12-28 17:48 ` Andrey Borzenkov
@ 2013-12-28 19:00 ` Andrey Borzenkov
2013-12-29 1:55 ` Leif Lindholm
0 siblings, 1 reply; 18+ messages in thread
From: Andrey Borzenkov @ 2013-12-28 19:00 UTC (permalink / raw)
To: grub-devel
[-- Attachment #1: Type: text/plain, Size: 3664 bytes --]
В Сб, 28/12/2013 в 21:48 +0400, Andrey Borzenkov пишет:
> В Сб, 28/12/2013 в 18:11 +0100, Vladimir 'φ-coder/phcoder' Serbinenko
> пишет:
> > 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. Is it
possible that compiler generates small relocation where appropriate even
with -mcmodel=large?
[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 198 bytes --]
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: aarch64: relocation 0x105 is not implemented yet.
2013-12-28 19:00 ` Andrey Borzenkov
@ 2013-12-29 1:55 ` Leif Lindholm
2013-12-29 5:24 ` Andrey Borzenkov
0 siblings, 1 reply; 18+ messages in thread
From: Leif Lindholm @ 2013-12-29 1:55 UTC (permalink / raw)
To: The development of GNU GRUB
Hi Andrey,
On 28 December 2013 19:00, Andrey Borzenkov <arvidjaar@gmail.com> 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
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: aarch64: relocation 0x105 is not implemented yet.
2013-12-29 1:55 ` Leif Lindholm
@ 2013-12-29 5:24 ` Andrey Borzenkov
2013-12-29 12:44 ` Leif Lindholm
0 siblings, 1 reply; 18+ messages in thread
From: Andrey Borzenkov @ 2013-12-29 5:24 UTC (permalink / raw)
To: grub-devel
В Вс, 29/12/2013 в 01:55 +0000, Leif Lindholm пишет:
> It shouldn't, but difficult to say without knowing more details.
> Can you run the mkimage with -v and pinpoint the triggering module?
>
This comes from .eh_frame section and fails for kernel.exec already.
RELOCATION RECORDS FOR [.eh_frame]:
OFFSET TYPE VALUE
000000000000001c R_AARCH64_PREL32 .text+0x0000000000009b70
0000000000000044 R_AARCH64_PREL32 .text+0x0000000000009b78
Also there are ABS32 relocations in various .debug_* sections but I
presume they are handled by --strip-unneeded.
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: aarch64: relocation 0x105 is not implemented yet.
2013-12-29 5:24 ` Andrey Borzenkov
@ 2013-12-29 12:44 ` Leif Lindholm
2013-12-29 13:06 ` Andrey Borzenkov
2013-12-29 13:06 ` Leif Lindholm
0 siblings, 2 replies; 18+ messages in thread
From: Leif Lindholm @ 2013-12-29 12:44 UTC (permalink / raw)
To: The development of GNU GRUB
On 29 December 2013 05:24, Andrey Borzenkov <arvidjaar@gmail.com> wrote:
> В Вс, 29/12/2013 в 01:55 +0000, Leif Lindholm пишет:
>> It shouldn't, but difficult to say without knowing more details.
>> Can you run the mkimage with -v and pinpoint the triggering module?
>
> This comes from .eh_frame section and fails for kernel.exec already.
>
> RELOCATION RECORDS FOR [.eh_frame]:
> OFFSET TYPE VALUE
> 000000000000001c R_AARCH64_PREL32 .text+0x0000000000009b70
> 0000000000000044 R_AARCH64_PREL32 .text+0x0000000000009b78
>
> Also there are ABS32 relocations in various .debug_* sections but I
> presume they are handled by --strip-unneeded.
Ah, yes (Fedora also saw this):
https://plus.google.com/u/0/106265217227408958782/posts/RYNT8RwFHDB
While it might be interesting to dig out what causes this toolchain difference
vs. Linaro, I am reasonably confident this relocation cannot be generated
in actual C code with -mcmodel=large. So my suggestion would be to ignore
this relocation. Or should we explicitly strip .eh_frame?
/
Leif
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: aarch64: relocation 0x105 is not implemented yet.
2013-12-29 12:44 ` Leif Lindholm
@ 2013-12-29 13:06 ` Andrey Borzenkov
2013-12-29 13:06 ` Leif Lindholm
1 sibling, 0 replies; 18+ messages in thread
From: Andrey Borzenkov @ 2013-12-29 13:06 UTC (permalink / raw)
To: grub-devel
В Вс, 29/12/2013 в 12:44 +0000, Leif Lindholm пишет:
> On 29 December 2013 05:24, Andrey Borzenkov <arvidjaar@gmail.com> wrote:
> > В Вс, 29/12/2013 в 01:55 +0000, Leif Lindholm пишет:
> >> It shouldn't, but difficult to say without knowing more details.
> >> Can you run the mkimage with -v and pinpoint the triggering module?
> >
> > This comes from .eh_frame section and fails for kernel.exec already.
> >
> > RELOCATION RECORDS FOR [.eh_frame]:
> > OFFSET TYPE VALUE
> > 000000000000001c R_AARCH64_PREL32 .text+0x0000000000009b70
> > 0000000000000044 R_AARCH64_PREL32 .text+0x0000000000009b78
> >
> > Also there are ABS32 relocations in various .debug_* sections but I
> > presume they are handled by --strip-unneeded.
>
> Ah, yes (Fedora also saw this):
> https://plus.google.com/u/0/106265217227408958782/posts/RYNT8RwFHDB
>
> While it might be interesting to dig out what causes this toolchain difference
> vs. Linaro, I am reasonably confident this relocation cannot be generated
> in actual C code with -mcmodel=large. So my suggestion would be to ignore
> this relocation. Or should we explicitly strip .eh_frame?
>
If it is not needed to run the binaries on target - I sure suggest
stripping it off. I was not sure as I expected --strip-unneeded to do it
in this case.
Ignoring does not sound right in case we actually hit in in code.
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: aarch64: relocation 0x105 is not implemented yet.
2013-12-29 12:44 ` Leif Lindholm
2013-12-29 13:06 ` Andrey Borzenkov
@ 2013-12-29 13:06 ` Leif Lindholm
2013-12-29 13:09 ` Leif Lindholm
1 sibling, 1 reply; 18+ messages in thread
From: Leif Lindholm @ 2013-12-29 13:06 UTC (permalink / raw)
To: The development of GNU GRUB
Andrey,
Can you give this a try?
(Sent through gmail, so garbled.)
diff --git a/grub-core/Makefile.core.def b/grub-core/Makefile.core.def
index c916246..a716a49 100644
--- a/grub-core/Makefile.core.def
+++ b/grub-core/Makefile.core.def
@@ -96,7 +96,7 @@ kernel = {
emu_cflags = '$(CFLAGS_GNULIB)';
emu_cppflags = '$(CPPFLAGS_GNULIB)';
arm_uboot_ldflags = '-Wl,-Ttext=0x08000000';
- arm_uboot_stripflags = '--strip-unneeded -K start -R .note -R
.comment -R .note.gnu.gold-version';
+ arm_uboot_stripflags = '--strip-unneeded -K start -R .note -R
.comment -R .note.gnu.gold-version -R .eh_frame';
i386_pc_startup = kern/i386/pc/startup.S;
i386_efi_startup = kern/i386/efi/startup.S;
/
Leif
^ permalink raw reply related [flat|nested] 18+ messages in thread
* Re: aarch64: relocation 0x105 is not implemented yet.
2013-12-29 13:06 ` Leif Lindholm
@ 2013-12-29 13:09 ` Leif Lindholm
2013-12-29 14:01 ` Andrey Borzenkov
0 siblings, 1 reply; 18+ messages in thread
From: Leif Lindholm @ 2013-12-29 13:09 UTC (permalink / raw)
To: The development of GNU GRUB
Umm, I'm officially going to go make some coffee.
On arm64_efi stripflags obviously.
On 29 December 2013 13:06, Leif Lindholm <leif.lindholm@linaro.org> wrote:
> Andrey,
>
> Can you give this a try?
> (Sent through gmail, so garbled.)
>
> diff --git a/grub-core/Makefile.core.def b/grub-core/Makefile.core.def
> index c916246..a716a49 100644
> --- a/grub-core/Makefile.core.def
> +++ b/grub-core/Makefile.core.def
> @@ -96,7 +96,7 @@ kernel = {
> emu_cflags = '$(CFLAGS_GNULIB)';
> emu_cppflags = '$(CPPFLAGS_GNULIB)';
> arm_uboot_ldflags = '-Wl,-Ttext=0x08000000';
> - arm_uboot_stripflags = '--strip-unneeded -K start -R .note -R
> .comment -R .note.gnu.gold-version';
> + arm_uboot_stripflags = '--strip-unneeded -K start -R .note -R
> .comment -R .note.gnu.gold-version -R .eh_frame';
>
> i386_pc_startup = kern/i386/pc/startup.S;
> i386_efi_startup = kern/i386/efi/startup.S;
>
> /
> Leif
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: aarch64: relocation 0x105 is not implemented yet.
2013-12-29 13:09 ` Leif Lindholm
@ 2013-12-29 14:01 ` Andrey Borzenkov
2013-12-29 14:07 ` Leif Lindholm
` (2 more replies)
0 siblings, 3 replies; 18+ messages in thread
From: Andrey Borzenkov @ 2013-12-29 14:01 UTC (permalink / raw)
To: grub-devel
В Вс, 29/12/2013 в 13:09 +0000, Leif Lindholm пишет:
> Umm, I'm officially going to go make some coffee.
>
> On arm64_efi stripflags obviously.
>
Yes, this works (i.e. - grub-mkimage does not fail). Of course, module
relocation happens at run time and I do not have hardware or software to
test it - could you do it? You can download RPM here:
https://api.opensuse.org/build/home:arvidjaar:grub2-next:ARM/openSUSE_Factory/aarch64/grub2/grub2-arm64-efi-2.02~beta2-225.1.aarch64.rpm
From: Andrey Borzenkov <arvidjaar@gmail.com>
Subject: [PATCH] strip .eh_frame section from kernel
Fixes grub-mkimage error
./grub-mkimage: error: relocation 0x105 is not implemented yet.
Suggested by Leif Lindholm
---
grub-core/Makefile.core.def | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/grub-core/Makefile.core.def b/grub-core/Makefile.core.def
index c916246..42443bc 100644
--- a/grub-core/Makefile.core.def
+++ b/grub-core/Makefile.core.def
@@ -66,7 +66,7 @@ kernel = {
arm_efi_stripflags = '--strip-unneeded -K start -R .note -R .comment -R .note.gnu.gold-version';
arm64_efi_ldflags = '-Wl,-r,-d';
- arm64_efi_stripflags = '--strip-unneeded -K start -R .note -R .comment -R .note.gnu.gold-version';
+ arm64_efi_stripflags = '--strip-unneeded -K start -R .note -R .comment -R .note.gnu.gold-version -R .eh_frame';
i386_pc_ldflags = '$(TARGET_IMG_LDFLAGS)';
i386_pc_ldflags = '$(TARGET_IMG_BASE_LDOPT),0x9000';
--
tg: (093dec7..) u/arm64-cmodel-large (depends on: master)
^ permalink raw reply related [flat|nested] 18+ messages in thread
* Re: aarch64: relocation 0x105 is not implemented yet.
2013-12-29 14:01 ` Andrey Borzenkov
@ 2013-12-29 14:07 ` Leif Lindholm
2013-12-29 18:12 ` Leif Lindholm
2013-12-30 13:15 ` Leif Lindholm
2 siblings, 0 replies; 18+ messages in thread
From: Leif Lindholm @ 2013-12-29 14:07 UTC (permalink / raw)
To: The development of GNU GRUB
On 29 December 2013 14:01, Andrey Borzenkov <arvidjaar@gmail.com> wrote:
> В Вс, 29/12/2013 в 13:09 +0000, Leif Lindholm пишет:
>> Umm, I'm officially going to go make some coffee.
>>
>> On arm64_efi stripflags obviously.
>
> Yes, this works (i.e. - grub-mkimage does not fail). Of course, module
> relocation happens at run time and I do not have hardware or software to
> test it - could you do it? You can download RPM here:
>
> https://api.opensuse.org/build/home:arvidjaar:grub2-next:ARM/openSUSE_Factory/aarch64/grub2/grub2-arm64-efi-2.02~beta2-225.1.aarch64.rpm
Thanks - I'll give it a go tonight (need to leave now).
If you can't wait, you can read my instructions for how to set up
the software model environment:
https://wiki.linaro.org/LEG/Engineering/Kernel/GRUBonAArch64
:)
/
Leif
> From: Andrey Borzenkov <arvidjaar@gmail.com>
> Subject: [PATCH] strip .eh_frame section from kernel
>
> Fixes grub-mkimage error
>
> ./grub-mkimage: error: relocation 0x105 is not implemented yet.
>
> Suggested by Leif Lindholm
>
> ---
> grub-core/Makefile.core.def | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/grub-core/Makefile.core.def b/grub-core/Makefile.core.def
> index c916246..42443bc 100644
> --- a/grub-core/Makefile.core.def
> +++ b/grub-core/Makefile.core.def
> @@ -66,7 +66,7 @@ kernel = {
> arm_efi_stripflags = '--strip-unneeded -K start -R .note -R .comment -R .note.gnu.gold-version';
>
> arm64_efi_ldflags = '-Wl,-r,-d';
> - arm64_efi_stripflags = '--strip-unneeded -K start -R .note -R .comment -R .note.gnu.gold-version';
> + arm64_efi_stripflags = '--strip-unneeded -K start -R .note -R .comment -R .note.gnu.gold-version -R .eh_frame';
>
> i386_pc_ldflags = '$(TARGET_IMG_LDFLAGS)';
> i386_pc_ldflags = '$(TARGET_IMG_BASE_LDOPT),0x9000';
> --
> tg: (093dec7..) u/arm64-cmodel-large (depends on: master)
>
>
>
> _______________________________________________
> Grub-devel mailing list
> Grub-devel@gnu.org
> https://lists.gnu.org/mailman/listinfo/grub-devel
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: aarch64: relocation 0x105 is not implemented yet.
2013-12-29 14:01 ` Andrey Borzenkov
2013-12-29 14:07 ` Leif Lindholm
@ 2013-12-29 18:12 ` Leif Lindholm
2013-12-29 19:03 ` Andrey Borzenkov
2013-12-30 13:15 ` Leif Lindholm
2 siblings, 1 reply; 18+ messages in thread
From: Leif Lindholm @ 2013-12-29 18:12 UTC (permalink / raw)
To: The development of GNU GRUB
On 29 December 2013 14:01, Andrey Borzenkov <arvidjaar@gmail.com> wrote:
>> On arm64_efi stripflags obviously.
>
> Yes, this works (i.e. - grub-mkimage does not fail). Of course, module
> relocation happens at run time and I do not have hardware or software to
> test it - could you do it? You can download RPM here:
>
> https://api.opensuse.org/build/home:arvidjaar:grub2-next:ARM/openSUSE_Factory/aarch64/grub2/grub2-arm64-efi-2.02~beta2-225.1.aarch64.rpm
Unfortunately, this link appears to require authentication.
/
Leif
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: aarch64: relocation 0x105 is not implemented yet.
2013-12-29 18:12 ` Leif Lindholm
@ 2013-12-29 19:03 ` Andrey Borzenkov
2013-12-30 0:40 ` Leif Lindholm
0 siblings, 1 reply; 18+ messages in thread
From: Andrey Borzenkov @ 2013-12-29 19:03 UTC (permalink / raw)
To: grub-devel
В Вс, 29/12/2013 в 18:12 +0000, Leif Lindholm пишет:
> On 29 December 2013 14:01, Andrey Borzenkov <arvidjaar@gmail.com> wrote:
> >> On arm64_efi stripflags obviously.
> >
> > Yes, this works (i.e. - grub-mkimage does not fail). Of course, module
> > relocation happens at run time and I do not have hardware or software to
> > test it - could you do it? You can download RPM here:
> >
> > https://api.opensuse.org/build/home:arvidjaar:grub2-next:ARM/openSUSE_Factory/aarch64/grub2/grub2-arm64-efi-2.02~beta2-225.1.aarch64.rpm
>
> Unfortunately, this link appears to require authentication.
>
Sorry.
https://dl.dropboxusercontent.com/u/25585681/grub2-arm64-efi-2.02~beta2-225.1.aarch64.rpm
https://dl.dropboxusercontent.com/u/25585681/grub2-2.02~beta2-225.1.aarch64.rpm
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: aarch64: relocation 0x105 is not implemented yet.
2013-12-29 19:03 ` Andrey Borzenkov
@ 2013-12-30 0:40 ` Leif Lindholm
2013-12-30 2:45 ` Andrey Borzenkov
0 siblings, 1 reply; 18+ messages in thread
From: Leif Lindholm @ 2013-12-30 0:40 UTC (permalink / raw)
To: Andrey Borzenkov; +Cc: grub-devel
On Sun, Dec 29, 2013 at 11:03:30PM +0400, Andrey Borzenkov wrote:
> В Вс, 29/12/2013 в 18:12 +0000, Leif Lindholm пишет:
> > On 29 December 2013 14:01, Andrey Borzenkov <arvidjaar@gmail.com> wrote:
> > >> On arm64_efi stripflags obviously.
> > >
> > > Yes, this works (i.e. - grub-mkimage does not fail). Of course, module
> > > relocation happens at run time and I do not have hardware or software to
> > > test it - could you do it? You can download RPM here:
> > >
> > > https://api.opensuse.org/build/home:arvidjaar:grub2-next:ARM/openSUSE_Factory/aarch64/grub2/grub2-arm64-efi-2.02~beta2-225.1.aarch64.rpm
> >
> > Unfortunately, this link appears to require authentication.
> >
>
> Sorry.
>
> https://dl.dropboxusercontent.com/u/25585681/grub2-arm64-efi-2.02~beta2-225.1.aarch64.rpm
> https://dl.dropboxusercontent.com/u/25585681/grub2-2.02~beta2-225.1.aarch64.rpm
Thanks, but lacking liblzma.so.5 and libdevmapper.so.1.03 - any chance
you could pass those across?
/
Leif
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: aarch64: relocation 0x105 is not implemented yet.
2013-12-30 0:40 ` Leif Lindholm
@ 2013-12-30 2:45 ` Andrey Borzenkov
2013-12-30 12:43 ` Leif Lindholm
0 siblings, 1 reply; 18+ messages in thread
From: Andrey Borzenkov @ 2013-12-30 2:45 UTC (permalink / raw)
To: Leif Lindholm; +Cc: grub-devel
В Пн, 30/12/2013 в 00:40 +0000, Leif Lindholm пишет:
> On Sun, Dec 29, 2013 at 11:03:30PM +0400, Andrey Borzenkov wrote:
> > В Вс, 29/12/2013 в 18:12 +0000, Leif Lindholm пишет:
> > > On 29 December 2013 14:01, Andrey Borzenkov <arvidjaar@gmail.com> wrote:
> > > >> On arm64_efi stripflags obviously.
> > > >
> > > > Yes, this works (i.e. - grub-mkimage does not fail). Of course, module
> > > > relocation happens at run time and I do not have hardware or software to
> > > > test it - could you do it? You can download RPM here:
> > > >
> > > > https://api.opensuse.org/build/home:arvidjaar:grub2-next:ARM/openSUSE_Factory/aarch64/grub2/grub2-arm64-efi-2.02~beta2-225.1.aarch64.rpm
> > >
> > > Unfortunately, this link appears to require authentication.
> > >
> >
> > Sorry.
> >
> > https://dl.dropboxusercontent.com/u/25585681/grub2-arm64-efi-2.02~beta2-225.1.aarch64.rpm
> > https://dl.dropboxusercontent.com/u/25585681/grub2-2.02~beta2-225.1.aarch64.rpm
>
> Thanks, but lacking liblzma.so.5 and libdevmapper.so.1.03 - any chance
> you could pass those across?
>
You can actually use your own user tools on any platform, but let's make
it simple - here is standalone image:
https://dl.dropboxusercontent.com/u/25585681/grubaarch64.efi
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: aarch64: relocation 0x105 is not implemented yet.
2013-12-30 2:45 ` Andrey Borzenkov
@ 2013-12-30 12:43 ` Leif Lindholm
0 siblings, 0 replies; 18+ messages in thread
From: Leif Lindholm @ 2013-12-30 12:43 UTC (permalink / raw)
To: Andrey Borzenkov; +Cc: grub-devel
On Mon, Dec 30, 2013 at 06:45:08AM +0400, Andrey Borzenkov wrote:
> > Thanks, but lacking liblzma.so.5 and libdevmapper.so.1.03 - any chance
> > you could pass those across?
>
> You can actually use your own user tools on any platform, but let's make
> it simple - here is standalone image:
>
> https://dl.dropboxusercontent.com/u/25585681/grubaarch64.efi
Much appreciated.
I can successfully boot Linux on the ARMv8 Foundation model.
/
Leif
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: aarch64: relocation 0x105 is not implemented yet.
2013-12-29 14:01 ` Andrey Borzenkov
2013-12-29 14:07 ` Leif Lindholm
2013-12-29 18:12 ` Leif Lindholm
@ 2013-12-30 13:15 ` Leif Lindholm
2 siblings, 0 replies; 18+ messages in thread
From: Leif Lindholm @ 2013-12-30 13:15 UTC (permalink / raw)
To: The development of GNU GRUB
Pushed after test and discussion with Vladimir on irc.
On Sun, Dec 29, 2013 at 06:01:27PM +0400, Andrey Borzenkov wrote:
> В Вс, 29/12/2013 в 13:09 +0000, Leif Lindholm пишет:
> > Umm, I'm officially going to go make some coffee.
> >
> > On arm64_efi stripflags obviously.
> >
>
> Yes, this works (i.e. - grub-mkimage does not fail). Of course, module
> relocation happens at run time and I do not have hardware or software to
> test it - could you do it? You can download RPM here:
>
> https://api.opensuse.org/build/home:arvidjaar:grub2-next:ARM/openSUSE_Factory/aarch64/grub2/grub2-arm64-efi-2.02~beta2-225.1.aarch64.rpm
>
> From: Andrey Borzenkov <arvidjaar@gmail.com>
> Subject: [PATCH] strip .eh_frame section from kernel
>
> Fixes grub-mkimage error
>
> ./grub-mkimage: error: relocation 0x105 is not implemented yet.
>
> Suggested by Leif Lindholm
>
> ---
> grub-core/Makefile.core.def | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/grub-core/Makefile.core.def b/grub-core/Makefile.core.def
> index c916246..42443bc 100644
> --- a/grub-core/Makefile.core.def
> +++ b/grub-core/Makefile.core.def
> @@ -66,7 +66,7 @@ kernel = {
> arm_efi_stripflags = '--strip-unneeded -K start -R .note -R .comment -R .note.gnu.gold-version';
>
> arm64_efi_ldflags = '-Wl,-r,-d';
> - arm64_efi_stripflags = '--strip-unneeded -K start -R .note -R .comment -R .note.gnu.gold-version';
> + arm64_efi_stripflags = '--strip-unneeded -K start -R .note -R .comment -R .note.gnu.gold-version -R .eh_frame';
>
> i386_pc_ldflags = '$(TARGET_IMG_LDFLAGS)';
> i386_pc_ldflags = '$(TARGET_IMG_BASE_LDOPT),0x9000';
> --
> tg: (093dec7..) u/arm64-cmodel-large (depends on: master)
>
>
>
> _______________________________________________
> Grub-devel mailing list
> Grub-devel@gnu.org
> https://lists.gnu.org/mailman/listinfo/grub-devel
^ permalink raw reply [flat|nested] 18+ messages in thread
end of thread, other threads:[~2013-12-30 13:15 UTC | newest]
Thread overview: 18+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-12-27 19:07 aarch64: relocation 0x105 is not implemented yet Andrey Borzenkov
2013-12-28 17:11 ` Vladimir 'φ-coder/phcoder' Serbinenko
2013-12-28 17:48 ` Andrey Borzenkov
2013-12-28 19:00 ` Andrey Borzenkov
2013-12-29 1:55 ` Leif Lindholm
2013-12-29 5:24 ` Andrey Borzenkov
2013-12-29 12:44 ` Leif Lindholm
2013-12-29 13:06 ` Andrey Borzenkov
2013-12-29 13:06 ` Leif Lindholm
2013-12-29 13:09 ` Leif Lindholm
2013-12-29 14:01 ` Andrey Borzenkov
2013-12-29 14:07 ` Leif Lindholm
2013-12-29 18:12 ` Leif Lindholm
2013-12-29 19:03 ` Andrey Borzenkov
2013-12-30 0:40 ` Leif Lindholm
2013-12-30 2:45 ` Andrey Borzenkov
2013-12-30 12:43 ` Leif Lindholm
2013-12-30 13:15 ` Leif Lindholm
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).