Hello Michael,
On 12/07/2017 10:25 AM, Michael Ellerman wrote:
Hi Desnes,
Am I right that Alan largely wrote this patch?
If so it should probably be From: him, so that he is the author in the
git log.
Yes, Alan Modra is the main author and I am just committing it with
minor changes. Thus, the author change is necessary.
Desnes Augusto Nunes do Rosario <desn...@linux.vnet.ibm.com> writes:
diff --git a/arch/powerpc/Makefile b/arch/powerpc/Makefile
index 1381693..c472f5b 100644
--- a/arch/powerpc/Makefile
+++ b/arch/powerpc/Makefile
@@ -63,6 +63,7 @@ UTS_MACHINE := $(subst $(space),,$(machine-y))
ifdef CONFIG_PPC32
KBUILD_LDFLAGS_MODULE += arch/powerpc/lib/crtsavres.o
else
+KBUILD_LDFLAGS_MODULE += -T arch/powerpc/kernel/module.lds
This needs to be:
KBUILD_LDFLAGS_MODULE += -T $(srctree)/arch/powerpc/kernel/module.lds
Otherwise building with O=../build fails with:
ld: cannot open linker script file arch/powerpc/kernel/module.lds: No such
file or directory
I'll fix it up.
Indeed; this change is necessary to avoid any path errors.
diff --git a/arch/powerpc/kernel/module_64.c b/arch/powerpc/kernel/module_64.c
index 759104b..9b2c5c1 100644
--- a/arch/powerpc/kernel/module_64.c
+++ b/arch/powerpc/kernel/module_64.c
@@ -374,11 +377,13 @@ int module_frob_arch_sections(Elf64_Ehdr *hdr,
}
/* r2 is the TOC pointer: it actually points 0x8000 into the TOC (this
- gives the value maximum span in an instruction which uses a signed
- offset) */
+ * gives the value maximum span in an instruction which uses a signed
+ * offset). Round down to a 256 byte boundary for the odd case where
+ * we are setting up r2 without a .toc section.
+ */
static inline unsigned long my_r2(const Elf64_Shdr *sechdrs, struct module
*me)
{
- return sechdrs[me->arch.toc_section].sh_addr + 0x8000;
+ return (sechdrs[me->arch.toc_section].sh_addr & -256) + 0x8000;
I think it's more typical in the kernel to write -256 as ~0xff.
Again I can fix it up.
Good to know!
cheers
Lastly, will you fix it up or do you want me to send a second version
then? Whatever is best for you.
Thank you for the review.
--
Desnes Augusto Nunes do Rosário
------------------------------------------
Linux Developer - IBM / Brazil
M.Sc. in Electrical and Computer Engineering - UFRN
(11) 9595-30-900
desn...@br.ibm.com