[BUG] sandbox_defconfig fails to build with origin/master dadc1e38306b1c3

classic Classic list List threaded Threaded
6 messages Options
Reply | Threaded
Open this post in threaded view
|

[BUG] sandbox_defconfig fails to build with origin/master dadc1e38306b1c3

Heinrich Schuchardt
Hello Tom, hello Simon,

make sandbox_defconfig
make V=1

yields:

make -f ./scripts/Makefile.build obj=test/log
  gcc -Wp,-MD,test/log/.syslog_test.o.d -nostdinc -isystem
/usr/lib/gcc/x86_64-linux-gnu/10/include -Iinclude
-I./arch/sandbox/include -include ./include/linux/kconfig.h -D__KERNEL__
-D__UBOOT__ -Wall -Wstrict-prototypes -Wno-format-security -fno-builtin
-ffreestanding -std=gnu11 -fshort-wchar -fno-strict-aliasing -fno-PIE
-Os -fno-stack-protector -fno-delete-null-pointer-checks
-Wno-stringop-truncation -Wno-maybe-uninitialized -fmacro-prefix-map=./=
-g -fstack-usage -Wno-format-nonliteral -Wno-address-of-packed-member
-Wno-unused-but-set-variable -Werror=date-time -Werror -D__SANDBOX__
-U_FORTIFY_SOURCE -DCONFIG_ARCH_MAP_SYSMEM -fPIC -I/usr/include/SDL2
-D_REENTRANT -pipe    -DKBUILD_BASENAME='"syslog_test"'
-DKBUILD_MODNAME='"syslog_test"' -c -o test/log/syslog_test.o
test/log/syslog_test.c
test/log/syslog_test.c:21:10: fatal error: syslog_test.h: No such file
or directory
   21 | #include <syslog_test.h>
      |          ^~~~~~~~~~~~~~~
compilation terminated.

git bisect:

52d3df7fefe30b05677db9055e68c666a071d89a is the first bad commit
commit 52d3df7fefe30b05677db9055e68c666a071d89a
Author: Simon Glass <[hidden email]>
Date:   Sat Sep 12 11:13:34 2020 -0600

    log: Allow LOG_DEBUG to always enable log output

@Tom:
Why are such build failures not detected before merging?

Best regards

Heinrich
Reply | Threaded
Open this post in threaded view
|

Re: [BUG] sandbox_defconfig fails to build with origin/master dadc1e38306b1c3

Heinrich Schuchardt
On 10/17/20 1:43 PM, Heinrich Schuchardt wrote:

> Hello Tom, hello Simon,
>
> make sandbox_defconfig
> make V=1
>
> yields:
>
> make -f ./scripts/Makefile.build obj=test/log
>   gcc -Wp,-MD,test/log/.syslog_test.o.d -nostdinc -isystem
> /usr/lib/gcc/x86_64-linux-gnu/10/include -Iinclude
> -I./arch/sandbox/include -include ./include/linux/kconfig.h -D__KERNEL__
> -D__UBOOT__ -Wall -Wstrict-prototypes -Wno-format-security -fno-builtin
> -ffreestanding -std=gnu11 -fshort-wchar -fno-strict-aliasing -fno-PIE
> -Os -fno-stack-protector -fno-delete-null-pointer-checks
> -Wno-stringop-truncation -Wno-maybe-uninitialized -fmacro-prefix-map=./=
> -g -fstack-usage -Wno-format-nonliteral -Wno-address-of-packed-member
> -Wno-unused-but-set-variable -Werror=date-time -Werror -D__SANDBOX__
> -U_FORTIFY_SOURCE -DCONFIG_ARCH_MAP_SYSMEM -fPIC -I/usr/include/SDL2
> -D_REENTRANT -pipe    -DKBUILD_BASENAME='"syslog_test"'
> -DKBUILD_MODNAME='"syslog_test"' -c -o test/log/syslog_test.o
> test/log/syslog_test.c
> test/log/syslog_test.c:21:10: fatal error: syslog_test.h: No such file
> or directory
>    21 | #include <syslog_test.h>
>       |          ^~~~~~~~~~~~~~~
> compilation terminated.
>
> git bisect:
>
> 52d3df7fefe30b05677db9055e68c666a071d89a is the first bad commit
> commit 52d3df7fefe30b05677db9055e68c666a071d89a
> Author: Simon Glass <[hidden email]>
> Date:   Sat Sep 12 11:13:34 2020 -0600
>
>     log: Allow LOG_DEBUG to always enable log output
>
> @Tom:
> Why are such build failures not detected before merging?
>
> Best regards
>
> Heinrich
>

