tree:
https://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-integrator.git
apq8060-fixes
head: 2f0778211db49ce9d4f6768c42fce68fbc9182f3
commit: 2f0778211db49ce9d4f6768c42fce68fbc9182f3 [3/3] Uglygack for earlydebug printascii
config: arm-randconfig-m031-20200717 (attached as .config)
compiler: arm-linux-gnueabi-gcc (GCC) 9.3.0
reproduce (this is a W=1 build):
wget
https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O
~/bin/make.cross
chmod +x ~/bin/make.cross
git checkout 2f0778211db49ce9d4f6768c42fce68fbc9182f3
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=arm
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
arm-linux-gnueabi-ld: section .data VMA [0000000000808000,00000000009979c7] overlaps
section .text VMA [0000000000080080,0000000000e6ff97]
arm-linux-gnueabi-ld: init/main.o: in function `start_kernel':
> init/main.c:842: undefined reference to `printascii'
arm-linux-gnueabi-ld: kernel/printk/printk.o: in function `vprintk_store':
> kernel/printk/printk.c:1963: undefined reference to
`printascii'
vim +842 init/main.c
829
830 asmlinkage __visible void __init start_kernel(void)
831 {
832 char *command_line;
833 char *after_dashes;
834
835 set_task_stack_end_magic(&init_task);
836 smp_setup_processor_id();
837 debug_objects_early_init();
838
839 #ifdef CONFIG_ARM
840 {
841 extern void printascii(char *);
842 printascii("start_kernel\n");
843 }
844 #endif
845
846 cgroup_init_early();
847
848 local_irq_disable();
849 early_boot_irqs_disabled = true;
850
851 /*
852 * Interrupts are still disabled. Do necessary setups, then
853 * enable them.
854 */
855 boot_cpu_init();
856 page_address_init();
857 pr_notice("%s", linux_banner);
858 early_security_init();
859 setup_arch(&command_line);
860 setup_boot_config(command_line);
861 setup_command_line(command_line);
862 setup_nr_cpu_ids();
863 setup_per_cpu_areas();
864 smp_prepare_boot_cpu(); /* arch-specific boot-cpu hooks */
865 boot_cpu_hotplug_init();
866
867 build_all_zonelists(NULL);
868 page_alloc_init();
869
870 pr_notice("Kernel command line: %s\n", saved_command_line);
871 /* parameters may set static keys */
872 jump_label_init();
873 parse_early_param();
874 after_dashes = parse_args("Booting kernel",
875 static_command_line, __start___param,
876 __stop___param - __start___param,
877 -1, -1, NULL, &unknown_bootoption);
878 if (!IS_ERR_OR_NULL(after_dashes))
879 parse_args("Setting init args", after_dashes, NULL, 0, -1, -1,
880 NULL, set_init_arg);
881 if (extra_init_args)
882 parse_args("Setting extra init args", extra_init_args,
883 NULL, 0, -1, -1, NULL, set_init_arg);
884
885 /*
886 * These use large bootmem allocations and must precede
887 * kmem_cache_init()
888 */
889 setup_log_buf(0);
890 vfs_caches_init_early();
891 sort_main_extable();
892 trap_init();
893 mm_init();
894
895 ftrace_init();
896
897 /* trace_printk can be enabled here */
898 early_trace_init();
899
900 /*
901 * Set up the scheduler prior starting any interrupts (such as the
902 * timer interrupt). Full topology setup happens at smp_init()
903 * time - but meanwhile we still have a functioning scheduler.
904 */
905 sched_init();
906 /*
907 * Disable preemption - early bootup scheduling is extremely
908 * fragile until we cpu_idle() for the first time.
909 */
910 preempt_disable();
911 if (WARN(!irqs_disabled(),
912 "Interrupts were enabled *very* early, fixing it\n"))
913 local_irq_disable();
914 radix_tree_init();
915
916 /*
917 * Set up housekeeping before setting up workqueues to allow the unbound
918 * workqueue to take non-housekeeping into account.
919 */
920 housekeeping_init();
921
922 /*
923 * Allow workqueue creation and work item queueing/cancelling
924 * early. Work item execution depends on kthreads and starts after
925 * workqueue_init().
926 */
927 workqueue_init_early();
928
929 rcu_init();
930
931 /* Trace events are available after this */
932 trace_init();
933
934 if (initcall_debug)
935 initcall_debug_enable();
936
937 context_tracking_init();
938 /* init some links before init_ISA_irqs() */
939 early_irq_init();
940 init_IRQ();
941 tick_init();
942 rcu_init_nohz();
943 init_timers();
944 hrtimers_init();
945 softirq_init();
946 timekeeping_init();
947
948 /*
949 * For best initial stack canary entropy, prepare it after:
950 * - setup_arch() for any UEFI RNG entropy and boot cmdline access
951 * - timekeeping_init() for ktime entropy used in rand_initialize()
952 * - rand_initialize() to get any arch-specific entropy like RDRAND
953 * - add_latent_entropy() to get any latent entropy
954 * - adding command line entropy
955 */
956 rand_initialize();
957 add_latent_entropy();
958 add_device_randomness(command_line, strlen(command_line));
959 boot_init_stack_canary();
960
961 time_init();
962 perf_event_init();
963 profile_init();
964 call_function_init();
965 WARN(!irqs_disabled(), "Interrupts were enabled early\n");
966
967 early_boot_irqs_disabled = false;
968 local_irq_enable();
969
970 kmem_cache_init_late();
971
972 /*
973 * HACK ALERT! This is early. We're enabling the console before
974 * we've done PCI setups etc, and console_init() must be aware of
975 * this. But we do want output early, in case something goes wrong.
976 */
977 console_init();
978 if (panic_later)
979 panic("Too many boot %s vars at `%s'", panic_later,
980 panic_param);
981
982 lockdep_init();
983
984 /*
985 * Need to run this when irqs are enabled, because it wants
986 * to self-test [hard/soft]-irqs on/off lock inversion bugs
987 * too:
988 */
989 locking_selftest();
990
991 /*
992 * This needs to be called before any devices perform DMA
993 * operations that might use the SWIOTLB bounce buffers. It will
994 * mark the bounce buffers as decrypted so that their usage will
995 * not cause "plain-text" data to be decrypted when accessed.
996 */
997 mem_encrypt_init();
998
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org