2005-02-25 10:36:01

by Geert Uytterhoeven

[permalink] [raw]
Subject: Inconsistent kallsyms data (since 2.6.11-rc3 or so)


One of my m68k configs has been giving

| Inconsistent kallsyms data
| Try setting CONFIG_KALLSYMS_EXTRA_PASS

since 2.6.11-rc3 or so. Setting CONFIG_KALLSYMS_EXTRA_PASS, or applying Keith
Owen's patch to fix an issue for SH
(http://seclists.org/lists/linux-kernel/2005/Jan/0017.html) doesn't help.

The diffs between the human-readable tables (as generated by Keith's
kallsyms_uncompress.pl) show lots of changes (see below).

Related config settings:

| anakin$ grep kallsyms .config
| CONFIG_KALLSYMS=y
| # CONFIG_KALLSYMS_ALL is not set
| CONFIG_KALLSYMS_EXTRA_PASS=y
| anakin$

Any other info that's needed to solve this issue? Thanks!

--- .tmp_kallsyms1.out 2005-02-25 11:29:54.000000000 +0100
+++ .tmp_kallsyms2.out 2005-02-25 11:29:58.000000000 +0100
@@ -12048,361 +12048,367 @@ r xfrm_msg_min PTR 0x167c7e
? __param_tap_time PTR 0x174d3c
? __param_map PTR 0x174d50
A _etext PTR 0x174d64
-? __start PTR 0x18f000
-? _sinittext PTR 0x18f000
-? nosmp PTR 0x18f98c
-? maxcpus PTR 0x18f998
-? obsolete_checksetup PTR 0x18f9b4
-? debug_kernel PTR 0x18fa48
-? quiet_kernel PTR 0x18fa62
-? unknown_bootoption PTR 0x18fa7c
-? init_setup PTR 0x18fcc8
-? do_early_param PTR 0x18fcea
-? parse_early_param PTR 0x18fd50
-? start_kernel PTR 0x18fd98
-? initcall_debug_setup PTR 0x18ff3c
-? do_initcalls PTR 0x18ff48
-? do_basic_setup PTR 0x19000e
-? load_ramdisk PTR 0x190034
-? readonly PTR 0x190056
-? readwrite PTR 0x19006e
-? try_name PTR 0x190088
-? name_to_dev_t PTR 0x19021e
-b xfrm_state_byspi PTR 0x1902bc
-? root_dev_setup PTR 0x1904a8
-? root_data_setup PTR 0x1904c6
-? fs_names_setup PTR 0x1904d4
-? root_delay_setup PTR 0x1904e2
-? get_fs_names PTR 0x190500
-? do_mount_root PTR 0x19057c
-? mount_block_root PTR 0x19060e
-? change_floppy PTR 0x190702
-? mount_root PTR 0x1907d6
-? prepare_namespace PTR 0x19082e
-? prompt_ramdisk PTR 0x190934
-? ramdisk_start_setup PTR 0x190956
-? identify_ramdisk_image PTR 0x190974
-? rd_load_image PTR 0x190b46
-? rd_load_disk PTR 0x190df2
-? huft_build PTR 0x190e9c
-? huft_free PTR 0x191284
-? inflate_codes PTR 0x1912a8
-? inflate_stored PTR 0x191668
-? inflate_fixed PTR 0x1917d4
-? inflate_dynamic PTR 0x1918fc
-? inflate_block PTR 0x191e00
-? inflate PTR 0x191ee0
-? makecrc PTR 0x191f86
-? gunzip PTR 0x192000
-b xfrm_state_afinfo PTR 0x1922bc
-b xfrm_state_gc_work PTR 0x19233c
-? malloc PTR 0x192560
-? free PTR 0x192574
-? gzip_mark PTR 0x192584
-? gzip_release PTR 0x192588
-? fill_inbuf PTR 0x19258c
-? flush_window PTR 0x1925e0
-? error PTR 0x19268e
-? crd_load PTR 0x1926b2
-? no_initrd PTR 0x192782
-? do_linuxrc PTR 0x19278e
-? handle_initrd PTR 0x192810
-? initrd_load PTR 0x192a88
-? error PTR 0x192afc
-? malloc PTR 0x192b10
-? free PTR 0x192b24
-? find_link PTR 0x192b34
-? free_hash PTR 0x192bc4
-? parse_header PTR 0x192bfc
-? read_into PTR 0x192cbe
-? do_start PTR 0x192d36
-? do_collect PTR 0x192d52
-? do_header PTR 0x192dd0
-? do_skip PTR 0x192f02
-? do_reset PTR 0x192fa2
-? maybe_link PTR 0x193020
-? do_name PTR 0x193070
-? do_copy PTR 0x1931ec
-? do_symlink PTR 0x1932a8
-? write_buffer PTR 0x193318
-? flush_buffer PTR 0x193352
-? huft_build PTR 0x1933ba
-? huft_free PTR 0x1937a0
-? inflate_codes PTR 0x1937c4
-? inflate_stored PTR 0x193b98
-? inflate_fixed PTR 0x193d04
-? inflate_dynamic PTR 0x193e2c
-? inflate_block PTR 0x19433a
-? inflate PTR 0x19441a
-? makecrc PTR 0x1944c0
-? gunzip PTR 0x19453a
-? gzip_mark PTR 0x194a72
-? gzip_release PTR 0x194a76
-? flush_window PTR 0x194a7a
-? unpack_to_rootfs PTR 0x194aea
-? populate_rootfs PTR 0x194c94
-? lpj_setup PTR 0x194d7e
-? base_trap_init PTR 0x194d9c
-? trap_init PTR 0x194daa
-? init_IRQ PTR 0x194e50
-? m68k_parse_bootinfo PTR 0x194ecc
-? setup_arch PTR 0x194fd6
-? mem_init PTR 0x195262
-? init_pointer_table PTR 0x195372
-? kernel_page_table PTR 0x1953de
-? kernel_ptr_table PTR 0x195488
-? map_chunk PTR 0x1955a2
-? paging_init PTR 0x19567e
-? amiga_identify PTR 0x1957b6
-? config_amiga PTR 0x195bf2
-? amiga_sched_init PTR 0x195f0c
-? amiga_debug_init PTR 0x195fa6
-? amiga_init_IRQ PTR 0x195fe0
-? cia_init_IRQ PTR 0x196098
-? amiga_chip_init PTR 0x196102
-? amiga_chip_alloc_res PTR 0x196146
-? amiga_init_sound PTR 0x1961d8
-? sched_init_smp PTR 0x196294
-? sched_init PTR 0x19629c
-? fork_init PTR 0x19633a
-? proc_caches_init PTR 0x1963a2
-? panic_setup PTR 0x19646e
-? console_setup PTR 0x19648c
-? add_preferred_console PTR 0x19654c
-? log_buf_len_setup PTR 0x1965e0
-? profile_setup PTR 0x1966d0
-? profile_init PTR 0x19675e
-? create_proc_profile PTR 0x1967a2
-? softirq_init PTR 0x1967e8
-? spawn_ksoftirqd PTR 0x196812
-? ioresources_init PTR 0x196840
-? reserve_setup PTR 0x196886
-? sysctl_init PTR 0x196936
-? init_timers PTR 0x196954
-? uid_cache_init PTR 0x196982
-? signals_init PTR 0x1969f4
-? usermodehelper_init PTR 0x196a20
-? pidhash_init PTR 0x196a5a
-? pidmap_init PTR 0x196b10
-? rcu_init PTR 0x196b56
-? sort_main_extable PTR 0x196b70
-? kernel_param_sysfs_setup PTR 0x196b88
-? param_sysfs_builtin PTR 0x196c48
-? param_sysfs_init PTR 0x196d96
-? init_posix_timers PTR 0x196dae
-? helper_init PTR 0x196e62
-? init PTR 0x196e9e
-? kallsyms_init PTR 0x196ee4
-? ksysfs_init PTR 0x196f0c
-? bootmem_bootmap_pages PTR 0x196f36
-? init_bootmem_core PTR 0x196f4c
-? reserve_bootmem_core PTR 0x19708a
-? free_bootmem_core PTR 0x19716a
-? __alloc_bootmem_core PTR 0x19722c
-? free_all_bootmem_core PTR 0x1976a2
-? init_bootmem_node PTR 0x19789c
-? reserve_bootmem_node PTR 0x1978b8
-? free_bootmem_node PTR 0x1978d4
-? free_all_bootmem_node PTR 0x1978f0
-? init_bootmem PTR 0x1978fe
-? reserve_bootmem PTR 0x19792a
-? free_bootmem PTR 0x197944
-? free_all_bootmem PTR 0x19795e
-? __alloc_bootmem PTR 0x19796e
-? __alloc_bootmem_node PTR 0x1979ca
-? build_zonelists_node PTR 0x197a10
-? build_zonelists PTR 0x197aa4
-? build_all_zonelists PTR 0x197b58
-? calculate_zone_totalpages PTR 0x197b96
-? memmap_init_zone PTR 0x197bec
-? free_area_init_core PTR 0x197c82
-? node_alloc_mem_map PTR 0x197f30
-? free_area_init_node PTR 0x197f6e
-? free_area_init PTR 0x197fd8
-? page_alloc_init PTR 0x198000
-? init_per_zone_pages_min PTR 0x198004
-? alloc_large_system_hash PTR 0x198054
-? page_writeback_init PTR 0x198200
-? pdflush_init PTR 0x1982b2
-? kmem_cache_init PTR 0x1982d0
-? cpucache_init PTR 0x19855e
-? swap_setup PTR 0x198590
-? kswapd_init PTR 0x1985b4
-? anon_vma_init PTR 0x198604
-? procswaps_init PTR 0x198632
-? init_tmpfs PTR 0x198658
-? files_init PTR 0x1986ee
-? buffer_init PTR 0x19871a
-? biovec_init_pools PTR 0x19876c
-? init_bio PTR 0x19883e
-? unnamed_dev_init PTR 0x1988ca
-? bdev_cache_init PTR 0x1988dc
-? chrdev_init PTR 0x198954
-? init_pipe_fs PTR 0x198980
-? fasync_init PTR 0x1989c8
-? filelock_init PTR 0x1989f4
-? set_dhash_entries PTR 0x198a24
-? dcache_init_early PTR 0x198a50
-? dcache_init PTR 0x198aae
-? vfs_caches_init_early PTR 0x198b40
-? vfs_caches_init PTR 0x198b4e
-? set_ihash_entries PTR 0x198bf6
-? inode_init_early PTR 0x198c22
-? inode_init PTR 0x198c80
-? init_mount_tree PTR 0x198d16
-? mnt_init PTR 0x198e12
-? aio_setup PTR 0x198ed8
-? eventpoll_init PTR 0x198f3c
-? init_script_binfmt PTR 0x198ff8
-? init_elf_binfmt PTR 0x19900a
-? dquot_init PTR 0x19901c
-? dnotify_init PTR 0x199108
-? proc_init_inodecache PTR 0x199134
-? proc_root_init PTR 0x19916a
-? proc_tty_init PTR 0x199262
-? proc_misc_init PTR 0x1992ee
-? sysfs_init PTR 0x19947c
-? init_devpts_fs PTR 0x199504
-? init_ext3_fs PTR 0x19953e
-? journal_init_revoke_caches PTR 0x19956c
-? journal_init_handle_cache PTR 0x1995d8
-? journal_init_caches PTR 0x199614
-? journal_init PTR 0x19962e
-? init_ext2_fs PTR 0x199642
-? init_ramfs_fs PTR 0x199670
-? init_rootfs PTR 0x199682
-? ipc_init PTR 0x199694
-? ipc_init_ids PTR 0x1996ac
-? msg_init PTR 0x199746
-? sem_init PTR 0x199782
-? shm_init PTR 0x1997c4
-? init_mqueue_fs PTR 0x1997fe
-? init_crypto PTR 0x1998c8
-? crypto_init_proc PTR 0x1998e2
-? init PTR 0x199906
-? init PTR 0x19996a
-? init PTR 0x19997c
-? init PTR 0x19998e
-? kobject_uevent_init PTR 0x1999ca
-? prio_tree_init PTR 0x1999f8
-? __maxindex PTR 0x199a2c
-? radix_tree_init_maxindex PTR 0x199a54
-? radix_tree_init PTR 0x199a7c
-? fb_console_setup PTR 0x199aac
-? fb_console_init PTR 0x199cae
-? fbmem_init PTR 0x199d18
-? video_setup PTR 0x199db4
-? modedb PTR 0x199e4e
-? chr_dev_init PTR 0x19a9ae
-? batch_entropy_init PTR 0x19aa62
-? rand_initialize PTR 0x19aad6
-? seqgen_init PTR 0x19ac1a
-? console_init PTR 0x19ac2a
-? tty_class_init PTR 0x19ac5c
-? tty_init PTR 0x19ac82
-? unix98_pty_init PTR 0x19aea8
-? pty_init PTR 0x19b078
-? misc_init PTR 0x19b082
-? vcs_init PTR 0x19b10a
-? console_map_init PTR 0x19b1b8
-? kbd_init PTR 0x19b1f8
-? con_init PTR 0x19b28c
-? vty_init PTR 0x19b4c2
-? rs_init PTR 0x19b598
-? amiserial_console_init PTR 0x19b7a4
-? gen_rtc_proc_init PTR 0x19b7b8
-? rtc_generic_init PTR 0x19b7ea
-? serio_init PTR 0x19b830
-? devices_init PTR 0x19b888
-? system_bus_init PTR 0x19b89a
-? buses_init PTR 0x19b8b6
-? classes_init PTR 0x19b8c8
-? platform_bus_init PTR 0x19b8fa
-? cpu_dev_init PTR 0x19b918
-? firmware_init PTR 0x19b92a
-? driver_init PTR 0x19b93c
-? attribute_container_init PTR 0x19b970
-? elevator_setup PTR 0x19b984
-? blk_dev_init PTR 0x19b99e
-? genhd_device_init PTR 0x19ba46
-? noop_init PTR 0x19ba7a
-? as_init PTR 0x19ba8c
-? deadline_init PTR 0x19bae0
-? cfq_slab_setup PTR 0x19bb30
-? rd_init PTR 0x19bba8
-? ramdisk_size PTR 0x19bd58
-? ramdisk_size2 PTR 0x19bd76
-? ramdisk_blocksize PTR 0x19bd82
-? probe_list2 PTR 0x19bda0
-? ethif_probe2 PTR 0x19bdea
-? net_olddevs_init PTR 0x19bebc
-? loopback_init PTR 0x19bef4
-? init_ide_data PTR 0x19bf8a
-? stridx PTR 0x19bff6
-? match_parm PTR 0x19c022
-? ide_setup PTR 0x19c126
-? probe_for_hwifs PTR 0x19c64c
-? ide_init PTR 0x19c656
-? gayle_init PTR 0x19c6be
-? ide_generic_init PTR 0x19c7e6
-? mark_region PTR 0x19c7f8
-? zorro_find_parent_resource PTR 0x19c888
-? zorro_init PTR 0x19c8e6
-? zorro_driver_init PTR 0x19cb34
-? zorro_name_device PTR 0x19cb46
-? zorro_proc_attach_device PTR 0x19cc0c
-? zorro_proc_init PTR 0x19cc7a
-? input_proc_init PTR 0x19cce2
-? input_init PTR 0x19cdba
-? mousedev_init PTR 0x19cec4
-? amikbd_init PTR 0x19cff2
-? amijoy_init PTR 0x19d130
-? uinput_init PTR 0x19d2bc
-? sock_init PTR 0x19d2ce
-? sk_init PTR 0x19d304
-? skb_init PTR 0x19d390
-? flow_cache_init PTR 0x19d3c6
-? netdev_boot_setup PTR 0x19d470
-? dev_proc_init PTR 0x19d4f0
-? net_dev_init PTR 0x19d56e
-? dev_mcast_init PTR 0x19d6aa
-? dst_init PTR 0x19d6d2
-? rtnetlink_init PTR 0x19d6e4
-? net_random_init PTR 0x19d78e
-? netlink_proto_init PTR 0x19d7be
-? set_rhash_entries PTR 0x19d930
-? ip_rt_init PTR 0x19d95c
-? inet_initpeers PTR 0x19dc6c
-? ip_init PTR 0x19dd32
-? set_thash_entries PTR 0x19dd50
-? tcp_init PTR 0x19dd7c
-? tcp4_proc_init PTR 0x19e004
-? tcp_v4_init PTR 0x19e016
-? raw_proc_init PTR 0x19e072
-? raw_proc_exit PTR 0x19e0a6
-? udp4_proc_init PTR 0x19e0be
-? arp_init PTR 0x19e0d0
-? arp_proc_init PTR 0x19e11e
-? icmp_init PTR 0x19e152
-? devinet_init PTR 0x19e1d2
-? init_ipv4_mibs PTR 0x19e222
-? inet_init PTR 0x19e68c
-? ipv4_proc_init PTR 0x19e844
-? igmp_mc_proc_init PTR 0x19e89e
-? ip_fib_init PTR 0x19e8f4
-? fib_hash_init PTR 0x19e934
-? fib_proc_init PTR 0x19ea42
-? fib_proc_exit PTR 0x19ea76
-? ip_misc_proc_init PTR 0x19ea8e
-? ah4_init PTR 0x19eb4a
-? esp4_init PTR 0x19ebb2
-? xfrm4_policy_init PTR 0x19ec20
-? xfrm4_init PTR 0x19ec32
-? xfrm4_state_init PTR 0x19ec3e
-? xfrm_policy_init PTR 0x19ec50
-? xfrm_init PTR 0x19ecc4
-? xfrm_state_init PTR 0x19ecd6
-? xfrm_input_init PTR 0x19ed4a
-? xfrm_user_init PTR 0x19ed80
-? ipsec_pfkey_init PTR 0x19edc0
-? _einittext PTR 0x19ee04
+? __start PTR 0x1b7000
+? _sinittext PTR 0x1b7000
+b log_start PTR 0x1b72c8
+b con_start PTR 0x1b72cc
+b log_end PTR 0x1b72d0
+b logged_chars PTR 0x1b72d4
+b console_cmdline PTR 0x1b72d8
+b console_may_schedule PTR 0x1b7358
+? nosmp PTR 0x1b798c
+? maxcpus PTR 0x1b7998
+? obsolete_checksetup PTR 0x1b79b4
+? debug_kernel PTR 0x1b7a48
+? quiet_kernel PTR 0x1b7a62
+? unknown_bootoption PTR 0x1b7a7c
+? init_setup PTR 0x1b7cc8
+? do_early_param PTR 0x1b7cea
+? parse_early_param PTR 0x1b7d50
+? start_kernel PTR 0x1b7d98
+? initcall_debug_setup PTR 0x1b7f3c
+? do_initcalls PTR 0x1b7f48
+? do_basic_setup PTR 0x1b800e
+? load_ramdisk PTR 0x1b8034
+? readonly PTR 0x1b8056
+? readwrite PTR 0x1b806e
+? try_name PTR 0x1b8088
+? name_to_dev_t PTR 0x1b821e
+? root_dev_setup PTR 0x1b84a8
+? root_data_setup PTR 0x1b84c6
+? fs_names_setup PTR 0x1b84d4
+? root_delay_setup PTR 0x1b84e2
+? get_fs_names PTR 0x1b8500
+? do_mount_root PTR 0x1b857c
+? mount_block_root PTR 0x1b860e
+? change_floppy PTR 0x1b8702
+? mount_root PTR 0x1b87d6
+? prepare_namespace PTR 0x1b882e
+? prompt_ramdisk PTR 0x1b8934
+? ramdisk_start_setup PTR 0x1b8956
+? identify_ramdisk_image PTR 0x1b8974
+? rd_load_image PTR 0x1b8b46
+b xfrm_state_byspi PTR 0x1b8b8c
+? rd_load_disk PTR 0x1b8df2
+? huft_build PTR 0x1b8e9c
+? huft_free PTR 0x1b9284
+? inflate_codes PTR 0x1b92a8
+? inflate_stored PTR 0x1b9668
+? inflate_fixed PTR 0x1b97d4
+? inflate_dynamic PTR 0x1b98fc
+? inflate_block PTR 0x1b9e00
+? inflate PTR 0x1b9ee0
+? makecrc PTR 0x1b9f86
+? gunzip PTR 0x1ba000
+? malloc PTR 0x1ba560
+? free PTR 0x1ba574
+? gzip_mark PTR 0x1ba584
+? gzip_release PTR 0x1ba588
+? fill_inbuf PTR 0x1ba58c
+? flush_window PTR 0x1ba5e0
+? error PTR 0x1ba68e
+? crd_load PTR 0x1ba6b2
+? no_initrd PTR 0x1ba782
+? do_linuxrc PTR 0x1ba78e
+? handle_initrd PTR 0x1ba810
+? initrd_load PTR 0x1baa88
+? error PTR 0x1baafc
+? malloc PTR 0x1bab10
+? free PTR 0x1bab24
+? find_link PTR 0x1bab34
+b xfrm_state_afinfo PTR 0x1bab8c
+? free_hash PTR 0x1babc4
+? parse_header PTR 0x1babfc
+b xfrm_state_gc_work PTR 0x1bac0c
+? read_into PTR 0x1bacbe
+? do_start PTR 0x1bad36
+? do_collect PTR 0x1bad52
+? do_header PTR 0x1badd0
+? do_skip PTR 0x1baf02
+? do_reset PTR 0x1bafa2
+? maybe_link PTR 0x1bb020
+? do_name PTR 0x1bb070
+? do_copy PTR 0x1bb1ec
+? do_symlink PTR 0x1bb2a8
+? write_buffer PTR 0x1bb318
+? flush_buffer PTR 0x1bb352
+? huft_build PTR 0x1bb3ba
+? huft_free PTR 0x1bb7a0
+? inflate_codes PTR 0x1bb7c4
+? inflate_stored PTR 0x1bbb98
+? inflate_fixed PTR 0x1bbd04
+? inflate_dynamic PTR 0x1bbe2c
+? inflate_block PTR 0x1bc33a
+? inflate PTR 0x1bc41a
+? makecrc PTR 0x1bc4c0
+? gunzip PTR 0x1bc53a
+? gzip_mark PTR 0x1bca72
+? gzip_release PTR 0x1bca76
+? flush_window PTR 0x1bca7a
+? unpack_to_rootfs PTR 0x1bcaea
+? populate_rootfs PTR 0x1bcc94
+? lpj_setup PTR 0x1bcd7e
+? base_trap_init PTR 0x1bcd9c
+? trap_init PTR 0x1bcdaa
+? init_IRQ PTR 0x1bce50
+? m68k_parse_bootinfo PTR 0x1bcecc
+? setup_arch PTR 0x1bcfd6
+? mem_init PTR 0x1bd262
+? init_pointer_table PTR 0x1bd372
+? kernel_page_table PTR 0x1bd3de
+? kernel_ptr_table PTR 0x1bd488
+? map_chunk PTR 0x1bd5a2
+? paging_init PTR 0x1bd67e
+? amiga_identify PTR 0x1bd7b6
+? config_amiga PTR 0x1bdbf2
+? amiga_sched_init PTR 0x1bdf0c
+? amiga_debug_init PTR 0x1bdfa6
+? amiga_init_IRQ PTR 0x1bdfe0
+? cia_init_IRQ PTR 0x1be098
+? amiga_chip_init PTR 0x1be102
+? amiga_chip_alloc_res PTR 0x1be146
+? amiga_init_sound PTR 0x1be1d8
+? sched_init_smp PTR 0x1be294
+? sched_init PTR 0x1be29c
+? fork_init PTR 0x1be33a
+? proc_caches_init PTR 0x1be3a2
+? panic_setup PTR 0x1be46e
+? console_setup PTR 0x1be48c
+? add_preferred_console PTR 0x1be54c
+? log_buf_len_setup PTR 0x1be5e0
+? profile_setup PTR 0x1be6d0
+? profile_init PTR 0x1be75e
+? create_proc_profile PTR 0x1be7a2
+? softirq_init PTR 0x1be7e8
+? spawn_ksoftirqd PTR 0x1be812
+? ioresources_init PTR 0x1be840
+? reserve_setup PTR 0x1be886
+? sysctl_init PTR 0x1be936
+? init_timers PTR 0x1be954
+? uid_cache_init PTR 0x1be982
+? signals_init PTR 0x1be9f4
+? usermodehelper_init PTR 0x1bea20
+? pidhash_init PTR 0x1bea5a
+? pidmap_init PTR 0x1beb10
+? rcu_init PTR 0x1beb56
+? sort_main_extable PTR 0x1beb70
+? kernel_param_sysfs_setup PTR 0x1beb88
+? param_sysfs_builtin PTR 0x1bec48
+? param_sysfs_init PTR 0x1bed96
+? init_posix_timers PTR 0x1bedae
+? helper_init PTR 0x1bee62
+? init PTR 0x1bee9e
+? kallsyms_init PTR 0x1beee4
+? ksysfs_init PTR 0x1bef0c
+? bootmem_bootmap_pages PTR 0x1bef36
+? init_bootmem_core PTR 0x1bef4c
+? reserve_bootmem_core PTR 0x1bf08a
+? free_bootmem_core PTR 0x1bf16a
+? __alloc_bootmem_core PTR 0x1bf22c
+? free_all_bootmem_core PTR 0x1bf6a2
+? init_bootmem_node PTR 0x1bf89c
+? reserve_bootmem_node PTR 0x1bf8b8
+? free_bootmem_node PTR 0x1bf8d4
+? free_all_bootmem_node PTR 0x1bf8f0
+? init_bootmem PTR 0x1bf8fe
+? reserve_bootmem PTR 0x1bf92a
+? free_bootmem PTR 0x1bf944
+? free_all_bootmem PTR 0x1bf95e
+? __alloc_bootmem PTR 0x1bf96e
+? __alloc_bootmem_node PTR 0x1bf9ca
+? build_zonelists_node PTR 0x1bfa10
+? build_zonelists PTR 0x1bfaa4
+? build_all_zonelists PTR 0x1bfb58
+? calculate_zone_totalpages PTR 0x1bfb96
+? memmap_init_zone PTR 0x1bfbec
+? free_area_init_core PTR 0x1bfc82
+? node_alloc_mem_map PTR 0x1bff30
+? free_area_init_node PTR 0x1bff6e
+? free_area_init PTR 0x1bffd8
+? page_alloc_init PTR 0x1c0000
+? init_per_zone_pages_min PTR 0x1c0004
+? alloc_large_system_hash PTR 0x1c0054
+? page_writeback_init PTR 0x1c0200
+? pdflush_init PTR 0x1c02b2
+? kmem_cache_init PTR 0x1c02d0
+? cpucache_init PTR 0x1c055e
+? swap_setup PTR 0x1c0590
+? kswapd_init PTR 0x1c05b4
+? anon_vma_init PTR 0x1c0604
+? procswaps_init PTR 0x1c0632
+? init_tmpfs PTR 0x1c0658
+? files_init PTR 0x1c06ee
+? buffer_init PTR 0x1c071a
+? biovec_init_pools PTR 0x1c076c
+? init_bio PTR 0x1c083e
+? unnamed_dev_init PTR 0x1c08ca
+? bdev_cache_init PTR 0x1c08dc
+? chrdev_init PTR 0x1c0954
+? init_pipe_fs PTR 0x1c0980
+? fasync_init PTR 0x1c09c8
+? filelock_init PTR 0x1c09f4
+? set_dhash_entries PTR 0x1c0a24
+? dcache_init_early PTR 0x1c0a50
+? dcache_init PTR 0x1c0aae
+? vfs_caches_init_early PTR 0x1c0b40
+? vfs_caches_init PTR 0x1c0b4e
+? set_ihash_entries PTR 0x1c0bf6
+? inode_init_early PTR 0x1c0c22
+? inode_init PTR 0x1c0c80
+? init_mount_tree PTR 0x1c0d16
+? mnt_init PTR 0x1c0e12
+? aio_setup PTR 0x1c0ed8
+? eventpoll_init PTR 0x1c0f3c
+? init_script_binfmt PTR 0x1c0ff8
+? init_elf_binfmt PTR 0x1c100a
+? dquot_init PTR 0x1c101c
+? dnotify_init PTR 0x1c1108
+? proc_init_inodecache PTR 0x1c1134
+? proc_root_init PTR 0x1c116a
+? proc_tty_init PTR 0x1c1262
+? proc_misc_init PTR 0x1c12ee
+? sysfs_init PTR 0x1c147c
+? init_devpts_fs PTR 0x1c1504
+? init_ext3_fs PTR 0x1c153e
+? journal_init_revoke_caches PTR 0x1c156c
+? journal_init_handle_cache PTR 0x1c15d8
+? journal_init_caches PTR 0x1c1614
+? journal_init PTR 0x1c162e
+? init_ext2_fs PTR 0x1c1642
+? init_ramfs_fs PTR 0x1c1670
+? init_rootfs PTR 0x1c1682
+? ipc_init PTR 0x1c1694
+? ipc_init_ids PTR 0x1c16ac
+? msg_init PTR 0x1c1746
+? sem_init PTR 0x1c1782
+? shm_init PTR 0x1c17c4
+? init_mqueue_fs PTR 0x1c17fe
+? init_crypto PTR 0x1c18c8
+? crypto_init_proc PTR 0x1c18e2
+? init PTR 0x1c1906
+? init PTR 0x1c196a
+? init PTR 0x1c197c
+? init PTR 0x1c198e
+? kobject_uevent_init PTR 0x1c19ca
+? prio_tree_init PTR 0x1c19f8
+? __maxindex PTR 0x1c1a2c
+? radix_tree_init_maxindex PTR 0x1c1a54
+? radix_tree_init PTR 0x1c1a7c
+? fb_console_setup PTR 0x1c1aac
+? fb_console_init PTR 0x1c1cae
+? fbmem_init PTR 0x1c1d18
+? video_setup PTR 0x1c1db4
+? modedb PTR 0x1c1e4e
+? chr_dev_init PTR 0x1c29ae
+? batch_entropy_init PTR 0x1c2a62
+? rand_initialize PTR 0x1c2ad6
+? seqgen_init PTR 0x1c2c1a
+? console_init PTR 0x1c2c2a
+? tty_class_init PTR 0x1c2c5c
+? tty_init PTR 0x1c2c82
+? unix98_pty_init PTR 0x1c2ea8
+? pty_init PTR 0x1c3078
+? misc_init PTR 0x1c3082
+? vcs_init PTR 0x1c310a
+? console_map_init PTR 0x1c31b8
+? kbd_init PTR 0x1c31f8
+? con_init PTR 0x1c328c
+? vty_init PTR 0x1c34c2
+? rs_init PTR 0x1c3598
+? amiserial_console_init PTR 0x1c37a4
+? gen_rtc_proc_init PTR 0x1c37b8
+? rtc_generic_init PTR 0x1c37ea
+? serio_init PTR 0x1c3830
+? devices_init PTR 0x1c3888
+? system_bus_init PTR 0x1c389a
+? buses_init PTR 0x1c38b6
+? classes_init PTR 0x1c38c8
+? platform_bus_init PTR 0x1c38fa
+? cpu_dev_init PTR 0x1c3918
+? firmware_init PTR 0x1c392a
+? driver_init PTR 0x1c393c
+? attribute_container_init PTR 0x1c3970
+? elevator_setup PTR 0x1c3984
+? blk_dev_init PTR 0x1c399e
+? genhd_device_init PTR 0x1c3a46
+? noop_init PTR 0x1c3a7a
+? as_init PTR 0x1c3a8c
+? deadline_init PTR 0x1c3ae0
+? cfq_slab_setup PTR 0x1c3b30
+? rd_init PTR 0x1c3ba8
+? ramdisk_size PTR 0x1c3d58
+? ramdisk_size2 PTR 0x1c3d76
+? ramdisk_blocksize PTR 0x1c3d82
+? probe_list2 PTR 0x1c3da0
+? ethif_probe2 PTR 0x1c3dea
+? net_olddevs_init PTR 0x1c3ebc
+? loopback_init PTR 0x1c3ef4
+? init_ide_data PTR 0x1c3f8a
+? stridx PTR 0x1c3ff6
+? match_parm PTR 0x1c4022
+? ide_setup PTR 0x1c4126
+? probe_for_hwifs PTR 0x1c464c
+? ide_init PTR 0x1c4656
+? gayle_init PTR 0x1c46be
+? ide_generic_init PTR 0x1c47e6
+? mark_region PTR 0x1c47f8
+? zorro_find_parent_resource PTR 0x1c4888
+? zorro_init PTR 0x1c48e6
+? zorro_driver_init PTR 0x1c4b34
+? zorro_name_device PTR 0x1c4b46
+? zorro_proc_attach_device PTR 0x1c4c0c
+? zorro_proc_init PTR 0x1c4c7a
+? input_proc_init PTR 0x1c4ce2
+? input_init PTR 0x1c4dba
+? mousedev_init PTR 0x1c4ec4
+? amikbd_init PTR 0x1c4ff2
+? amijoy_init PTR 0x1c5130
+? uinput_init PTR 0x1c52bc
+? sock_init PTR 0x1c52ce
+? sk_init PTR 0x1c5304
+? skb_init PTR 0x1c5390
+? flow_cache_init PTR 0x1c53c6
+? netdev_boot_setup PTR 0x1c5470
+? dev_proc_init PTR 0x1c54f0
+? net_dev_init PTR 0x1c556e
+? dev_mcast_init PTR 0x1c56aa
+? dst_init PTR 0x1c56d2
+? rtnetlink_init PTR 0x1c56e4
+? net_random_init PTR 0x1c578e
+? netlink_proto_init PTR 0x1c57be
+? set_rhash_entries PTR 0x1c5930
+? ip_rt_init PTR 0x1c595c
+? inet_initpeers PTR 0x1c5c6c
+? ip_init PTR 0x1c5d32
+? set_thash_entries PTR 0x1c5d50
+? tcp_init PTR 0x1c5d7c
+? tcp4_proc_init PTR 0x1c6004
+? tcp_v4_init PTR 0x1c6016
+? raw_proc_init PTR 0x1c6072
+? raw_proc_exit PTR 0x1c60a6
+? udp4_proc_init PTR 0x1c60be
+? arp_init PTR 0x1c60d0
+? arp_proc_init PTR 0x1c611e
+? icmp_init PTR 0x1c6152
+? devinet_init PTR 0x1c61d2
+? init_ipv4_mibs PTR 0x1c6222
+? inet_init PTR 0x1c668c
+? ipv4_proc_init PTR 0x1c6844
+? igmp_mc_proc_init PTR 0x1c689e
+? ip_fib_init PTR 0x1c68f4
+? fib_hash_init PTR 0x1c6934
+? fib_proc_init PTR 0x1c6a42
+? fib_proc_exit PTR 0x1c6a76
+? ip_misc_proc_init PTR 0x1c6a8e
+? ah4_init PTR 0x1c6b4a
+? esp4_init PTR 0x1c6bb2
+? xfrm4_policy_init PTR 0x1c6c20
+? xfrm4_init PTR 0x1c6c32
+? xfrm4_state_init PTR 0x1c6c3e
+? xfrm_policy_init PTR 0x1c6c50
+? xfrm_init PTR 0x1c6cc4
+? xfrm_state_init PTR 0x1c6cd6
+? xfrm_input_init PTR 0x1c6d4a
+? xfrm_user_init PTR 0x1c6d80
+? ipsec_pfkey_init PTR 0x1c6dc0
+? _einittext PTR 0x1c6e04
--- .tmp_kallsyms2.out 2005-02-25 11:29:58.000000000 +0100
+++ .tmp_kallsyms3.out 2005-02-25 11:30:02.000000000 +0100
@@ -12050,12 +12050,13 @@ r xfrm_msg_min PTR 0x167c7e
A _etext PTR 0x174d64
? __start PTR 0x1b7000
? _sinittext PTR 0x1b7000
-b log_start PTR 0x1b72c8
-b con_start PTR 0x1b72cc
-b log_end PTR 0x1b72d0
-b logged_chars PTR 0x1b72d4
-b console_cmdline PTR 0x1b72d8
-b console_may_schedule PTR 0x1b7358
+b gifconf_list PTR 0x1b7024
+b log_start PTR 0x1b75f8
+b con_start PTR 0x1b75fc
+b log_end PTR 0x1b7600
+b logged_chars PTR 0x1b7604
+b console_cmdline PTR 0x1b7608
+b console_may_schedule PTR 0x1b7688
? nosmp PTR 0x1b798c
? maxcpus PTR 0x1b7998
? obsolete_checksetup PTR 0x1b79b4
@@ -12088,9 +12089,9 @@ b console_may_schedule PTR 0x1b7358
? ramdisk_start_setup PTR 0x1b8956
? identify_ramdisk_image PTR 0x1b8974
? rd_load_image PTR 0x1b8b46
-b xfrm_state_byspi PTR 0x1b8b8c
? rd_load_disk PTR 0x1b8df2
? huft_build PTR 0x1b8e9c
+b xfrm_state_byspi PTR 0x1b8ebc
? huft_free PTR 0x1b9284
? inflate_codes PTR 0x1b92a8
? inflate_stored PTR 0x1b9668
@@ -12116,15 +12117,15 @@ b xfrm_state_byspi PTR 0x1b8b8c
? malloc PTR 0x1bab10
? free PTR 0x1bab24
? find_link PTR 0x1bab34
-b xfrm_state_afinfo PTR 0x1bab8c
? free_hash PTR 0x1babc4
? parse_header PTR 0x1babfc
-b xfrm_state_gc_work PTR 0x1bac0c
? read_into PTR 0x1bacbe
? do_start PTR 0x1bad36
? do_collect PTR 0x1bad52
? do_header PTR 0x1badd0
+b xfrm_state_afinfo PTR 0x1baebc
? do_skip PTR 0x1baf02
+b xfrm_state_gc_work PTR 0x1baf3c
? do_reset PTR 0x1bafa2
? maybe_link PTR 0x1bb020
? do_name PTR 0x1bb070

Gr{oetje,eeting}s,

Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- [email protected]

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds


2005-02-25 12:27:16

by Paulo Marques

[permalink] [raw]
Subject: Re: Inconsistent kallsyms data (since 2.6.11-rc3 or so)

Geert Uytterhoeven wrote:
> One of my m68k configs has been giving
>
> | Inconsistent kallsyms data
> | Try setting CONFIG_KALLSYMS_EXTRA_PASS
>
> since 2.6.11-rc3 or so. Setting CONFIG_KALLSYMS_EXTRA_PASS, or applying Keith
> Owen's patch to fix an issue for SH
> (http://seclists.org/lists/linux-kernel/2005/Jan/0017.html) doesn't help.

> The diffs between the human-readable tables (as generated by Keith's
> kallsyms_uncompress.pl) show lots of changes (see below).

There is something weird going on here.

For starters all the symbols that move are of type either '?'(unknown
type) or 'b' (local bss).

From the first to the second run a few more symbols pop up, and that
moves symbols around. From a quick visual inspection I spotted these:

> +b log_start PTR 0x1b72c8
> +b con_start PTR 0x1b72cc
> +b log_end PTR 0x1b72d0

There might be a few more, but these would be enough to give problems.

Although marked as 'b' type, their addresses are between _sinittext and
_einittext. These are actualy "local bss", static vars defined in printk.c.

So the question is: why don't they appear on the first link phase on m68k?

--
Paulo Marques - http://www.grupopie.com

All that is necessary for the triumph of evil is that good men do nothing.
Edmund Burke (1729 - 1797)

2005-02-26 00:39:22

by Keith Owens

[permalink] [raw]
Subject: Re: Inconsistent kallsyms data (since 2.6.11-rc3 or so)

On Fri, 25 Feb 2005 11:33:48 +0100 (CET),
Geert Uytterhoeven <[email protected]> wrote:
>
>One of my m68k configs has been giving
>
>| Inconsistent kallsyms data
>| Try setting CONFIG_KALLSYMS_EXTRA_PASS
>
>since 2.6.11-rc3 or so. Setting CONFIG_KALLSYMS_EXTRA_PASS, or applying Keith
>Owen's patch to fix an issue for SH
>(http://seclists.org/lists/linux-kernel/2005/Jan/0017.html) doesn't help.
>
>The diffs between the human-readable tables (as generated by Keith's
>kallsyms_uncompress.pl) show lots of changes (see below).
>
>Related config settings:
>
>| anakin$ grep kallsyms .config
>| CONFIG_KALLSYMS=y
>| # CONFIG_KALLSYMS_ALL is not set
>| CONFIG_KALLSYMS_EXTRA_PASS=y
>| anakin$
>
>Any other info that's needed to solve this issue? Thanks!

Apply the patch below to preserve the .S files, turn off
CONFIG_KALLSYMS_EXTRA_PASS, make vmlinux and send me the tarball from
these commands

objdump -h .tmp_vmlinux* > .tmp_objdump
nm -A .tmp_vmlinux* > .tmp_nm
tar czvf kallsyms-m68k.tar.gz .tmp_kallsyms* .tmp_objdump .tmp_nm

Index: linux/Makefile
===================================================================
--- linux.orig/Makefile 2005-02-12 18:40:12.000000000 +1100
+++ linux/Makefile 2005-02-26 11:32:19.300871801 +1100
@@ -685,7 +685,7 @@ define verify_kallsyms
$(Q)cmp -s System.map .tmp_System.map || \
(echo Inconsistent kallsyms data; \
echo Try setting CONFIG_KALLSYMS_EXTRA_PASS; \
- rm .tmp_kallsyms* ; /bin/false )
+ rm .tmp_kallsyms*.o ; /bin/false )
endef

# Update vmlinux version before link


2005-02-26 10:46:57

by Keith Owens

[permalink] [raw]
Subject: Re: Inconsistent kallsyms data (since 2.6.11-rc3 or so)

On Fri, 25 Feb 2005 11:33:48 +0100 (CET),
Geert Uytterhoeven <[email protected]> wrote:
>
>One of my m68k configs has been giving
>
>| Inconsistent kallsyms data
>| Try setting CONFIG_KALLSYMS_EXTRA_PASS
>
>since 2.6.11-rc3 or so. Setting CONFIG_KALLSYMS_EXTRA_PASS, or applying Keith
>Owen's patch to fix an issue for SH
>(http://seclists.org/lists/linux-kernel/2005/Jan/0017.html) doesn't help.

This is either a toolchain bug or an error in vmlinux.lds for m68k.
Sections are overlapping in the .tmp_vmlinux files. Merging the output
from objdump -h and nm into a single map and using type '0' as the
start of a section clearly shows that .bss, .data.cacheline_aligned and
.init.text are overlapping. .bss variables (types b and B) appear
after the start of .data.cacheline_aligned, and even after the start of
.init.text.

kallsyms flags an error because some of the .bss variables are moving
from .data.cacheline_aligned to .init.text between pass 1 and 2. That
changes the set of KALLSYMS symbols between pass 1 and 2, which trips
the verification bug. This is not a kallsyms bug, it is an m68k
toolchain problem, kallsyms is just picking it up.

Patch for generating this map is in a separate mail.

00189c30 0 .bss
00189c30 b inbuf
00189c30 B ROOT_DEV
00189c30 B system_state
00189c30 B Version_132619
00189c34 B saved_command_line
00189c34 b window
00189c38 b insize
00189c3c b inptr
00189c40 b outcnt
00189c44 b exit_code
...
0018e2bc b acqseq.2953
0018e2bc b dummy.2902
0018e2bc b xfrm_state_bydst

0018e2c0 0 .data.cacheline_aligned
0018e2c0 d acct_globals
0018e2c0 D tasklist_lock
0018e2f0 A _edata
0018e2f0 D tcp_hashinfo
0018e32c B xfrm_policy_list
0018e330 b netdev_chain
0018e334 b dev_boot_setup
0018e344 b xfrm_policy_afinfo
0018e3c4 b xfrm_dst_cache
0018e3c8 b xfrm_policy_gc_work
0018e424 b gifconf_list
0018e9f8 b log_start
0018e9fc b con_start
0018ea00 b log_end
0018ea04 b logged_chars
0018ea08 b console_cmdline
0018ea88 b console_may_schedule

0018f000 0 .init.text
0018f000 A __init_begin
0018f000 T _sinittext
0018f000 T __start
0018f98c t nosmp
0018f998 t maxcpus
0018f9b4 t obsolete_checksetup
0018fa48 t debug_kernel
0018fa62 t quiet_kernel
0018fa7c t unknown_bootoption
0018fcc8 t init_setup
0018fcea t do_early_param
0018fd50 T parse_early_param
0018fd98 T start_kernel
0018ff3c t initcall_debug_setup
0018ff48 t do_initcalls
0019000e t do_basic_setup
00190034 t load_ramdisk
00190056 t readonly
0019006e t readwrite
00190088 t try_name
0019021e T name_to_dev_t
001902bc b xfrm_state_byspi <====
001904a8 t root_dev_setup
001904c6 t root_data_setup
001904d4 t fs_names_setup
001904e2 t root_delay_setup
00190500 t get_fs_names
0019057c t do_mount_root
0019060e T mount_block_root
00190702 T change_floppy
001907d6 T mount_root
0019082e T prepare_namespace
00190934 t prompt_ramdisk
00190956 t ramdisk_start_setup
00190974 t identify_ramdisk_image
00190b46 T rd_load_image
00190df2 T rd_load_disk
00190e9c t huft_build
00191284 t huft_free
001912a8 t inflate_codes
00191668 t inflate_stored
001917d4 t inflate_fixed
001918fc t inflate_dynamic
00191e00 t inflate_block
00191ee0 t inflate
00191f86 t makecrc
00192000 t gunzip
001922bc b xfrm_state_afinfo <====
0019233c b xfrm_state_gc_work <====
00192560 t malloc
...