* [BUG] v4.12 breaks pxa25x
@ 2017-07-17 6:41 Robert Jarzmik
2017-07-17 8:15 ` Russell King - ARM Linux
0 siblings, 1 reply; 11+ messages in thread
From: Robert Jarzmik @ 2017-07-17 6:41 UTC (permalink / raw)
To: linux-arm-kernel
Hi Russell,
In current linux master branch, the lubbock board systematically breaks in early
boot stages. That doesn't happen in v4.12.
>From what I got so far as information, I have :
- the full kernel message in [1]
- the breakage is between v4.12 and
568d135d337d ("Merge branch 'upstream' of
git://git.linux-mips.org/pub/scm/ralf/upstream-linus")
- pc = 0xc0019e24
arm-none-linux-gnueabi-addr2line -i -e vmlinux c0019e24
=>
/kernel/work/jenkins/jobs/Linux_Kernel/workspace/arch/arm/mm/proc-xscale.S:215
- gdb
(gdb) disass __flush_whole_cache
Dump of assembler code for function __flush_whole_cache:
0xc0019e20 <+0>: ldr r1, [pc, #788] ; 0xc001a13c <cpu_xscale_set_pte_ext+92>
0xc0019e24 <+4>: ldr r0, [r1]
(gdb) disass /m paging_init
1411 local_flush_tlb_all();
1412 flush_cache_all();
0xc049d270 <+1200>: bl 0xc0019e18 <xscale_flush_user_cache_all>
1413
1414 /* Enable asynchronous aborts */
1415 early_abt_enable();
0xc049d274 <+1204>: bl 0xc049b78c <early_abt_enable>
I have not yet begun the bissection which will be my next task, so this is a
heads up until I find out which commit is triggering this.
--
Robert
[1]
Loading ARM Linux zImage '/mnt/tftp/zImage_jenkins'
commandline: console=ttyS0,115200 earlycon ip=dhcp root=/dev/nfs nfsroot=/home/none/nfsroot/lubbock,v3,tcp mtdparts=application-flash:2048k at 0(nor0.barebox)ro,256k(nor0.barebox-env),256k(nor0.barebox-logo),256k(nor0.barebox-logo2),5120k(nor0.kernel),-(nor0.root)
arch_number: 89
Uncompressing Linux... done, booting the kernel.
[ 0.000000] Booting Linux on physical CPU 0x0
[ 0.000000] Linux version 4.12.0-11927-g6bf3d68 (jenkins at belgarath) (gcc version 4.8.3 20140320 (prerelease) (Sourcery CodeBench Lite 2014.05-29)) #4582 Mon Jul 17 08:27:18 CEST 2017
[ 0.000000] CPU: XScale-PXA255 [69052d06] revision 6 (ARMv5TE), cr=0000397f
[ 0.000000] CPU: VIVT data cache, VIVT instruction cache
[ 0.000000] Machine: Intel DBPXA250 Development Platform (aka Lubbock)
[ 0.000000] Ignoring tag cmdline (using the default kernel command line)
[ 0.000000] earlycon: early_pxa0 at MMIO 0x40100000 (options '')
[ 0.000000] bootconsole [early_pxa0] enabled
[ 0.000000] Memory policy: Data cache writeback
[ 0.000000] Run Mode clock: 0.00MHz
[ 0.000000] Turbo Mode clock: 0.00MHz
[ 0.000000] Memory clock: 0.00MHz
[ 0.000000] Unhandled fault: alignment exception (0x003) at 0xc06f82cd
[ 0.000000] pgd = c0004000
[ 0.000000] [c06f82cd] *pgd=a060040e(bad)
[ 0.000000] Internal error: : 3 [#1] ARM
[ 0.000000] Modules linked in:
[ 0.000000] CPU: 0 PID: 0 Comm: swapper Not tainted 4.12.0-11927-g6bf3d68 #4582
[ 0.000000] Hardware name: Intel DBPXA250 Development Platform (aka Lubbock)
[ 0.000000] task: c06f6fd8 task.stack: c06f2000
[ 0.000000] PC is at __flush_whole_cache+0x4/0x60
[ 0.000000] LR is at paging_init+0x4b4/0x590
[ 0.000000] pc : [<c0019e24>] lr : [<c049d274>] psr: 600000d3
[ 0.000000] sp : c06f3f38 ip : 00000000 fp : c0700000
[ 0.000000] r10: a4000000 r9 : c06f82c0 r8 : c0723540
[ 0.000000] r7 : fe100000 r6 : fe200000 r5 : c06f82a0 r4 : c0705ef4
[ 0.000000] r3 : 00000000 r2 : 00000004 r1 : c06f82cd r0 : c06f82c0
[ 0.000000] Flags: nZCv IRQs off FIQs off Mode SVC_32 ISA ARM Segment none
[ 0.000000] Control: 0000397f Table: a0004000 DAC: 00000053
[ 0.000000] Process swapper (pid: 0, stack limit = 0xc06f2190)
[ 0.000000] Stack: (0xc06f3f38 to 0xc06f4000)
[ 0.000000] 3f20: 000a0000 000a0700
[ 0.000000] 3f40: c04b3b38 c0000000 ffff1000 000a3ffd 00001000 00000007 c04b3b38 c04b3b38
[ 0.000000] 3f60: c0008000 c06f3fd4 c04b5a28 c04b5a18 c0706084 c0723538 00000000 c049aaac
[ 0.000000] 3f80: 0000006c 0000397f 00000000 c004992c c040b5ad c06f3fb4 c06f3fb4 00000000
[ 0.000000] 3fa0: c06f5018 c04b5a24 c06f7e68 00000001 c06f5000 a04b3ad0 00000000 c0497904
[ 0.000000] 3fc0: 00000000 00000000 00000000 00000000 00000000 c04b5a28 c07234f4 c06f5018
[ 0.000000] 3fe0: c04b5a24 c06f7e68 a0004000 69052d06 a04b3ad0 a0008048 00000000 00000000
[ 0.000000] Code: e1a0f00e e3a02004 e3a0c000 e59f1314 (e5910000)
[ 0.000000] ---[ end trace 0000000000000000 ]---
[ 0.000000] Kernel panic - not syncing: Attempted to kill the idle task!
[ 0.000000] ---[ end Kernel panic - not syncing: Attempted to kill the idle task!
^ permalink raw reply [flat|nested] 11+ messages in thread
* [BUG] v4.12 breaks pxa25x
2017-07-17 6:41 [BUG] v4.12 breaks pxa25x Robert Jarzmik
@ 2017-07-17 8:15 ` Russell King - ARM Linux
2017-07-17 15:40 ` Robert Jarzmik
0 siblings, 1 reply; 11+ messages in thread
From: Russell King - ARM Linux @ 2017-07-17 8:15 UTC (permalink / raw)
To: linux-arm-kernel
On Mon, Jul 17, 2017 at 08:41:03AM +0200, Robert Jarzmik wrote:
> [ 0.000000] Unhandled fault: alignment exception (0x003) at 0xc06f82cd
> [ 0.000000] pgd = c0004000
> [ 0.000000] [c06f82cd] *pgd=a060040e(bad)
> [ 0.000000] Internal error: : 3 [#1] ARM
> [ 0.000000] Modules linked in:
> [ 0.000000] CPU: 0 PID: 0 Comm: swapper Not tainted 4.12.0-11927-g6bf3d68 #4582
> [ 0.000000] Hardware name: Intel DBPXA250 Development Platform (aka Lubbock)
> [ 0.000000] task: c06f6fd8 task.stack: c06f2000
> [ 0.000000] PC is at __flush_whole_cache+0x4/0x60
> [ 0.000000] LR is at paging_init+0x4b4/0x590
> [ 0.000000] pc : [<c0019e24>] lr : [<c049d274>] psr: 600000d3
> [ 0.000000] sp : c06f3f38 ip : 00000000 fp : c0700000
> [ 0.000000] r10: a4000000 r9 : c06f82c0 r8 : c0723540
> [ 0.000000] r7 : fe100000 r6 : fe200000 r5 : c06f82a0 r4 : c0705ef4
> [ 0.000000] r3 : 00000000 r2 : 00000004 r1 : c06f82cd r0 : c06f82c0
Looks like the .data section has become misaligned somehow. r1 is the
address of "clean_addr" which is clearly not 32-bit aligned.
Please can you check in System.map to see what's immediately before it?
--
RMK's Patch system: http://www.armlinux.org.uk/developer/patches/
FTTC broadband for 0.8mile line: currently at 9.6Mbps down 400kbps up
according to speedtest.net.
^ permalink raw reply [flat|nested] 11+ messages in thread
* [BUG] v4.12 breaks pxa25x
2017-07-17 8:15 ` Russell King - ARM Linux
@ 2017-07-17 15:40 ` Robert Jarzmik
2017-07-26 11:23 ` Robert Jarzmik
0 siblings, 1 reply; 11+ messages in thread
From: Robert Jarzmik @ 2017-07-17 15:40 UTC (permalink / raw)
To: linux-arm-kernel
Russell King - ARM Linux <linux@armlinux.org.uk> writes:
> On Mon, Jul 17, 2017 at 08:41:03AM +0200, Robert Jarzmik wrote:
>
>> [ 0.000000] Unhandled fault: alignment exception (0x003) at 0xc06f82cd
>> [ 0.000000] pgd = c0004000
>> [ 0.000000] [c06f82cd] *pgd=a060040e(bad)
>> [ 0.000000] Internal error: : 3 [#1] ARM
>> [ 0.000000] Modules linked in:
>> [ 0.000000] CPU: 0 PID: 0 Comm: swapper Not tainted 4.12.0-11927-g6bf3d68 #4582
>> [ 0.000000] Hardware name: Intel DBPXA250 Development Platform (aka Lubbock)
>> [ 0.000000] task: c06f6fd8 task.stack: c06f2000
>> [ 0.000000] PC is at __flush_whole_cache+0x4/0x60
>> [ 0.000000] LR is at paging_init+0x4b4/0x590
>> [ 0.000000] pc : [<c0019e24>] lr : [<c049d274>] psr: 600000d3
>> [ 0.000000] sp : c06f3f38 ip : 00000000 fp : c0700000
>> [ 0.000000] r10: a4000000 r9 : c06f82c0 r8 : c0723540
>> [ 0.000000] r7 : fe100000 r6 : fe200000 r5 : c06f82a0 r4 : c0705ef4
>> [ 0.000000] r3 : 00000000 r2 : 00000004 r1 : c06f82cd r0 : c06f82c0
>
> Looks like the .data section has become misaligned somehow. r1 is the
> address of "clean_addr" which is clearly not 32-bit aligned.
>
> Please can you check in System.map to see what's immediately before it?
Sure, it like this :
c06f22c8 D user_pmd_table
c06f22cc d __warned.19178
c06f22cd d clean_addr
And I have no idea how to link that __warned.19178 with the WARN_xxx() statement ...
This bisection I made points me to :
# first bad commit: [799c43415442414b1032580c47684cb709dfed6d] kbuild: thin archives make default for all archs
Reverting this commit makes my kernel boot again.
--
Robert
^ permalink raw reply [flat|nested] 11+ messages in thread
* [BUG] v4.12 breaks pxa25x
2017-07-17 15:40 ` Robert Jarzmik
@ 2017-07-26 11:23 ` Robert Jarzmik
2017-07-26 11:41 ` Russell King - ARM Linux
0 siblings, 1 reply; 11+ messages in thread
From: Robert Jarzmik @ 2017-07-26 11:23 UTC (permalink / raw)
To: linux-arm-kernel
Robert Jarzmik <robert.jarzmik@free.fr> writes:
> Russell King - ARM Linux <linux@armlinux.org.uk> writes:
>
>> On Mon, Jul 17, 2017 at 08:41:03AM +0200, Robert Jarzmik wrote:
>>
>>> [ 0.000000] Unhandled fault: alignment exception (0x003) at 0xc06f82cd
>>> [ 0.000000] pgd = c0004000
>>> [ 0.000000] [c06f82cd] *pgd=a060040e(bad)
>>> [ 0.000000] Internal error: : 3 [#1] ARM
>>> [ 0.000000] Modules linked in:
>>> [ 0.000000] CPU: 0 PID: 0 Comm: swapper Not tainted 4.12.0-11927-g6bf3d68 #4582
>>> [ 0.000000] Hardware name: Intel DBPXA250 Development Platform (aka Lubbock)
>>> [ 0.000000] task: c06f6fd8 task.stack: c06f2000
>>> [ 0.000000] PC is at __flush_whole_cache+0x4/0x60
>>> [ 0.000000] LR is at paging_init+0x4b4/0x590
>>> [ 0.000000] pc : [<c0019e24>] lr : [<c049d274>] psr: 600000d3
>>> [ 0.000000] sp : c06f3f38 ip : 00000000 fp : c0700000
>>> [ 0.000000] r10: a4000000 r9 : c06f82c0 r8 : c0723540
>>> [ 0.000000] r7 : fe100000 r6 : fe200000 r5 : c06f82a0 r4 : c0705ef4
>>> [ 0.000000] r3 : 00000000 r2 : 00000004 r1 : c06f82cd r0 : c06f82c0
>>
>> Looks like the .data section has become misaligned somehow. r1 is the
>> address of "clean_addr" which is clearly not 32-bit aligned.
>>
>> Please can you check in System.map to see what's immediately before it?
> Sure, it like this :
> c06f22c8 D user_pmd_table
> c06f22cc d __warned.19178
> c06f22cd d clean_addr
>
> And I have no idea how to link that __warned.19178 with the WARN_xxx() statement ...
>
> This bisection I made points me to :
> # first bad commit: [799c43415442414b1032580c47684cb709dfed6d] kbuild: thin archives make default for all archs
>
> Reverting this commit makes my kernel boot again.
Hi Russell,
I think I know where this is comming from.
- in file: ~/mio_linux/kernel/include/asm-generic/vmlinux.lds.h:206
- the definition of DATA_DATA looks like :
(*.data .data.[0-9a-zA-Z_]*)
...
*(.data.unlikely)
...
This doesn't look good to me, as .data.unlikely fullfills the first wildcard,
and the linker is allowed to mix .data and .data.unlikely symbols to its
pleasure, while .data.unlikely symbols (at least in my case) are not 4 bytes
multiples.
I'm clearly not a ld specialist, as I would have put a *(.data.unlikely) first
in DATA_DATA, an align statement, then continued with the current wildcards, but
that might not be the right approach.
If you suggest something else, I'll send a patch for it. If not, I'll send a
patch for my idea. And lastly, if it doesn't fit you, I'll have to modify the
PXA kconfig to toggle the default flag which triggers the error.
Cheers.
--
Robert
PS: In the meantime, I'll corner down which exact instruction and code is
creating the .data.unlikely 1 byte data.
^ permalink raw reply [flat|nested] 11+ messages in thread
* [BUG] v4.12 breaks pxa25x
2017-07-26 11:23 ` Robert Jarzmik
@ 2017-07-26 11:41 ` Russell King - ARM Linux
2017-07-26 12:03 ` Nicholas Piggin
0 siblings, 1 reply; 11+ messages in thread
From: Russell King - ARM Linux @ 2017-07-26 11:41 UTC (permalink / raw)
To: linux-arm-kernel
On Wed, Jul 26, 2017 at 01:23:15PM +0200, Robert Jarzmik wrote:
> Robert Jarzmik <robert.jarzmik@free.fr> writes:
> > Sure, it like this :
> > c06f22c8 D user_pmd_table
> > c06f22cc d __warned.19178
> > c06f22cd d clean_addr
> >
> > And I have no idea how to link that __warned.19178 with the WARN_xxx() statement ...
> >
> > This bisection I made points me to :
> > # first bad commit: [799c43415442414b1032580c47684cb709dfed6d] kbuild: thin archives make default for all archs
> >
> > Reverting this commit makes my kernel boot again.
>
> Hi Russell,
>
> I think I know where this is comming from.
> - in file: ~/mio_linux/kernel/include/asm-generic/vmlinux.lds.h:206
> - the definition of DATA_DATA looks like :
> (*.data .data.[0-9a-zA-Z_]*)
> ...
> *(.data.unlikely)
> ...
>
> This doesn't look good to me, as .data.unlikely fullfills the first wildcard,
> and the linker is allowed to mix .data and .data.unlikely symbols to its
> pleasure, while .data.unlikely symbols (at least in my case) are not 4 bytes
> multiples.
Obviously, the mixing of .data.unlikely with the normal .data sections
is undesirable - that looks like it's come from commit b67067f1176d
("kbuild: allow archs to select link dead code/data elimination") dated
2016, which according to git describe --contains was merged in v4.9-rc1.
So it's unlikely to be directly caused by this, although this commit is
implicated.
I wonder if Nick realised this side effect (that .data.unlikely is no
longer grouped together) - maybe we need to rename .data.unlikely?
(Adding Nick and Michal).
Anyway, I think this patch may resolve the problem you're seeing as well
- this should mark the .data sections in the ELF objects as requiring a
32-bit alignment - if you check with objdump -h, you should see the
"Algn" column for the .data section change from "2**0" to "2**2", which
should cause the linker to apply the appropriate alignment to the files
.data section.
We will have to ensure that all new .data statements have an appropriate
.align directive after them if the data requires alignment.
arch/arm/kernel/entry-armv.S | 2 ++
arch/arm/kernel/head.S | 2 ++
arch/arm/kernel/hyp-stub.S | 1 +
arch/arm/kernel/iwmmxt.S | 1 +
arch/arm/kernel/sleep.S | 1 +
arch/arm/mm/cache-v4wb.S | 1 +
arch/arm/mm/proc-xscale.S | 1 +
7 files changed, 9 insertions(+)
diff --git a/arch/arm/kernel/entry-armv.S b/arch/arm/kernel/entry-armv.S
index f2d2f9398adb..10ad44f3886a 100644
--- a/arch/arm/kernel/entry-armv.S
+++ b/arch/arm/kernel/entry-armv.S
@@ -721,6 +721,7 @@ ENDPROC(__und_usr)
*/
.pushsection .data
+ .align 2
ENTRY(fp_enter)
.word no_fp
.popsection
@@ -1026,6 +1027,7 @@ ENDPROC(vector_\name)
W(b) vector_fiq
.data
+ .align 2
.globl cr_alignment
cr_alignment:
diff --git a/arch/arm/kernel/head.S b/arch/arm/kernel/head.S
index 04286fd9e09c..6b1148cafffd 100644
--- a/arch/arm/kernel/head.S
+++ b/arch/arm/kernel/head.S
@@ -556,6 +556,7 @@ ENDPROC(__fixup_smp)
.word __smpalt_end
.pushsection .data
+ .align 2
.globl smp_on_up
smp_on_up:
ALT_SMP(.long 1)
@@ -716,6 +717,7 @@ ENTRY(fixup_pv_table)
ENDPROC(fixup_pv_table)
.data
+ .align 2
.globl __pv_phys_pfn_offset
.type __pv_phys_pfn_offset, %object
__pv_phys_pfn_offset:
diff --git a/arch/arm/kernel/hyp-stub.S b/arch/arm/kernel/hyp-stub.S
index ec7e7377d423..60146e32619a 100644
--- a/arch/arm/kernel/hyp-stub.S
+++ b/arch/arm/kernel/hyp-stub.S
@@ -31,6 +31,7 @@
* zeroing of .bss would clobber it.
*/
.data
+ .align 2
ENTRY(__boot_cpu_mode)
.long 0
.text
diff --git a/arch/arm/kernel/iwmmxt.S b/arch/arm/kernel/iwmmxt.S
index 49fadbda8c63..81cd4d43b3ec 100644
--- a/arch/arm/kernel/iwmmxt.S
+++ b/arch/arm/kernel/iwmmxt.S
@@ -367,6 +367,7 @@ ENTRY(iwmmxt_task_release)
ENDPROC(iwmmxt_task_release)
.data
+ .align 2
concan_owner:
.word 0
diff --git a/arch/arm/kernel/sleep.S b/arch/arm/kernel/sleep.S
index 0f6c1000582c..9f08d214d05a 100644
--- a/arch/arm/kernel/sleep.S
+++ b/arch/arm/kernel/sleep.S
@@ -171,6 +171,7 @@ ENDPROC(cpu_resume_arm)
.long mpidr_hash - . @ mpidr_hash struct offset
.data
+ .align 2
.type sleep_save_sp, #object
ENTRY(sleep_save_sp)
.space SLEEP_SAVE_SP_SZ @ struct sleep_save_sp
diff --git a/arch/arm/mm/cache-v4wb.S b/arch/arm/mm/cache-v4wb.S
index 2522f8c8fbb1..a5084ec70c6e 100644
--- a/arch/arm/mm/cache-v4wb.S
+++ b/arch/arm/mm/cache-v4wb.S
@@ -47,6 +47,7 @@
#define CACHE_DLIMIT (CACHE_DSIZE * 4)
.data
+ .align 2
flush_base:
.long FLUSH_BASE
.text
diff --git a/arch/arm/mm/proc-xscale.S b/arch/arm/mm/proc-xscale.S
index b6bbfdb6dfdc..3d75b7972fd1 100644
--- a/arch/arm/mm/proc-xscale.S
+++ b/arch/arm/mm/proc-xscale.S
@@ -104,6 +104,7 @@
.endm
.data
+ .align 2
clean_addr: .word CLEAN_ADDR
.text
--
RMK's Patch system: http://www.armlinux.org.uk/developer/patches/
FTTC broadband for 0.8mile line: currently at 9.6Mbps down 400kbps up
according to speedtest.net.
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [BUG] v4.12 breaks pxa25x
2017-07-26 11:41 ` Russell King - ARM Linux
@ 2017-07-26 12:03 ` Nicholas Piggin
2017-07-26 21:02 ` Robert Jarzmik
0 siblings, 1 reply; 11+ messages in thread
From: Nicholas Piggin @ 2017-07-26 12:03 UTC (permalink / raw)
To: linux-arm-kernel
On Wed, 26 Jul 2017 12:41:39 +0100
Russell King - ARM Linux <linux@armlinux.org.uk> wrote:
> On Wed, Jul 26, 2017 at 01:23:15PM +0200, Robert Jarzmik wrote:
> > Robert Jarzmik <robert.jarzmik@free.fr> writes:
> > > Sure, it like this :
> > > c06f22c8 D user_pmd_table
> > > c06f22cc d __warned.19178
> > > c06f22cd d clean_addr
> > >
> > > And I have no idea how to link that __warned.19178 with the WARN_xxx() statement ...
> > >
> > > This bisection I made points me to :
> > > # first bad commit: [799c43415442414b1032580c47684cb709dfed6d] kbuild: thin archives make default for all archs
> > >
> > > Reverting this commit makes my kernel boot again.
> >
> > Hi Russell,
> >
> > I think I know where this is comming from.
> > - in file: ~/mio_linux/kernel/include/asm-generic/vmlinux.lds.h:206
> > - the definition of DATA_DATA looks like :
> > (*.data .data.[0-9a-zA-Z_]*)
> > ...
> > *(.data.unlikely)
> > ...
> >
> > This doesn't look good to me, as .data.unlikely fullfills the first wildcard,
> > and the linker is allowed to mix .data and .data.unlikely symbols to its
> > pleasure, while .data.unlikely symbols (at least in my case) are not 4 bytes
> > multiples.
>
> Obviously, the mixing of .data.unlikely with the normal .data sections
> is undesirable - that looks like it's come from commit b67067f1176d
> ("kbuild: allow archs to select link dead code/data elimination") dated
> 2016, which according to git describe --contains was merged in v4.9-rc1.
> So it's unlikely to be directly caused by this, although this commit is
> implicated.
>
> I wonder if Nick realised this side effect (that .data.unlikely is no
> longer grouped together) - maybe we need to rename .data.unlikely?
> (Adding Nick and Michal).
I did to some degree -- hence TEXT was not done that way -- but obviously
did not look closely enough.
The right short term fix I think is to make those wildcards depend only on
CONFIG_LD_DEAD_CODE_DATA_ELIMINATION.
One way to avoid clashes with compiler generated section names is to use
".." as separators in our section names.
Anyway I'll code up a fix for the linker script that we can get into 4.12,
thanks for pointing it out.
Thanks,
Nick
^ permalink raw reply [flat|nested] 11+ messages in thread
* [BUG] v4.12 breaks pxa25x
2017-07-26 12:03 ` Nicholas Piggin
@ 2017-07-26 21:02 ` Robert Jarzmik
2017-07-27 2:08 ` Nicholas Piggin
2017-08-08 10:35 ` Russell King - ARM Linux
0 siblings, 2 replies; 11+ messages in thread
From: Robert Jarzmik @ 2017-07-26 21:02 UTC (permalink / raw)
To: linux-arm-kernel
Nicholas Piggin <npiggin@gmail.com> writes:
> On Wed, 26 Jul 2017 12:41:39 +0100
> Russell King - ARM Linux <linux@armlinux.org.uk> wrote:
>> Obviously, the mixing of .data.unlikely with the normal .data sections
>> is undesirable - that looks like it's come from commit b67067f1176d
>> ("kbuild: allow archs to select link dead code/data elimination") dated
>> 2016, which according to git describe --contains was merged in v4.9-rc1.
>> So it's unlikely to be directly caused by this, although this commit is
>> implicated.
>>
>> I wonder if Nick realised this side effect (that .data.unlikely is no
>> longer grouped together) - maybe we need to rename .data.unlikely?
>> (Adding Nick and Michal).
>
> I did to some degree -- hence TEXT was not done that way -- but obviously
> did not look closely enough.
>
> The right short term fix I think is to make those wildcards depend only on
> CONFIG_LD_DEAD_CODE_DATA_ELIMINATION.
>
> One way to avoid clashes with compiler generated section names is to use
> ".." as separators in our section names.
>
> Anyway I'll code up a fix for the linker script that we can get into 4.12,
> thanks for pointing it out.
Ok, cool. I'd like to be copied to your patch so that I can test it please.
For what is worth, your patch, Russell, fixes the issue as well, I just tested
it.
Cheers.
--
Robert
^ permalink raw reply [flat|nested] 11+ messages in thread
* [BUG] v4.12 breaks pxa25x
2017-07-26 21:02 ` Robert Jarzmik
@ 2017-07-27 2:08 ` Nicholas Piggin
2017-07-27 19:37 ` Robert Jarzmik
2017-08-08 10:35 ` Russell King - ARM Linux
1 sibling, 1 reply; 11+ messages in thread
From: Nicholas Piggin @ 2017-07-27 2:08 UTC (permalink / raw)
To: linux-arm-kernel
On Wed, 26 Jul 2017 23:02:46 +0200
Robert Jarzmik <robert.jarzmik@free.fr> wrote:
> Nicholas Piggin <npiggin@gmail.com> writes:
>
> > On Wed, 26 Jul 2017 12:41:39 +0100
> > Russell King - ARM Linux <linux@armlinux.org.uk> wrote:
> >> Obviously, the mixing of .data.unlikely with the normal .data sections
> >> is undesirable - that looks like it's come from commit b67067f1176d
> >> ("kbuild: allow archs to select link dead code/data elimination") dated
> >> 2016, which according to git describe --contains was merged in v4.9-rc1.
> >> So it's unlikely to be directly caused by this, although this commit is
> >> implicated.
> >>
> >> I wonder if Nick realised this side effect (that .data.unlikely is no
> >> longer grouped together) - maybe we need to rename .data.unlikely?
> >> (Adding Nick and Michal).
> >
> > I did to some degree -- hence TEXT was not done that way -- but obviously
> > did not look closely enough.
> >
> > The right short term fix I think is to make those wildcards depend only on
> > CONFIG_LD_DEAD_CODE_DATA_ELIMINATION.
> >
> > One way to avoid clashes with compiler generated section names is to use
> > ".." as separators in our section names.
> >
> > Anyway I'll code up a fix for the linker script that we can get into 4.12,
> > thanks for pointing it out.
> Ok, cool. I'd like to be copied to your patch so that I can test it please.
Hmm, I intended to cc you, but somehow failed that too. No wonder my
code has bugs :\
It's gone to linux-kbuild and linux-arm-kernel
http://marc.info/?l=linux-kbuild&m=150107320226315&q=raw
Or msg me privately I'll resend it to you.
Thanks,
Nick
^ permalink raw reply [flat|nested] 11+ messages in thread
* [BUG] v4.12 breaks pxa25x
2017-07-27 2:08 ` Nicholas Piggin
@ 2017-07-27 19:37 ` Robert Jarzmik
0 siblings, 0 replies; 11+ messages in thread
From: Robert Jarzmik @ 2017-07-27 19:37 UTC (permalink / raw)
To: linux-arm-kernel
Nicholas Piggin <npiggin@gmail.com> writes:
> Hmm, I intended to cc you, but somehow failed that too. No wonder my
> code has bugs :\
>
> It's gone to linux-kbuild and linux-arm-kernel
>
> http://marc.info/?l=linux-kbuild&m=150107320226315&q=raw
I verified your patch, it works. Could you please add :
Reported-by: Robert Jarzmik <robert.jarzmik@free.fr>
...
Tested-by: Robert Jarzmik <robert.jarzmik@free.fr>
Cheers.
--
Robert
^ permalink raw reply [flat|nested] 11+ messages in thread
* [BUG] v4.12 breaks pxa25x
2017-07-26 21:02 ` Robert Jarzmik
2017-07-27 2:08 ` Nicholas Piggin
@ 2017-08-08 10:35 ` Russell King - ARM Linux
2017-08-08 17:34 ` Robert Jarzmik
1 sibling, 1 reply; 11+ messages in thread
From: Russell King - ARM Linux @ 2017-08-08 10:35 UTC (permalink / raw)
To: linux-arm-kernel
On Wed, Jul 26, 2017 at 11:02:46PM +0200, Robert Jarzmik wrote:
> For what is worth, your patch, Russell, fixes the issue as well, I just
> tested it.
Shall I take that as permission to add a Tested-by line to the patch?
--
RMK's Patch system: http://www.armlinux.org.uk/developer/patches/
FTTC broadband for 0.8mile line in suburbia: sync at 8.8Mbps down 630kbps up
According to speedtest.net: 8.21Mbps down 510kbps up
^ permalink raw reply [flat|nested] 11+ messages in thread
* [BUG] v4.12 breaks pxa25x
2017-08-08 10:35 ` Russell King - ARM Linux
@ 2017-08-08 17:34 ` Robert Jarzmik
0 siblings, 0 replies; 11+ messages in thread
From: Robert Jarzmik @ 2017-08-08 17:34 UTC (permalink / raw)
To: linux-arm-kernel
Russell King - ARM Linux <linux@armlinux.org.uk> writes:
> On Wed, Jul 26, 2017 at 11:02:46PM +0200, Robert Jarzmik wrote:
>> For what is worth, your patch, Russell, fixes the issue as well, I just
>> tested it.
>
> Shall I take that as permission to add a Tested-by line to the patch?
Most certainly.
Tested-by: Robert Jarzmik <robert.jarzmik@free.fr>
Cheers.
--
Robert
^ permalink raw reply [flat|nested] 11+ messages in thread
end of thread, other threads:[~2017-08-08 17:34 UTC | newest]
Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-07-17 6:41 [BUG] v4.12 breaks pxa25x Robert Jarzmik
2017-07-17 8:15 ` Russell King - ARM Linux
2017-07-17 15:40 ` Robert Jarzmik
2017-07-26 11:23 ` Robert Jarzmik
2017-07-26 11:41 ` Russell King - ARM Linux
2017-07-26 12:03 ` Nicholas Piggin
2017-07-26 21:02 ` Robert Jarzmik
2017-07-27 2:08 ` Nicholas Piggin
2017-07-27 19:37 ` Robert Jarzmik
2017-08-08 10:35 ` Russell King - ARM Linux
2017-08-08 17:34 ` Robert Jarzmik
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.