All of lore.kernel.org
 help / color / mirror / Atom feed
From: Nathan Chancellor <nathan@kernel.org>
To: Nick Desaulniers <ndesaulniers@google.com>
Cc: oe-kbuild-all@lists.linux.dev,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	John Keeping <john@metanate.com>,
	llvm@lists.linux.dev, kernel test robot <lkp@intel.com>
Subject: Re: [stable:linux-4.19.y 984/6017] ld.lld: error: drivers/usb/dwc2/platform.o: contains a compressed section, but zlib is not available
Date: Fri, 26 May 2023 08:24:58 -0700	[thread overview]
Message-ID: <20230526152458.GA395537@dev-arch.thelio-3990X> (raw)
In-Reply-To: <CAKwvOd=QY_QNWP2+nofvowbCD66noajsY8q1xe-MamV_gF3TPA@mail.gmail.com>

On Thu, May 25, 2023 at 02:21:24PM -0700, Nick Desaulniers wrote:
> On Thu, May 25, 2023 at 12:44 AM kernel test robot <lkp@intel.com> wrote:
> >
> > tree:   https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git linux-4.19.y
> > head:   3f57fb8b1bd06b277556601133823bec370d723f
> > commit: c964b1bbf179a163084b1ec8ad094b8c8dce28c8 [984/6017] usb: dwc2: hcd_queue: Fix use of floating point literal
> > config: x86_64-randconfig-x093-20230524
> > compiler: clang version 14.0.6 (https://github.com/llvm/llvm-project f28c006a5895fc0e329fe15fead81e37457cb1d1)
> > reproduce (this is a W=1 build):
> >         mkdir -p ~/bin
> >         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/stable/linux-stable.git/commit/?id=c964b1bbf179a163084b1ec8ad094b8c8dce28c8
> >         git remote add stable https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git
> >         git fetch --no-tags stable linux-4.19.y
> >         git checkout c964b1bbf179a163084b1ec8ad094b8c8dce28c8
> >         # save the config file
> >         mkdir build_dir && cp config build_dir/.config
> >         COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang ~/bin/make.cross W=1 O=build_dir ARCH=x86_64 olddefconfig
> >         COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang ~/bin/make.cross W=1 O=build_dir ARCH=x86_64 SHELL=/bin/bash drivers/usb/
> >
> > If you fix the issue, kindly add following tag where applicable
> > | Reported-by: kernel test robot <lkp@intel.com>
> > | Closes: https://lore.kernel.org/oe-kbuild-all/202305251508.iFEInYVW-lkp@intel.com/
> >
> > All errors (new ones prefixed by >>):
> >
> >    ld.lld: error: drivers/usb/dwc2/core.o: contains a compressed section, but zlib is not available
> 
> Hmmm...that's surprising to see on 4.19.  I didn't add support for
> compressed debug info until:
> 
> commit 10e68b02c861 ("Makefile: support compressed debug info")
> 
> which landed in v5.8-rc1 and AFAIK was never backported.
> 
> I wasn't able to reproduce this with ToT LLVM (clang-17); I wonder if
> this is an issue with clang-14?

Something I was thinking about yesterday is that binutils has a bunch of
configure flags to control default behavior and one of those is
compressed debug sections on by default:

  --enable-compressed-debug-sections={all,gas,gold,ld,none}
                          Enable compressed debug sections for gas, gold or ld
                          by default

Is it possible that the version of binutils that the kernel test robot
uses has compressed debug sections enabled by default for gas? Although,
if I am reading make.cross correctly (linked above), it seems like the
integrated assembler should be used in this case... It would be really
helpful to have the exact make command that the robot used in the report
to know for sure. I do not see a similar switch available for LLVM and
even then, I would not expect to see the same issue because we should
not even have the ability to generate a compressed debug section if zlib
was not available.

> Just tried and could not reproduce.  Has this issue been seen elsewhere?
> 
> Ah, we have
> 
> https://lore.kernel.org/llvm/?q=contains+a+compressed+section%2C+but+zlib+is+not+available
> https://lore.kernel.org/llvm/20230404161735.GA1703291@dev-arch.thelio-3990X/
> 
> So since 10e68b02c861 is in v5.8-rc1, then for 4.14, 4.19, and 5.4 we
> probably want a stable-only patch for -gz=none.
> 
> GCC didn't support -gz=none until 5.1, so that might be an issue for
> older branches of stable which might still support older GCC versions.
> 4.19.y still supports gcc 4.6.
> 
> ```
> diff --git a/Makefile b/Makefile
> index 71416fde7348..e6754300021c 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -756,6 +756,7 @@ KBUILD_AFLAGS       += -g
>  else
>  KBUILD_AFLAGS  += -Wa,-gdwarf-2
>  endif
> +KBUILD_CFLAGS  += $(call cc-option, -gz=none)
>  endif
> 
>  ifdef CONFIG_DEBUG_INFO_DWARF4
> ```
> 
> Godbolt only binutils v2.27+, but 4.19 supported v2.20+ (so I can't
> check --compress-debug-sections=none assembler support quickly).

You could do

  KBUILD_AFLAGS   += $(as-option, -Wa$(comma)--compress-debug-sections=none)

no?

> >    ld.lld: error: drivers/usb/dwc2/core.o: contains a compressed section, but zlib is not available
> >    ld.lld: error: drivers/usb/dwc2/core.o: contains a compressed section, but zlib is not available
> >    ld.lld: error: drivers/usb/dwc2/core.o: contains a compressed section, but zlib is not available
> >    ld.lld: error: drivers/usb/dwc2/core.o: contains a compressed section, but zlib is not available
> >    ld.lld: error: drivers/usb/dwc2/core.o: contains a compressed section, but zlib is not available
> >    ld.lld: error: drivers/usb/dwc2/core.o: contains a compressed section, but zlib is not available
> >    ld.lld: error: drivers/usb/dwc2/core.o: contains a compressed section, but zlib is not available
> >    ld.lld: error: drivers/usb/dwc2/core.o: contains a compressed section, but zlib is not available
> >    ld.lld: error: drivers/usb/dwc2/core.o: contains a compressed section, but zlib is not available
> >    ld.lld: error: drivers/usb/dwc2/core_intr.o: contains a compressed section, but zlib is not available
> >    ld.lld: error: drivers/usb/dwc2/core_intr.o: contains a compressed section, but zlib is not available
> >    ld.lld: error: drivers/usb/dwc2/core_intr.o: contains a compressed section, but zlib is not available
> >    ld.lld: error: drivers/usb/dwc2/core_intr.o: contains a compressed section, but zlib is not available
> >    ld.lld: error: drivers/usb/dwc2/core_intr.o: contains a compressed section, but zlib is not available
> >    ld.lld: error: drivers/usb/dwc2/core_intr.o: contains a compressed section, but zlib is not available
> >    ld.lld: error: drivers/usb/dwc2/core_intr.o: contains a compressed section, but zlib is not available
> >    ld.lld: error: drivers/usb/dwc2/core_intr.o: contains a compressed section, but zlib is not available
> >    ld.lld: error: drivers/usb/dwc2/core_intr.o: contains a compressed section, but zlib is not available
> > >> ld.lld: error: drivers/usb/dwc2/platform.o: contains a compressed section, but zlib is not available
> >    ld.lld: error: too many errors emitted, stopping now (use -error-limit=0 to see all errors)

Cheers,
Nathan

  reply	other threads:[~2023-05-26 15:25 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-05-25  7:44 [stable:linux-4.19.y 984/6017] ld.lld: error: drivers/usb/dwc2/platform.o: contains a compressed section, but zlib is not available kernel test robot
2023-05-25 21:21 ` Nick Desaulniers
2023-05-26 15:24   ` Nathan Chancellor [this message]
2023-05-28  3:58     ` Philip Li
2023-05-30 17:09       ` Nick Desaulniers
2023-06-05  4:19         ` Philip Li

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20230526152458.GA395537@dev-arch.thelio-3990X \
    --to=nathan@kernel.org \
    --cc=gregkh@linuxfoundation.org \
    --cc=john@metanate.com \
    --cc=lkp@intel.com \
    --cc=llvm@lists.linux.dev \
    --cc=ndesaulniers@google.com \
    --cc=oe-kbuild-all@lists.linux.dev \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.