Discussion:
Unsupported relocation type: R_X86_64_PLT32
Aleix Roca Nonell
2018-11-03 12:54:39 UTC
Permalink
Hi all!

In my attempt to write my first useful kernel patch, I'm tracking down
a possibly kernel regression on my laptop's wireless driver. I'm
trying to use git bisect to narrow down the problem and I'm having
trouble compiling a Linux kernel 4.14 from Linus tree in my Arch
Linux.

The error I'm getting is "Unsupported relocation type: R_X86_64_PLT32"

I have read about gcc enabling -fPIC by default from gcc-6 so I have
tried compiling with gcc-{8,7,5,4.9} with and without
"-fno-pic -no-pic" by running

make CC="gcc-5 -fno-pic -no-pic"

with no luck. I was expecting those R_X86_64_PLT32 relocations not to
be generated with this options but there is something I have still not
understood.

I have been able to compile the kernel after applying greg's stable
tree patch [1] (and [2,3] for gcc-8) but the kernel refuses to boot.

Any help/comments on either the problem or the followed methodology will be
appreciated!

Thank you! :D

[1] - https://lore.kernel.org/patchwork/patch/892780/
[2] - https://lore.kernel.org/patchwork/patch/868613/
[3] - https://lore.kernel.org/patchwork/patch/934722/
Aleix Roca Nonell
2018-11-03 13:16:53 UTC
Permalink
Post by Aleix Roca Nonell
Hi all!
In my attempt to write my first useful kernel patch, I'm tracking down
a possibly kernel regression on my laptop's wireless driver. I'm
trying to use git bisect to narrow down the problem and I'm having
trouble compiling a Linux kernel 4.14 from Linus tree in my Arch
Linux.
The error I'm getting is "Unsupported relocation type: R_X86_64_PLT32"
I have read about gcc enabling -fPIC by default from gcc-6 so I have
tried compiling with gcc-{8,7,5,4.9} with and without
"-fno-pic -no-pic" by running
make CC="gcc-5 -fno-pic -no-pic"
with no luck. I was expecting those R_X86_64_PLT32 relocations not to
be generated with this options but there is something I have still not
understood.
I have been able to compile the kernel after applying greg's stable
tree patch [1] (and [2,3] for gcc-8) but the kernel refuses to boot.
Any help/comments on either the problem or the followed methodology will be
appreciated!
Thank you! :D
[1] - https://lore.kernel.org/patchwork/patch/892780/
[2] - https://lore.kernel.org/patchwork/patch/868613/
[3] - https://lore.kernel.org/patchwork/patch/934722/
Sorry, I meant "-fno-pie -no-pie" instead of "-fno-pic -no-pic"
Aleix Roca Nonell
2018-11-07 07:18:14 UTC
Permalink
(reminder just in case the email was missed!)
Post by Aleix Roca Nonell
Post by Aleix Roca Nonell
Hi all!
In my attempt to write my first useful kernel patch, I'm tracking down
a possibly kernel regression on my laptop's wireless driver. I'm
trying to use git bisect to narrow down the problem and I'm having
trouble compiling a Linux kernel 4.14 from Linus tree in my Arch
Linux.
The error I'm getting is "Unsupported relocation type: R_X86_64_PLT32"
I have read about gcc enabling -fPIC by default from gcc-6 so I have
tried compiling with gcc-{8,7,5,4.9} with and without
"-fno-pic -no-pic" by running
make CC="gcc-5 -fno-pic -no-pic"
with no luck. I was expecting those R_X86_64_PLT32 relocations not to
be generated with this options but there is something I have still not
understood.
I have been able to compile the kernel after applying greg's stable
tree patch [1] (and [2,3] for gcc-8) but the kernel refuses to boot.
Any help/comments on either the problem or the followed methodology will be
appreciated!
Thank you! :D
[1] - https://lore.kernel.org/patchwork/patch/892780/
[2] - https://lore.kernel.org/patchwork/patch/868613/
[3] - https://lore.kernel.org/patchwork/patch/934722/
Sorry, I meant "-fno-pie -no-pie" instead of "-fno-pic -no-pic"
Shyam Saini
2018-11-07 11:02:36 UTC
Permalink
Hi Aleix,
Post by Aleix Roca Nonell
(reminder just in case the email was missed!)
When you post queries/bug reports then you should always Cc
maintainers and subsystem specific
mailing lists.

You can can find maintainers and mailings lists by:
$ cd /path to your kernel source/
$ ./scripts/get_maintainer.pl /path to your wireless driver file


Thanks a lot,
Shyam
Post by Aleix Roca Nonell
Post by Aleix Roca Nonell
Post by Aleix Roca Nonell
Hi all!
In my attempt to write my first useful kernel patch, I'm tracking down
a possibly kernel regression on my laptop's wireless driver. I'm
trying to use git bisect to narrow down the problem and I'm having
trouble compiling a Linux kernel 4.14 from Linus tree in my Arch
Linux.
The error I'm getting is "Unsupported relocation type: R_X86_64_PLT32"
I have read about gcc enabling -fPIC by default from gcc-6 so I have
tried compiling with gcc-{8,7,5,4.9} with and without
"-fno-pic -no-pic" by running
make CC="gcc-5 -fno-pic -no-pic"
with no luck. I was expecting those R_X86_64_PLT32 relocations not to
be generated with this options but there is something I have still not
understood.
I have been able to compile the kernel after applying greg's stable
tree patch [1] (and [2,3] for gcc-8) but the kernel refuses to boot.
Any help/comments on either the problem or the followed methodology will be
appreciated!
Thank you! :D
[1] - https://lore.kernel.org/patchwork/patch/892780/
[2] - https://lore.kernel.org/patchwork/patch/868613/
[3] - https://lore.kernel.org/patchwork/patch/934722/
Sorry, I meant "-fno-pie -no-pie" instead of "-fno-pic -no-pic"
_______________________________________________
Kernelnewbies mailing list
https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
Aleix Roca Nonell
2018-11-07 15:00:01 UTC
Permalink
Post by Shyam Saini
Hi Aleix,
Post by Aleix Roca Nonell
(reminder just in case the email was missed!)
When you post queries/bug reports then you should always Cc
maintainers and subsystem specific
mailing lists.
$ cd /path to your kernel source/
$ ./scripts/get_maintainer.pl /path to your wireless driver file
Hi Shyam,

Sorry, I think I have not made myself clear enough. The error that
doesn't let me sleep at night,
Post by Shyam Saini
"Unsupported relocation type: R_X86_64_PLT32"
it is not related at all with my wireless driver. This error pops up
when compiling a Linux Kernel 4.14 from Linus tree with
gcc-{8,7,5,4.9}. The reason of why I'm compiling a linux kernel 4.14
is to identify a commit which introduced a possible regression in my
wireless driver.

To provide some more context, I'm adding the full compile report in
the following links:

Linux 4.14 (+ patches [2,3]) build with gcc-8.2.1
https://drive.google.com/open?id=1tg0iR3dirhW4MhU_3RXcNyvmiJ-j6nBy

Linux 4.14 vanilla build with gcc-4.9.4
https://drive.google.com/open?id=1YJIpVc5VA1xpblQQxHSzrWhTArl5lTKQ

I have already spent too many hours in this detail, so any hint is welcomed :)

Thank you!
Post by Shyam Saini
[1] - https://lore.kernel.org/patchwork/patch/892780/
[2] - https://lore.kernel.org/patchwork/patch/868613/
[3] - https://lore.kernel.org/patchwork/patch/934722/
Loading...