Messages in this thread | | | From | Arnd Bergmann <> | Date | Tue, 17 Nov 2020 14:58:36 +0100 | Subject | Re: ./include/generated/autoconf.h:1601:33: fatal error: mach/debug-macro.S: No such file or directory |
| |
On Sat, Nov 14, 2020 at 12:58 AM Alexandre Belloni <alexandre.belloni@bootlin.com> wrote: > On 11/11/2020 09:51:26+0100, Linus Walleij wrote: > > On Wed, Nov 11, 2020 at 7:18 AM kernel test robot <lkp@intel.com> wrote: > > > > > In file included from include/linux/kconfig.h:7, > > > from <command-line>: > > > >> ./include/generated/autoconf.h:1601:33: fatal error: mach/debug-macro.S: No such file or directory > > > 1601 | #define CONFIG_DEBUG_LL_INCLUDE "mach/debug-macro.S" > > > | ^~~~~~~~~~~~~~~~~~~~ > > > compilation terminated. > > > > This is an interesting one! > > > > It happens when CONFIG_DEBUG_LL_INCLUDE does not have a custom > > debug header for the platform under arch/arm/include/debug and the > > KConfig falls through to the default value, which is <mach/debug-macro.S>. > > > > Only that the majority is not using <mach/*> anymore. > > > > I feel a bit like setting the default to debug/8250.S or something. > > > > Suggestions? > > > > Then the actual bug exposed: > > > > The config tested by the robot is using > > CONFIG_ARCH_AT91=y > > CONFIG_SOC_SAMV7=y > > > > When I look into Kconfig.debug it seems that this will define > > DEBUG_AT91_SAMV7_USART1 but only a physical address, > > no virtual address and and actually no debug header. It seems > > LL_DEBUG is broken on SAMV7 and never really worked > > so now that crops up.
The last mach/debug-macro.S file was apparently removed in 2015, in commit 0045c0dd2f64 ("ARM: debug-ll: rework footbridge handling"). At that point we should have changed the fallback
> > Nicolas, something that should be fixed, I think? > > > > I confirm DEBUG_LL is not broken on SAMV7. The config used by lkp doen't > define DEBUG_AT91_SAMV7_USART1, it is not the culprit. Select it and the > problem is gone since DEBUG_AT91_SAMV7_USART1 selects DEBUG_AT91_UART > and DEBUG_LL_INCLUDE has: > default "debug/at91.S" if DEBUG_AT91_UART > > Your issue is CONFIG_DEBUG_SEMIHOSTING
Right, in particular, semihosting is not handled in arch/arm/boot/compressed/head.S the way it is handled in arch/arm/boot/compressed/debug.S, arch/arm/kernel/debug.S and arch/arm/kernel/head.S.
I wonder if we should move the semihosting code into a separate arch/arm/include/debug/semihosting.S to make the generic code treat it the same as all the other options.
Alternatively, disabling CONFIG_DEBUG_UNCOMPRESS when SEMIHOSTING is set would be the cheapest workaround for the particular build failure.
Arnd
| |