Cf.
[PATCH 1/1] test: fix build failure for syslog_test
https://lists.denx.de/pipermail/u-boot/2020-October/429766.html

Reply | Threaded
Open this post in threaded view
|

Re: [BUG] sandbox_defconfig fails to build with origin/master dadc1e38306b1c3

Tom Rini-4
In reply to this post by Heinrich Schuchardt
On Sat, Oct 17, 2020 at 01:43:25PM +0200, Heinrich Schuchardt wrote:

> Hello Tom, hello Simon,
>
> make sandbox_defconfig
> make V=1
>
> yields:
>
> make -f ./scripts/Makefile.build obj=test/log
>   gcc -Wp,-MD,test/log/.syslog_test.o.d -nostdinc -isystem
> /usr/lib/gcc/x86_64-linux-gnu/10/include -Iinclude
> -I./arch/sandbox/include -include ./include/linux/kconfig.h -D__KERNEL__
> -D__UBOOT__ -Wall -Wstrict-prototypes -Wno-format-security -fno-builtin
> -ffreestanding -std=gnu11 -fshort-wchar -fno-strict-aliasing -fno-PIE
> -Os -fno-stack-protector -fno-delete-null-pointer-checks
> -Wno-stringop-truncation -Wno-maybe-uninitialized -fmacro-prefix-map=./=
> -g -fstack-usage -Wno-format-nonliteral -Wno-address-of-packed-member
> -Wno-unused-but-set-variable -Werror=date-time -Werror -D__SANDBOX__
> -U_FORTIFY_SOURCE -DCONFIG_ARCH_MAP_SYSMEM -fPIC -I/usr/include/SDL2
> -D_REENTRANT -pipe    -DKBUILD_BASENAME='"syslog_test"'
> -DKBUILD_MODNAME='"syslog_test"' -c -o test/log/syslog_test.o
> test/log/syslog_test.c
> test/log/syslog_test.c:21:10: fatal error: syslog_test.h: No such file
> or directory
>    21 | #include <syslog_test.h>
>       |          ^~~~~~~~~~~~~~~
> compilation terminated.
>
> git bisect:
>
> 52d3df7fefe30b05677db9055e68c666a071d89a is the first bad commit
> commit 52d3df7fefe30b05677db9055e68c666a071d89a
> Author: Simon Glass <[hidden email]>
> Date:   Sat Sep 12 11:13:34 2020 -0600
>
>     log: Allow LOG_DEBUG to always enable log output
>
> @Tom:
> Why are such build failures not detected before merging?
I think because we have no tests for building in the source directory.
I'll pick up the fix for this today.

--
Tom

