Re: [QUESTION] Compile error on ppc32 with compilation option '-fdata-sections'

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

 




On 2021/10/21 0:55, Kees Cook wrote:
On Tue, Oct 19, 2021 at 10:14:34AM +0800, Ye Weihua wrote:
Hi,


When I was compiling the ppc32 kernel with the compilation option
'-fdata-sections', a compilation error occurred and the message was as
follows:


     "Inconsistent kallsyms data

     Try make KALLSYMS_EXTRA_PASS=1 as a workaround"


After comparing the symbol tables, I found that the "_end" and "__bss_stop"
positions in Symtem.map and tmp_System.map are different: in Symtem.map they
are in the middle of the symbol table. In tmp_System.map, they are at the
end of the symbol table.


commit af73d78bd384aa9b add "strip-debug" to improve performance. However,
the addition takes effect only for tmp_vmlinux but not for vmlinux. As a
result, the symbol tables are different after the "-fdata-sections"
compilation option is enabled.


How the "strip-debug" compilation option affects symbol table order?

Can "strip-debug" be added during vmlinux generation?
How did you add -fdata-sections? There needs to be a lot of special
handling to use that option...

I added "-fdata-sections" to the "CFLAGS_KERNEL" field and "-Wl,--gc-sections" to "LDFLAGS_VMLINUX" in Makefile. I've configured it this way on other architectures, but I haven't had the same problem with the exception of ppc32. Are there any other configurations or steps required?

Thanks.




[Index of Archives]     [Linux&nblp;USB Development]     [Linux Media]     [Video for Linux]     [Linux Audio Users]     [Yosemite Secrets]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux