[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <317af5ed-fc8b-42d7-aa4a-143f8cf3ab04@t-8ch.de>
Date: Sat, 7 Feb 2026 16:33:59 +0100
From: Thomas Weißschuh <linux@...ssschuh.net>
To: Guenter Roeck <linux@...ck-us.net>
Cc: kernel test robot <lkp@...el.com>, oe-kbuild-all@...ts.linux.dev,
Tzung-Bi Shih <tzungbi@...nel.org>, linux-kernel@...r.kernel.org
Subject: Re: [linux-next:master 10251/12094] drivers/hwmon/cros_ec_hwmon.o:
error: objtool: cros_ec_hwmon_read+0x6c: can't find jump dest instruction at
.text+0xd2d
On 2026-02-07 07:07:13-0800, Guenter Roeck wrote:
> On 2/7/26 02:56, Thomas Weißschuh wrote:
> > On 2026-02-07 13:14:53+0800, kernel test robot wrote:
> > > tree: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master
> > > head: 9845cf73f7db6094c0d8419d6adb848028f4a921
> > > commit: 165c14597d53cfa7bc97b4ff8bc85f7bd98262b7 [10251/12094] hwmon: (cros_ec) Add support for temperature thresholds
> > > config: x86_64-randconfig-071-20260207 (https://download.01.org/0day-ci/archive/20260207/202602071311.Q6tATiyh-lkp@intel.com/config)
> > > compiler: gcc-14 (Debian 14.2.0-19) 14.2.0
> > > reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260207/202602071311.Q6tATiyh-lkp@intel.com/reproduce)
> > >
> > > If you fix the issue in a separate patch/commit (i.e. not just a new version of
> > > the same patch/commit), kindly add following tags
> > > | Reported-by: kernel test robot <lkp@...el.com>
> > > | Closes: https://lore.kernel.org/oe-kbuild-all/202602071311.Q6tATiyh-lkp@intel.com/
> > >
> > > All errors (new ones prefixed by >>):
> > >
> > > > > drivers/hwmon/cros_ec_hwmon.o: error: objtool: cros_ec_hwmon_read+0x6c: can't find jump dest instruction at .text+0xd2d
> >
> > This is due to the call to unreachable() in cros_ec_hwmon_attr_to_thres().
> > Replacing it with BUG() avoids the issue.
> >
> > Guenter, do you want to drop the patches for now and I'll resend them
> > next cycle? I can also send an incremental patch. Or you just fix it up
> > in your branch.
> >
>
> I strongly dislike BUG() because it means "I don't trust my own code".
Agreed, I am not a fan either, which is why I used unreachable()
originally.
> The final "else" in the code is not really necessary and should be dropped.
That will trigger a compiler warning:
drivers/hwmon/cros_ec_hwmon.c:170:1: error: control reaches end of non-void function [-Werror=return-type]
170 | }
| ^
> I can do that if you like, but I won't introduce BUG().
Another alternative would be to use __builtin_trap(),
but that feels too low-level for driver code.
Or we return a dummy value, knowing that it will never actually happen.
I'm a open for other suggestions.
Weirdly enough the objtool warning only seems to happen on GCC 14.2,
my system GCC 15.2 is not affected. Not that it will make a difference
in practice.
Thomas
Powered by blists - more mailing lists