On Tuesday, October 3, 2017 9:41:23 PM CEST Moore, Robert wrote: > > > -----Original Message----- > > From: rjwysocki@gmail.com [mailto:rjwysocki@gmail.com] On Behalf Of > > Rafael J. Wysocki > > Sent: Tuesday, October 3, 2017 11:21 AM > > To: Moore, Robert > > Cc: Rafael J. Wysocki ; Zheng, Lv > > ; Wu, Fengguang ; kbuild- > > all@01.org; linux-acpi@vger.kernel.org; devel@acpica.org; linux- > > pm@vger.kernel.org > > Subject: Re: [pm:bleeding-edge 12/41] utstrsuppt.c:undefined reference > > to `__udivdi3' > > > > On Tue, Oct 3, 2017 at 6:43 PM, Moore, Robert > > wrote: > > > > > > > > >> -----Original Message----- > > >> From: Rafael J. Wysocki [mailto:rjw@rjwysocki.net] > > >> Sent: Tuesday, October 3, 2017 4:32 AM > > >> To: Moore, Robert ; Zheng, Lv > > >> > > >> Cc: Wu, Fengguang ; kbuild-all@01.org; linux- > > >> acpi@vger.kernel.org; devel@acpica.org; linux-pm@vger.kernel.org > > >> Subject: Re: [pm:bleeding-edge 12/41] utstrsuppt.c:undefined > > >> reference to `__udivdi3' > > >> > > >> On Tuesday, October 3, 2017 4:25:52 AM CEST kbuild test robot wrote: > > >> > tree: > > https://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux- > > >> pm.git bleeding-edge > > >> > head: 09b089a247ea7272df93a2116368bf24b656cd65 > > >> > commit: 05545b3fb6eab35290413211617793bc274e136b [12/41] ACPICA: > > >> Restructure/cleanup all string-to-integer conversion functions > > >> > config: i386-defconfig (attached as .config) > > >> > compiler: gcc-6 (Debian 6.2.0-3) 6.2.0 20160901 > > >> > reproduce: > > >> > git checkout 05545b3fb6eab35290413211617793bc274e136b > > >> > # save the attached .config to linux build tree > > >> > make ARCH=i386 > > >> > > > >> > All errors (new ones prefixed by >>): > > >> > > > >> > drivers/acpi/acpica/utstrsuppt.o: In function > > >> `acpi_ut_insert_digit': > > >> > >> utstrsuppt.c:(.text+0x33): undefined reference to `__udivdi3' > > >> > > >> __udivdi3() doesn't work on 32-bit x86 AFAICS. > > >> > > >> Can we avoid using it or at least put it under #ifdef somehow? > > > [Moore, Robert] > > > > > > > > > I take it that __udivdi3 is a 64-bit divide? > > > > Practically, yes (AFAICS). > > > > > We do have a local divide implementation(s) for things like this. > > > > > > However, I don't see a divide in ut_insert_digit; There is a 64-bit > > divide in ut_strtoul_add_64, however. > [Moore, Robert] > > Oops, sorry. The divided is in strtoul_multiply_64. We are checking for an > overflow condition up front. But this is a plain division, so it looks like a build system or compiler issue to me. Thanks, Rafael