signature.asc (673 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: [BUG] sandbox_defconfig fails to build with origin/master dadc1e38306b1c3

Heinrich Schuchardt
On 10/17/20 2:15 PM, Tom Rini wrote:

> On Sat, Oct 17, 2020 at 01:43:25PM +0200, Heinrich Schuchardt wrote:
>> Hello Tom, hello Simon,
>>
>> make sandbox_defconfig
>> make V=1
>>
>> yields:
>>
>> make -f ./scripts/Makefile.build obj=test/log
>>   gcc -Wp,-MD,test/log/.syslog_test.o.d -nostdinc -isystem
>> /usr/lib/gcc/x86_64-linux-gnu/10/include -Iinclude
>> -I./arch/sandbox/include -include ./include/linux/kconfig.h -D__KERNEL__
>> -D__UBOOT__ -Wall -Wstrict-prototypes -Wno-format-security -fno-builtin
>> -ffreestanding -std=gnu11 -fshort-wchar -fno-strict-aliasing -fno-PIE
>> -Os -fno-stack-protector -fno-delete-null-pointer-checks
>> -Wno-stringop-truncation -Wno-maybe-uninitialized -fmacro-prefix-map=./=
>> -g -fstack-usage -Wno-format-nonliteral -Wno-address-of-packed-member
>> -Wno-unused-but-set-variable -Werror=date-time -Werror -D__SANDBOX__
>> -U_FORTIFY_SOURCE -DCONFIG_ARCH_MAP_SYSMEM -fPIC -I/usr/include/SDL2
>> -D_REENTRANT -pipe    -DKBUILD_BASENAME='"syslog_test"'
>> -DKBUILD_MODNAME='"syslog_test"' -c -o test/log/syslog_test.o
>> test/log/syslog_test.c
>> test/log/syslog_test.c:21:10: fatal error: syslog_test.h: No such file
>> or directory
>>    21 | #include <syslog_test.h>
>>       |          ^~~~~~~~~~~~~~~
>> compilation terminated.
>>
>> git bisect:
>>
>> 52d3df7fefe30b05677db9055e68c666a071d89a is the first bad commit
>> commit 52d3df7fefe30b05677db9055e68c666a071d89a
>> Author: Simon Glass <[hidden email]>
>> Date:   Sat Sep 12 11:13:34 2020 -0600
>>
>>     log: Allow LOG_DEBUG to always enable log output
>>
>> @Tom:
>> Why are such build failures not detected before merging?
>
> I think because we have no tests for building in the source directory.

You are right

   make -j8 O=build

works while

    make -j8

fails.

Why do we generate

    -I../test/log -Itest/log

as gcc parameters when building out of source? If we avoid this, we will
get consistent test results.

  gcc -Wp,-MD,test/log/.syslog_test.o.d -nostdinc -isystem
/usr/lib/gcc/x86_64-linux-gnu/10/include -Iinclude  -I../include
-I../arch/sandbox/include -include ../include/linux/kconfig.h
-I../test/log -Itest/log -D__KERNEL__ -D__UBOOT__ -Wall
-Wstrict-prototypes -Wno-format-security -fno-builtin -ffreestanding
-std=gnu11 -fshort-wchar -fno-strict-aliasing -fno-PIE -Os
-fno-stack-protector -fno-delete-null-pointer-checks
-Wno-stringop-truncation -Wno-maybe-uninitialized
-fmacro-prefix-map=../= -g -fstack-usage -Wno-format-nonliteral
-Wno-address-of-packed-member -Wno-unused-but-set-variable
-Werror=date-time -Werror -D__SANDBOX__ -U_FORTIFY_SOURCE
-DCONFIG_ARCH_MAP_SYSMEM -fPIC  -I/usr/include/SDL2 -D_REENTRANT -pipe
  -DKBUILD_BASENAME='"syslog_test"'  -DKBUILD_MODNAME='"syslog_test"' -c
-o test/log/syslog_test.o ../test/log/syslog_test.c

> I'll pick up the fix for this today.

Thanks.

Best regards

Heinrich
Reply | Threaded
Open this post in threaded view
|

Re: [BUG] sandbox_defconfig fails to build with origin/master dadc1e38306b1c3

Tom Rini-4
On Sat, Oct 17, 2020 at 02:46:27PM +0200, Heinrich Schuchardt wrote:

> On 10/17/20 2:15 PM, Tom Rini wrote:
> > On Sat, Oct 17, 2020 at 01:43:25PM +0200, Heinrich Schuchardt wrote:
> >> Hello Tom, hello Simon,
> >>
> >> make sandbox_defconfig
> >> make V=1
> >>
> >> yields:
> >>
> >> make -f ./scripts/Makefile.build obj=test/log
> >>   gcc -Wp,-MD,test/log/.syslog_test.o.d -nostdinc -isystem
> >> /usr/lib/gcc/x86_64-linux-gnu/10/include -Iinclude
> >> -I./arch/sandbox/include -include ./include/linux/kconfig.h -D__KERNEL__
> >> -D__UBOOT__ -Wall -Wstrict-prototypes -Wno-format-security -fno-builtin
> >> -ffreestanding -std=gnu11 -fshort-wchar -fno-strict-aliasing -fno-PIE
> >> -Os -fno-stack-protector -fno-delete-null-pointer-checks
> >> -Wno-stringop-truncation -Wno-maybe-uninitialized -fmacro-prefix-map=./=
> >> -g -fstack-usage -Wno-format-nonliteral -Wno-address-of-packed-member
> >> -Wno-unused-but-set-variable -Werror=date-time -Werror -D__SANDBOX__
> >> -U_FORTIFY_SOURCE -DCONFIG_ARCH_MAP_SYSMEM -fPIC -I/usr/include/SDL2
> >> -D_REENTRANT -pipe    -DKBUILD_BASENAME='"syslog_test"'
> >> -DKBUILD_MODNAME='"syslog_test"' -c -o test/log/syslog_test.o
> >> test/log/syslog_test.c
> >> test/log/syslog_test.c:21:10: fatal error: syslog_test.h: No such file
> >> or directory
> >>    21 | #include <syslog_test.h>
> >>       |          ^~~~~~~~~~~~~~~
> >> compilation terminated.
> >>
> >> git bisect:
> >>
> >> 52d3df7fefe30b05677db9055e68c666a071d89a is the first bad commit
> >> commit 52d3df7fefe30b05677db9055e68c666a071d89a
> >> Author: Simon Glass <[hidden email]>
> >> Date:   Sat Sep 12 11:13:34 2020 -0600
> >>
> >>     log: Allow LOG_DEBUG to always enable log output
> >>
> >> @Tom:
> >> Why are such build failures not detected before merging?
> >
> > I think because we have no tests for building in the source directory.
>
> You are right
>
>    make -j8 O=build
>
> works while
>
>     make -j8
>
> fails.
>
> Why do we generate
>
>     -I../test/log -Itest/log
>
> as gcc parameters when building out of source? If we avoid this, we will
> get consistent test results.
>
>   gcc -Wp,-MD,test/log/.syslog_test.o.d -nostdinc -isystem
> /usr/lib/gcc/x86_64-linux-gnu/10/include -Iinclude  -I../include
> -I../arch/sandbox/include -include ../include/linux/kconfig.h
> -I../test/log -Itest/log -D__KERNEL__ -D__UBOOT__ -Wall
> -Wstrict-prototypes -Wno-format-security -fno-builtin -ffreestanding
> -std=gnu11 -fshort-wchar -fno-strict-aliasing -fno-PIE -Os
> -fno-stack-protector -fno-delete-null-pointer-checks
> -Wno-stringop-truncation -Wno-maybe-uninitialized
> -fmacro-prefix-map=../= -g -fstack-usage -Wno-format-nonliteral
> -Wno-address-of-packed-member -Wno-unused-but-set-variable
> -Werror=date-time -Werror -D__SANDBOX__ -U_FORTIFY_SOURCE
> -DCONFIG_ARCH_MAP_SYSMEM -fPIC  -I/usr/include/SDL2 -D_REENTRANT -pipe
>   -DKBUILD_BASENAME='"syslog_test"'  -DKBUILD_MODNAME='"syslog_test"' -c
> -o test/log/syslog_test.o ../test/log/syslog_test.c
A quick poke around and I don't see us doing anything special for CFLAGS
there, so that's how kbuild as of our last sync with the Linux kernel
works is I suppose the answer.

--
Tom

signature.asc (673 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: [BUG] sandbox_defconfig fails to build with origin/master dadc1e38306b1c3

Heinrich Schuchardt
On 10/17/20 2:57 PM, Tom Rini wrote:

> On Sat, Oct 17, 2020 at 02:46:27PM +0200, Heinrich Schuchardt wrote:
>> On 10/17/20 2:15 PM, Tom Rini wrote:
>>> On Sat, Oct 17, 2020 at 01:43:25PM +0200, Heinrich Schuchardt wrote:
>>>> Hello Tom, hello Simon,
>>>>
>>>> make sandbox_defconfig
>>>> make V=1
>>>>
>>>> yields:
>>>>
>>>> make -f ./scripts/Makefile.build obj=test/log
>>>>   gcc -Wp,-MD,test/log/.syslog_test.o.d -nostdinc -isystem
>>>> /usr/lib/gcc/x86_64-linux-gnu/10/include -Iinclude
>>>> -I./arch/sandbox/include -include ./include/linux/kconfig.h -D__KERNEL__
>>>> -D__UBOOT__ -Wall -Wstrict-prototypes -Wno-format-security -fno-builtin
>>>> -ffreestanding -std=gnu11 -fshort-wchar -fno-strict-aliasing -fno-PIE
>>>> -Os -fno-stack-protector -fno-delete-null-pointer-checks
>>>> -Wno-stringop-truncation -Wno-maybe-uninitialized -fmacro-prefix-map=./=
>>>> -g -fstack-usage -Wno-format-nonliteral -Wno-address-of-packed-member
>>>> -Wno-unused-but-set-variable -Werror=date-time -Werror -D__SANDBOX__
>>>> -U_FORTIFY_SOURCE -DCONFIG_ARCH_MAP_SYSMEM -fPIC -I/usr/include/SDL2
>>>> -D_REENTRANT -pipe    -DKBUILD_BASENAME='"syslog_test"'
>>>> -DKBUILD_MODNAME='"syslog_test"' -c -o test/log/syslog_test.o
>>>> test/log/syslog_test.c
>>>> test/log/syslog_test.c:21:10: fatal error: syslog_test.h: No such file
>>>> or directory
>>>>    21 | #include <syslog_test.h>
>>>>       |          ^~~~~~~~~~~~~~~
>>>> compilation terminated.
>>>>
>>>> git bisect:
>>>>
>>>> 52d3df7fefe30b05677db9055e68c666a071d89a is the first bad commit
>>>> commit 52d3df7fefe30b05677db9055e68c666a071d89a
>>>> Author: Simon Glass <[hidden email]>
>>>> Date:   Sat Sep 12 11:13:34 2020 -0600
>>>>
>>>>     log: Allow LOG_DEBUG to always enable log output
>>>>
>>>> @Tom:
>>>> Why are such build failures not detected before merging?
>>>
>>> I think because we have no tests for building in the source directory.
>>
>> You are right
>>
>>    make -j8 O=build
>>
>> works while
>>
>>     make -j8
>>
>> fails.
>>
>> Why do we generate
>>
>>     -I../test/log -Itest/log
>>
>> as gcc parameters when building out of source? If we avoid this, we will
>> get consistent test results.
>>
>>   gcc -Wp,-MD,test/log/.syslog_test.o.d -nostdinc -isystem
>> /usr/lib/gcc/x86_64-linux-gnu/10/include -Iinclude  -I../include
>> -I../arch/sandbox/include -include ../include/linux/kconfig.h
>> -I../test/log -Itest/log -D__KERNEL__ -D__UBOOT__ -Wall
>> -Wstrict-prototypes -Wno-format-security -fno-builtin -ffreestanding
>> -std=gnu11 -fshort-wchar -fno-strict-aliasing -fno-PIE -Os
>> -fno-stack-protector -fno-delete-null-pointer-checks
>> -Wno-stringop-truncation -Wno-maybe-uninitialized
>> -fmacro-prefix-map=../= -g -fstack-usage -Wno-format-nonliteral
>> -Wno-address-of-packed-member -Wno-unused-but-set-variable
>> -Werror=date-time -Werror -D__SANDBOX__ -U_FORTIFY_SOURCE
>> -DCONFIG_ARCH_MAP_SYSMEM -fPIC  -I/usr/include/SDL2 -D_REENTRANT -pipe
>>   -DKBUILD_BASENAME='"syslog_test"'  -DKBUILD_MODNAME='"syslog_test"' -c
>> -o test/log/syslog_test.o ../test/log/syslog_test.c
>
> A quick poke around and I don't see us doing anything special for CFLAGS
> there, so that's how kbuild as of our last sync with the Linux kernel
> works is I suppose the answer.
>

Cf.
[PATCH 1/1] Makefile: consistent include path for out of tree build
https://lists.denx.de/pipermail/u-boot/2020-October/429780.html

Best regards

Heinrich