Bug 220055 - armv6 kernel fails to link with LLD: incompatible section flags for .bss
Summary: armv6 kernel fails to link with LLD: incompatible section flags for .bss
Status: Closed FIXED
Alias: None
Product: Base System
Classification: Unclassified
Component: arm (show other bugs)
Version: CURRENT
Hardware: Any Any
: --- Affects Only Me
Assignee: Ed Maste
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2017-06-16 18:18 UTC by Ed Maste
Modified: 2017-07-16 17:06 UTC (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Ed Maste freebsd_committer freebsd_triage 2017-06-16 18:18:30 UTC
linking kernel.full
ld: error: incompatible section flags for .bss
>>> locore.o:(.init_pagetable): 0x0
>>> output section .bss: 0x3
*** Error code 1

LLD reproduction tarball at https://people.freebsd.org/~emaste/lld/lld_armv6_kernel_section_flags.tar.xz
Comment 1 commit-hook freebsd_committer freebsd_triage 2017-06-17 14:46:58 UTC
A commit references this bug:

Author: emaste
Date: Sat Jun 17 14:46:15 UTC 2017
New revision: 320056
URL: https://svnweb.freebsd.org/changeset/base/320056

Log:
  arm: set appropriate section flags for .init_pagetable

  The arm kernel linker scripts place the .init_pagetable section in .bss,
  but .init_pagetable had no section flags set, and so did not match the
  expected flags for .bss.

  GNU ld silently ignores this case, but lld reports an error:

  ld: error: incompatible section flags for .bss
  >>> locore.o:(.init_pagetable): 0x0
  >>> output section .bss: 0x3

  PR:		220055
  Submitted by:	mmel, Rafael Esp?ndola
  MFC after:	3 weeks
  Sponsored by:	The FreeBSD Foundation

Changes:
  head/sys/arm/arm/locore-v4.S
  head/sys/arm/arm/locore-v6.S
Comment 2 commit-hook freebsd_committer freebsd_triage 2017-07-16 17:05:20 UTC
A commit references this bug:

Author: emaste
Date: Sun Jul 16 17:04:57 UTC 2017
New revision: 321049
URL: https://svnweb.freebsd.org/changeset/base/321049

Log:
  MFC r320056: arm: set appropriate section flags for .init_pagetable

  The arm kernel linker scripts place the .init_pagetable section in .bss,
  but .init_pagetable had no section flags set, and so did not match the
  expected flags for .bss.

  GNU ld silently ignores this case, but lld reports an error:

  ld: error: incompatible section flags for .bss
  >>> locore.o:(.init_pagetable): 0x0
  >>> output section .bss: 0x3

  PR:		220055
  Sponsored by:	The FreeBSD Foundation

Changes:
_U  stable/11/
  stable/11/sys/arm/arm/locore-v4.S
  stable/11/sys/arm/arm/locore-v6.S