arch/powerpc/kernel/head_44x.S:601: Error: invalid operands and sections) for `|'

From: kernel test robot
Date: Sun Jan 10 2021 - 17:20:36 EST


Hi Christophe,

First bad commit (maybe != root cause):

tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 0653161f0faca68b77b3f36fb4b4b9b8b07050e5
commit: 03fd42d458fb9cb69e712600bd69ff77ff3a45a8 powerpc/fixmap: Fix FIX_EARLY_DEBUG_BASE when page size is 256k
date: 7 months ago
config: powerpc64-randconfig-r034-20210111 (attached as .config)
compiler: powerpc-linux-gcc (GCC) 9.3.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=03fd42d458fb9cb69e712600bd69ff77ff3a45a8
git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git fetch --no-tags linus master
git checkout 03fd42d458fb9cb69e712600bd69ff77ff3a45a8
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=powerpc64

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@xxxxxxxxx>

All error/warnings (new ones prefixed by >>):

fs/ntfs/mft.c: In function 'ntfs_sync_mft_mirror':
>> fs/ntfs/mft.c:627:1: warning: the frame size of 2096 bytes is larger than 1024 bytes [-Wframe-larger-than=]
627 | }
| ^
fs/ntfs/mft.c: In function 'write_mft_record_nolock':
fs/ntfs/mft.c:839:1: warning: the frame size of 2096 bytes is larger than 1024 bytes [-Wframe-larger-than=]
839 | }
| ^
--
fs/buffer.c: In function 'block_read_full_page':
>> fs/buffer.c:2343:1: warning: the frame size of 2064 bytes is larger than 1024 bytes [-Wframe-larger-than=]
2343 | }
| ^
--
arch/powerpc/kernel/head_44x.S: Assembler messages:
>> arch/powerpc/kernel/head_44x.S:601: Error: invalid operands (*ABS* and *UND* sections) for `|'
arch/powerpc/kernel/head_44x.S:684: Error: invalid operands (*ABS* and *UND* sections) for `|'
--
fs/ext4/move_extent.c: In function 'mext_page_mkuptodate':
>> fs/ext4/move_extent.c:227:1: warning: the frame size of 2048 bytes is larger than 1024 bytes [-Wframe-larger-than=]
227 | }
| ^
--
fs/fat/dir.c: In function 'fat_add_new_entries':
>> fs/fat/dir.c:1279:1: warning: the frame size of 2112 bytes is larger than 1024 bytes [-Wframe-larger-than=]
1279 | }
| ^
fs/fat/dir.c: In function 'fat_alloc_new_dir':
fs/fat/dir.c:1195:1: warning: the frame size of 2064 bytes is larger than 1024 bytes [-Wframe-larger-than=]
1195 | }
| ^
--
fs/fat/fatent.c: In function 'fat_free_clusters':
>> fs/fat/fatent.c:632:1: warning: the frame size of 2080 bytes is larger than 1024 bytes [-Wframe-larger-than=]
632 | }
| ^
fs/fat/fatent.c: In function 'fat_alloc_clusters':
fs/fat/fatent.c:550:1: warning: the frame size of 2136 bytes is larger than 1024 bytes [-Wframe-larger-than=]
550 | }
| ^
--
fs/exfat/fatent.c: In function 'exfat_zeroed_cluster':
>> fs/exfat/fatent.c:311:1: warning: the frame size of 2064 bytes is larger than 1024 bytes [-Wframe-larger-than=]
311 | }
| ^
--
drivers/media/common/saa7146/saa7146_hlp.c: In function 'calculate_clipping_registers_rect.isra.0':
>> drivers/media/common/saa7146/saa7146_hlp.c:465:1: warning: the frame size of 1168 bytes is larger than 1024 bytes [-Wframe-larger-than=]
465 | }
| ^

Kconfig warnings: (for reference only)
WARNING: unmet direct dependencies detected for NETDEVICES
Depends on NET
Selected by
- AKEBONO && PPC_47x
WARNING: unmet direct dependencies detected for ETHERNET
Depends on NETDEVICES && NET
Selected by
- AKEBONO && PPC_47x
WARNING: unmet direct dependencies detected for NET_DEVLINK
Depends on NET
Selected by
- BNXT && NETDEVICES && ETHERNET && NET_VENDOR_BROADCOM && PCI
- NFP && NETDEVICES && ETHERNET && NET_VENDOR_NETRONOME && PCI && PCI_MSI && (VXLAN || VXLAN && (TLS && TLS_DEVICE || !TLS_DEVICE
WARNING: unmet direct dependencies detected for FAILOVER
Depends on NET
Selected by
- NET_FAILOVER && NETDEVICES
WARNING: unmet direct dependencies detected for PAGE_POOL
Depends on NET
Selected by
- BNXT && NETDEVICES && ETHERNET && NET_VENDOR_BROADCOM && PCI


vim +601 arch/powerpc/kernel/head_44x.S

e7f75ad01d590243 Dave Kleikamp 2010-03-05 577
e7f75ad01d590243 Dave Kleikamp 2010-03-05 578 /* Mask of required permission bits. Note that while we
e7f75ad01d590243 Dave Kleikamp 2010-03-05 579 * do copy ESR:ST to _PAGE_RW position as trying to write
e7f75ad01d590243 Dave Kleikamp 2010-03-05 580 * to an RO page is pretty common, we don't do it with
e7f75ad01d590243 Dave Kleikamp 2010-03-05 581 * _PAGE_DIRTY. We could do it, but it's a fairly rare
e7f75ad01d590243 Dave Kleikamp 2010-03-05 582 * event so I'd rather take the overhead when it happens
e7f75ad01d590243 Dave Kleikamp 2010-03-05 583 * rather than adding an instruction here. We should measure
e7f75ad01d590243 Dave Kleikamp 2010-03-05 584 * whether the whole thing is worth it in the first place
e7f75ad01d590243 Dave Kleikamp 2010-03-05 585 * as we could avoid loading SPRN_ESR completely in the first
e7f75ad01d590243 Dave Kleikamp 2010-03-05 586 * place...
e7f75ad01d590243 Dave Kleikamp 2010-03-05 587 *
e7f75ad01d590243 Dave Kleikamp 2010-03-05 588 * TODO: Is it worth doing that mfspr & rlwimi in the first
e7f75ad01d590243 Dave Kleikamp 2010-03-05 589 * place or can we save a couple of instructions here ?
e7f75ad01d590243 Dave Kleikamp 2010-03-05 590 */
e7f75ad01d590243 Dave Kleikamp 2010-03-05 591 mfspr r12,SPRN_ESR
e7f75ad01d590243 Dave Kleikamp 2010-03-05 592 li r13,_PAGE_PRESENT|_PAGE_ACCESSED
e7f75ad01d590243 Dave Kleikamp 2010-03-05 593 rlwimi r13,r12,10,30,30
e7f75ad01d590243 Dave Kleikamp 2010-03-05 594
e7f75ad01d590243 Dave Kleikamp 2010-03-05 595 /* Load the PTE */
e7f75ad01d590243 Dave Kleikamp 2010-03-05 596 /* Compute pgdir/pmd offset */
e7f75ad01d590243 Dave Kleikamp 2010-03-05 597 rlwinm r12,r10,PPC44x_PGD_OFF_SHIFT,PPC44x_PGD_OFF_MASK_BIT,29
e7f75ad01d590243 Dave Kleikamp 2010-03-05 598 lwzx r11,r12,r11 /* Get pgd/pmd entry */
e7f75ad01d590243 Dave Kleikamp 2010-03-05 599
e7f75ad01d590243 Dave Kleikamp 2010-03-05 600 /* Word 0 is EPN,V,TS,DSIZ */
e7f75ad01d590243 Dave Kleikamp 2010-03-05 @601 li r12,PPC47x_TLB0_VALID | PPC47x_TLBE_SIZE
e7f75ad01d590243 Dave Kleikamp 2010-03-05 602 rlwimi r10,r12,0,32-PAGE_SHIFT,31 /* Insert valid and page size*/
e7f75ad01d590243 Dave Kleikamp 2010-03-05 603 li r12,0
e7f75ad01d590243 Dave Kleikamp 2010-03-05 604 tlbwe r10,r12,0
e7f75ad01d590243 Dave Kleikamp 2010-03-05 605
e7f75ad01d590243 Dave Kleikamp 2010-03-05 606 /* XXX can we do better ? Need to make sure tlbwe has established
e7f75ad01d590243 Dave Kleikamp 2010-03-05 607 * latch V bit in MMUCR0 before the PTE is loaded further down */
e7f75ad01d590243 Dave Kleikamp 2010-03-05 608 #ifdef CONFIG_SMP
e7f75ad01d590243 Dave Kleikamp 2010-03-05 609 isync
e7f75ad01d590243 Dave Kleikamp 2010-03-05 610 #endif
e7f75ad01d590243 Dave Kleikamp 2010-03-05 611
e7f75ad01d590243 Dave Kleikamp 2010-03-05 612 rlwinm. r12,r11,0,0,20 /* Extract pt base address */
e7f75ad01d590243 Dave Kleikamp 2010-03-05 613 /* Compute pte address */
e7f75ad01d590243 Dave Kleikamp 2010-03-05 614 rlwimi r12,r10,PPC44x_PTE_ADD_SHIFT,PPC44x_PTE_ADD_MASK_BIT,28
e7f75ad01d590243 Dave Kleikamp 2010-03-05 615 beq 2f /* Bail if no table */
e7f75ad01d590243 Dave Kleikamp 2010-03-05 616 lwz r11,0(r12) /* Get high word of pte entry */
e7f75ad01d590243 Dave Kleikamp 2010-03-05 617
e7f75ad01d590243 Dave Kleikamp 2010-03-05 618 /* XXX can we do better ? maybe insert a known 0 bit from r11 into the
e7f75ad01d590243 Dave Kleikamp 2010-03-05 619 * bottom of r12 to create a data dependency... We can also use r10
e7f75ad01d590243 Dave Kleikamp 2010-03-05 620 * as destination nowadays
e7f75ad01d590243 Dave Kleikamp 2010-03-05 621 */
e7f75ad01d590243 Dave Kleikamp 2010-03-05 622 #ifdef CONFIG_SMP
e7f75ad01d590243 Dave Kleikamp 2010-03-05 623 lwsync
e7f75ad01d590243 Dave Kleikamp 2010-03-05 624 #endif
e7f75ad01d590243 Dave Kleikamp 2010-03-05 625 lwz r12,4(r12) /* Get low word of pte entry */
e7f75ad01d590243 Dave Kleikamp 2010-03-05 626
e7f75ad01d590243 Dave Kleikamp 2010-03-05 627 andc. r13,r13,r12 /* Check permission */
e7f75ad01d590243 Dave Kleikamp 2010-03-05 628
e7f75ad01d590243 Dave Kleikamp 2010-03-05 629 /* Jump to common tlb load */
e7f75ad01d590243 Dave Kleikamp 2010-03-05 630 beq finish_tlb_load_47x
e7f75ad01d590243 Dave Kleikamp 2010-03-05 631

:::::: The code at line 601 was first introduced by commit
:::::: e7f75ad01d590243904c2d95ab47e6b2e9ef6dad powerpc/47x: Base ppc476 support

:::::: TO: Dave Kleikamp <shaggy@xxxxxxxxxxxxxxxxxx>
:::::: CC: Josh Boyer <jwboyer@xxxxxxxxxxxxxxxxxx>

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@xxxxxxxxxxxx

Attachment: .config.gz
Description: application/gzip