diff --git a/linux-0.11-lab/0/linux/Image b/linux-0.11-lab/0/linux/Image index f7ca375..7935b7c 100644 Binary files a/linux-0.11-lab/0/linux/Image and b/linux-0.11-lab/0/linux/Image differ diff --git a/linux-0.11-lab/0/linux/System.map b/linux-0.11-lab/0/linux/System.map index 03379b8..2e1e3f1 100644 --- a/linux-0.11-lab/0/linux/System.map +++ b/linux-0.11-lab/0/linux/System.map @@ -25,563 +25,566 @@ 00006799 T main 0000690c t printf 0000695b T init -00006bd4 T show_task -00006c59 T show_stat -00006c9f T math_state_restore -00006cfd T schedule -00006eaf T sys_pause -00006ec5 T sleep_on -00006f24 T interruptible_sleep_on -00006fdf T ticks_to_floppy_on -000070aa T floppy_on -000070d9 T floppy_off -000070e9 T do_floppy_timer -000072e1 T do_timer -000073d0 T sys_alarm -0000744f T sys_getpid -0000745b T sys_getppid -00007467 T sys_getuid -00007476 T sys_geteuid -00007486 T sys_getgid -00007496 T sys_getegid -000074a5 T sys_nice -000074d0 T sched_init -00007660 t bad_sys_call -00007668 t reschedule -00007674 T system_call -000076a8 t ret_from_sys_call -000076f0 T coprocessor_error -00007712 T device_not_available -0000774c T timer_interrupt -00007784 T sys_execve -00007794 T sys_fork -000077ac T hd_interrupt -000077e8 T floppy_interrupt -0000781e T parallel_interrupt -00007825 t _get_base -00007857 t die -00007a39 T do_double_fault -00007a5c T do_general_protection -00007a7f T do_divide_error -00007aa2 T do_int3 -00007b6a T do_nmi -00007b8d T do_debug -00007bb0 T do_overflow -00007bd3 T do_bounds -00007bf6 T do_invalid_op -00007c19 T do_device_not_available -00007c3c T do_coprocessor_segment_overrun -00007c5f T do_invalid_TSS -00007c82 T do_segment_not_present -00007ca5 T do_stack_segment -00007cc8 T do_coprocessor_error -00007cfc T do_reserved -00007d1f T trap_init -00008003 T divide_error -00008008 t no_error_code -00008038 T debug -0000803f T nmi -00008046 T int3 -0000804d T overflow -00008054 T bounds -0000805b T invalid_op -00008062 T coprocessor_segment_overrun -00008069 T reserved -00008070 T irq13 -00008085 T double_fault -0000808a t error_code -000080bc T invalid_TSS -000080c3 T segment_not_present -000080ca T stack_segment -000080d1 T general_protection -000080d8 t _get_base -0000810a T verify_area -00008171 T copy_mem -000082cb T copy_process -00008778 T find_empty_process -0000880c T panic -00008847 T printk -00008898 t skip_atoi -000088f3 t number -00008b64 T vsprintf -00008ff0 t get_fs_long -00009006 t put_fs_byte -0000901e t put_fs_long -0000902a T sys_ftime -00009030 T sys_break -00009036 T sys_ptrace -0000903c T sys_stty -00009042 T sys_gtty -00009048 T sys_rename -0000904e T sys_prof -00009054 T sys_setregid -0000910d T sys_setgid -000091a4 T sys_acct -000091aa T sys_phys -000091b0 T sys_lock -000091b6 T sys_mpx -000091bc T sys_ulimit -000091c2 T sys_time -0000921e T sys_setreuid -00009300 T sys_setuid -00009395 T sys_stime -000093eb T sys_times -0000948b T sys_brk -000094cd T sys_setpgid -000095a6 T sys_getpgrp -000095b2 T sys_setsid -0000962c T sys_getgroups -00009632 T sys_setgroups -00009638 T sys_uname -000096a1 T sys_sethostname -000096a7 T sys_getrlimit -000096ad T sys_setrlimit -000096b3 T sys_getrusage -000096b9 T sys_gettimeofday -000096bf T sys_settimeofday -000096c5 T sys_umask -000096f8 t _get_base -0000972a t put_fs_long -00009736 T release -0000979a t send_sig -00009819 t kill_session -00009873 T sys_kill -00009a23 t tell_father -00009aad T do_exit -00009ce1 T sys_exit -00009cfa T sys_waitpid -00009f20 t get_fs_byte -00009f2e t put_fs_byte -00009f46 t put_fs_long -00009f52 T sys_sgetmask -00009f5e T sys_ssetmask -00009f8a T sys_sigpending -00009f90 T sys_sigsuspend -00009f96 t save_old -00009fe9 t get_new -0000a029 T sys_signal -0000a0ad T sys_sigaction -0000a1b7 T do_signal -0000a3a3 T kernel_mktime -0000a4e8 t oom -0000a507 T get_free_page -0000a543 T free_page -0000a5b2 T free_page_tables -0000a6b1 T copy_page_tables -0000a832 T put_page -0000a91e T un_wp_page -0000a9d6 T do_wp_page -0000aa61 T get_empty_page -0000aaa1 t try_to_share -0000ac33 t share_page -0000ace7 T do_no_page -0000ae49 T mem_init -0000aebd T calc_mem -0000afb2 T page_fault -0000afe9 t get_fs_long -0000afff T sys_ustat -0000b005 T sys_utime -0000b0b2 T sys_access -0000b18e T sys_chdir -0000b202 T sys_chroot -0000b276 T sys_chmod -0000b310 T sys_chown -0000b38b T sys_open -0000b62e T sys_creat -0000b651 T sys_close -0000b720 T sys_lseek -0000b837 T sys_read -0000ba2a T sys_write -0000bbd8 t lock_inode -0000bc05 t unlock_inode -0000bc23 T invalidate_inodes -0000bc92 T sync_inodes -0000bce9 t _bmap -0000c0d5 T bmap -0000c0f8 T create_block -0000c11b T iput -0000c28a T get_empty_inode -0000c3df T get_pipe_inode -0000c454 T iget -0000c619 t read_inode -0000c84f T sys_sync -0000c8b2 T sync_dev -0000c9ab T invalidate_buffers -0000ca1d T check_disk_change -0000cac7 t remove_from_queues -0000cbbe t insert_into_queues -0000cc83 t find_buffer -0000cceb T get_hash_table -0000cd6d T getblk -0000cf0b T brelse -0000cf54 T bread -0000cfd9 T bread_page -0000d0fb T breada -0000d1f0 T buffer_init -0000d31f t lock_super -0000d34c t free_super -0000d391 T get_super -0000d400 T put_super -0000d4d3 t read_super -0000d816 T sys_umount -0000d977 T sys_mount -0000dae8 T mount_root -0000dcf6 t get_fs_byte -0000dd04 t put_fs_byte -0000dd1c T block_write -0000de6e T block_read -0000df99 t get_fs_byte -0000dfa7 t put_fs_byte -0000dfbf t rw_ttyx -0000e007 t rw_tty -0000e057 t rw_ram -0000e05d t rw_mem -0000e063 t rw_kmem -0000e069 t rw_port -0000e103 t rw_memory -0000e1d9 T rw_char -0000e243 t get_fs_byte -0000e251 t put_fs_byte -0000e269 T file_read -0000e414 T file_write -0000e60e t put_fs_byte -0000e626 t cp_stat -0000e6fd T sys_stat -0000e747 T sys_lstat -0000e762 T sys_fstat -0000e7bf T sys_readlink -0000e7c5 t _get_base -0000e7f7 t get_fs_byte -0000e805 t get_fs_long -0000e81b t put_fs_byte -0000e833 t put_fs_long -0000e83f t get_fs -0000e853 t get_ds -0000e867 t set_fs -0000e86e T sys_uselib -0000e874 t create_tables -0000e9bf t count -0000e9fe t copy_strings -0000ebba t change_ldt -0000ed3d T do_execve -0000f7bf t get_fs_byte -0000f7cd t put_fs_byte -0000f7e5 t put_fs_long -0000f7f1 T read_pipe -0000fac6 T sys_pipe -0000fcc8 t get_fs_byte -0000fcd6 t permission -0000fd77 t match -0000fddf t find_entry -00010239 t get_dir -00010426 t dir_namei -000104a5 T namei -000105bb T open_namei -0001090e T sys_mknod -00010b3e T sys_mkdir -00010eef t empty_dir -000110cd T sys_rmdir -00011425 T sys_unlink -000116c6 T sys_symlink -000116cc T sys_link -00011926 T free_block -00011a98 T new_block -00011c3c T free_inode -00011da3 T new_inode -00011f7d t dupfd -00012057 T sys_dup2 -0001207e T sys_dup -00012099 T sys_fcntl -000121d8 T sys_ioctl -000122a9 t free_ind -00012348 t free_dind -000123e7 T truncate -0001251c T sys_select -00012522 t put_fs_byte -0001253a T sys_getdents -00012700 T sys_execve2 -00012706 T sys_getcwd -0001270c T sys_sleep -00012761 T sys_something -00012767 t lock_buffer -00012794 t unlock_buffer -00012986 t make_request -00012b2a T ll_rw_block -00012b83 T blk_dev_init -00012bd1 t unlock_buffer -00012c06 t end_request -00012cb7 T floppy_deselect -00012cee T floppy_change -00012d74 t setup_DMA -00012e2a t output_byte -00012ea0 t result -00012f5d t bad_flp_intr -00012fbc t rw_interrupt -000130ab T setup_rw_floppy -0001316c t seek_interrupt -000131c5 t transfer -000132fa t recal_interrupt -00013344 T unexpected_floppy_interrupt -00013389 t recalibrate_floppy -000133eb t reset_interrupt -00013430 t reset_floppy -000134ad t floppy_on_interrupt -00013518 t do_fd_request -0001371c T floppy_init -0001376e t unlock_buffer -000137a3 t end_request -00013842 T sys_setup -00013bf5 t controller_ready -00013c89 t hd_out -00013d76 t drive_busy -00013ddc t reset_controller -00013e59 t reset_hd -00013ef1 T unexpected_hd_interrupt -00013f04 t bad_rw_intr -00013f42 t read_intr -00014068 t recal_intr -00014082 t do_hd_request -00014383 T hd_init -000143fd t unlock_buffer -00014432 t end_request -000144d1 t do_rd_request -00014607 T rd_init -0001465d T rd_load -00014909 t get_fs_byte -00014917 t put_fs_byte -0001492f T tty_init -00014940 T tty_intr -000149b4 t sleep_if_empty -000149ec t sleep_if_full -00014a60 T copy_to_cooked -0001501b T tty_read -00015389 T tty_write -0001559b T do_tty_interrupt -000155c3 T chr_dev_init -000155c4 t gotoxy -00015612 t set_origin -00015678 t scrup -00015868 t scrdown -0001595f t lf -00015995 t ri -000159cb t cr -000159ec t del -00015a1e t csi_J -00015aaf t csi_K -00015b61 T csi_m -00015bc8 t set_cursor -00015c2e t respond -00015c86 t insert_char -00015ce9 t insert_line -00015d2d t delete_char -00015d8b t delete_line -00015dcf t csi_at -00015e0d t csi_L -00015e4b t csi_P -00015e89 t csi_M -00015ec7 t save_cur -00015edc t restore_cur -00015efb T con_write -00016589 T con_init -000167c0 T sysbeepstop -000167e9 t sysbeep -00016847 t mode -00016848 t leds -00016849 t e0 -0001684a T keyboard_interrupt -00016873 t e0_e1 -0001689e t set_e0 -000168a7 t set_e1 -000168b0 t put_queue -000168e9 t ctrl -00016901 t unctrl -00016905 t unalt -0001691b t lshift -00016923 t unlshift -0001692b t rshift -00016933 t unrshift -0001693b t caps -0001695d t set_leds -00016973 t uncaps -0001697b t scroll -00016984 t num -0001698d t cursor -000169ad t cur2 -000169d6 t cur -000169e2 t ok_cur -000169f0 t num_table -000169fd t cur_table -00016a0a t func -00016a27 t ok_func -00016a3a t end_func -00016a3b t func_table -00016a6b t key_map -00016acc t shift_map -00016b8e t do_self -00016bf6 t none -00016bf7 t minus -00016c0c t key_table -0001700c t kb_wait -00017015 t reboot -00017027 t die -00017029 t init -0001709e T rs_init -00017121 T rs_write -00017170 T rs1_interrupt -00017178 T rs2_interrupt -0001717d t rs_int -00017194 t rep_int -000171b1 t end -000171bf t jmp_table -000171d0 t modem_status -000171d8 t line_status -000171e0 t read_char -00017267 t get_fs_byte -00017275 t get_fs_long -0001728b t put_fs_byte -000172a3 t put_fs_long -000172af t change_speed -0001732d t flush -0001733f t send_break -00017340 t get_termios -0001739c t set_termios -000173ec t get_termio -000174b4 t set_termio -00017578 T tty_ioctl -00017876 t get_fs_byte -00017884 T math_emulate -00017967 T math_error -00017987 T _exit -00017997 T open -000179e0 T close -00017a54 T dup -00017a8b T setsid -00017aba T execve -00017b57 T strcpy -00017b73 T strncpy -00017b98 T strcat -00017bc3 T strncat -00017bf8 T strcmp -00017c1f T strncmp -00017c4d T strchr -00017c7a T strrchr -00017ca9 T strspn -00017ce6 T strcspn -00017d23 T strpbrk -00017d5a T strstr -00017d93 T strlen -00017db6 T strtok -00017e39 T memcpy -00017e59 T memmove -00017ead T memcmp -00017ed7 T memchr -00017f0f T memset -00017f33 t init_bucket_desc -00017f9c T malloc -00018128 T free_s -0001c2a8 d envp_rc -0001c2bc d envp -0001c2e0 D sys_call_table -0001c450 D NR_syscalls -0001c460 d init_task -0001d460 D current -0001d480 D task -0001d580 D stack_start -0001d588 D current_DOR -0001d5a0 d thisname.1955 -0001d5e0 d month -0001d620 d last_inode.1935 -0001d624 D start_buffer -0001d640 d crw_table -0001d660 d ioctl_table -0001d680 d floppy_type -0001d740 d cur_spec1 -0001d744 d cur_rate -0001d748 d floppy -0001d74c d current_track -0001d750 d callable.1844 -0001d760 D tty_table -0001fc80 D table_list -0001fca0 d quotient -0001fcc0 D _ctype -0001fde0 D bucket_dir -0001fe30 B __bss_start -0001fe30 D _edata -0001fe40 b printbuf -00020240 b memory_end -00020244 b buffer_memory_end -00020248 b main_memory_start -00020260 B jiffies -00020264 B startup_time -00020268 B last_task_used_math -0002027c b mon_timer -0002028c b moff_timer -000202a0 b timer_list -000205a0 b next_timer -000205a4 B last_pid -000205c0 b buf -000209c0 b HIGH_MEMORY -000209e0 b mem_map -000218e0 B inode_table -00021fe0 B nr_buffers -00021fe4 b free_list -00021fe8 b buffer_wait -00021fec B ROOT_DEV -00022020 B blk_dev -00022058 B do_floppy -0002205c B selected -00022064 b recalibrate -00022068 b reset -0002206c b seek -00022070 b reply_buffer -00022077 b current_drive -00022078 b sector -00022079 b head -0002207a b track -0002207b b seek_track -0002207c b command -00022080 B do_hd -000220a0 B hd_info -000220d0 b recalibrate -000220d4 b reset -000220d8 b NR_HD -000220e0 b hd -00022130 B rd_length -00022134 b cr_flag.1923 -00022140 B beepcount -00022144 b video_type -00022148 b video_num_columns -0002214c b video_size_row -00022150 b video_num_lines -00022154 b video_page -00022158 b video_mem_start -0002215c b video_mem_end -00022160 b video_port_reg -00022162 b video_port_val -00022164 b video_erase_char -00022168 b origin -0002216c b scr_end -00022170 b pos -00022174 b x -00022178 b y -0002217c b top -00022180 b bottom -00022184 b state -00022188 b npar -000221a0 b par -000221e0 b ques -000221e4 b saved_x -000221e8 b saved_y -000221ec B free_bucket_desc -00022200 B drive_info -00022220 B user_stack -00023220 B hash_table -00023700 B super_block -00023a60 B file_table -00023e60 B request -000242e0 B rd_start -000242e4 B _ctmp -000242e8 B errno -000242ec B ___strtok -000242f0 B end -000242f0 B _end +00006bd3 T print_nr +00006c04 T show_task +00006c89 T show_stat +00006ccf T math_state_restore +00006d2d T schedule +00006edf T sys_pause +00006ef5 T sleep_on +00006f54 T interruptible_sleep_on +0000700f T ticks_to_floppy_on +000070da T floppy_on +00007109 T floppy_off +00007119 T do_floppy_timer +00007311 T do_timer +00007400 T sys_alarm +0000747f T sys_getpid +0000748b T sys_getppid +00007497 T sys_getuid +000074a6 T sys_geteuid +000074b6 T sys_getgid +000074c6 T sys_getegid +000074d5 T sys_nice +00007500 T sched_init +00007690 t bad_sys_call +00007698 t reschedule +000076a4 T system_call +000076df t ret_from_sys_call +00007728 T coprocessor_error +0000774a T device_not_available +00007784 T timer_interrupt +000077bc T sys_execve +000077cc T sys_execve2 +000077dc T sys_fork +000077f4 T hd_interrupt +00007830 T floppy_interrupt +00007866 T parallel_interrupt +0000786d t _get_base +0000789f t die +00007a81 T do_double_fault +00007aa4 T do_general_protection +00007ac7 T do_divide_error +00007aea T do_int3 +00007bb2 T do_nmi +00007bd5 T do_debug +00007bf8 T do_overflow +00007c1b T do_bounds +00007c3e T do_invalid_op +00007c61 T do_device_not_available +00007c84 T do_coprocessor_segment_overrun +00007ca7 T do_invalid_TSS +00007cca T do_segment_not_present +00007ced T do_stack_segment +00007d10 T do_coprocessor_error +00007d44 T do_reserved +00007d67 T trap_init +0000804b T divide_error +00008050 t no_error_code +00008080 T debug +00008087 T nmi +0000808e T int3 +00008095 T overflow +0000809c T bounds +000080a3 T invalid_op +000080aa T coprocessor_segment_overrun +000080b1 T reserved +000080b8 T irq13 +000080cd T double_fault +000080d2 t error_code +00008104 T invalid_TSS +0000810b T segment_not_present +00008112 T stack_segment +00008119 T general_protection +00008120 t _get_base +00008152 T verify_area +000081b9 T copy_mem +00008313 T copy_process +000087c0 T find_empty_process +00008854 T panic +0000888f T printk +000088e0 t skip_atoi +0000893b t number +00008bac T vsprintf +00009038 t get_fs_long +0000904e t put_fs_byte +00009066 t put_fs_long +00009072 T sys_ftime +00009078 T sys_break +0000907e T sys_ptrace +00009084 T sys_stty +0000908a T sys_gtty +00009090 T sys_rename +00009096 T sys_prof +0000909c T sys_setregid +00009155 T sys_setgid +000091ec T sys_acct +000091f2 T sys_phys +000091f8 T sys_lock +000091fe T sys_mpx +00009204 T sys_ulimit +0000920a T sys_time +00009266 T sys_setreuid +00009348 T sys_setuid +000093dd T sys_stime +00009433 T sys_times +000094d3 T sys_brk +00009515 T sys_setpgid +000095ee T sys_getpgrp +000095fa T sys_setsid +00009674 T sys_getgroups +0000967a T sys_setgroups +00009680 T sys_uname +000096e9 T sys_sethostname +000096ef T sys_getrlimit +000096f5 T sys_setrlimit +000096fb T sys_getrusage +00009701 T sys_gettimeofday +00009707 T sys_settimeofday +0000970d T sys_umask +00009740 t _get_base +00009772 t put_fs_long +0000977e T release +000097e2 t send_sig +00009861 t kill_session +000098bb T sys_kill +00009a6b t tell_father +00009af5 T do_exit +00009d29 T sys_exit +00009d42 T sys_waitpid +00009f68 t get_fs_byte +00009f76 t put_fs_byte +00009f8e t put_fs_long +00009f9a T sys_sgetmask +00009fa6 T sys_ssetmask +00009fd2 T sys_sigpending +00009fd8 T sys_sigsuspend +00009fde t save_old +0000a031 t get_new +0000a071 T sys_signal +0000a0f5 T sys_sigaction +0000a1ff T do_signal +0000a3eb T kernel_mktime +0000a530 t oom +0000a54f T get_free_page +0000a58b T free_page +0000a5fa T free_page_tables +0000a6f9 T copy_page_tables +0000a87a T put_page +0000a966 T un_wp_page +0000aa1e T do_wp_page +0000aaa9 T get_empty_page +0000aae9 t try_to_share +0000ac7b t share_page +0000ad2f T do_no_page +0000ae91 T mem_init +0000af05 T calc_mem +0000affa T page_fault +0000b031 t get_fs_long +0000b047 T sys_ustat +0000b04d T sys_utime +0000b0fa T sys_access +0000b1d6 T sys_chdir +0000b24a T sys_chroot +0000b2be T sys_chmod +0000b358 T sys_chown +0000b3d3 T sys_open +0000b676 T sys_creat +0000b699 T sys_close +0000b768 T sys_lseek +0000b87f T sys_read +0000ba72 T sys_write +0000bc20 t lock_inode +0000bc4d t unlock_inode +0000bc6b T invalidate_inodes +0000bcda T sync_inodes +0000bd31 t _bmap +0000c11d T bmap +0000c140 T create_block +0000c163 T iput +0000c2d2 T get_empty_inode +0000c427 T get_pipe_inode +0000c49c T iget +0000c661 t read_inode +0000c897 T sys_sync +0000c8fa T sync_dev +0000c9f3 T invalidate_buffers +0000ca65 T check_disk_change +0000cb0f t remove_from_queues +0000cc06 t insert_into_queues +0000cccb t find_buffer +0000cd33 T get_hash_table +0000cdb5 T getblk +0000cf53 T brelse +0000cf9c T bread +0000d021 T bread_page +0000d143 T breada +0000d238 T buffer_init +0000d367 t lock_super +0000d394 t free_super +0000d3d9 T get_super +0000d448 T put_super +0000d51b t read_super +0000d85e T sys_umount +0000d9bf T sys_mount +0000db30 T mount_root +0000dd3e t get_fs_byte +0000dd4c t put_fs_byte +0000dd64 T block_write +0000deb6 T block_read +0000dfe1 t get_fs_byte +0000dfef t put_fs_byte +0000e007 t rw_ttyx +0000e04f t rw_tty +0000e09f t rw_ram +0000e0a5 t rw_mem +0000e0ab t rw_kmem +0000e0b1 t rw_port +0000e14b t rw_memory +0000e221 T rw_char +0000e28b t get_fs_byte +0000e299 t put_fs_byte +0000e2b1 T file_read +0000e45c T file_write +0000e656 t put_fs_byte +0000e66e t cp_stat +0000e745 T sys_stat +0000e78f T sys_lstat +0000e7aa T sys_fstat +0000e807 T sys_readlink +0000e80d t _get_base +0000e83f t get_fs_byte +0000e84d t get_fs_long +0000e863 t put_fs_byte +0000e87b t put_fs_long +0000e887 t get_fs +0000e89b t get_ds +0000e8af t set_fs +0000e8b6 T sys_uselib +0000e8bc t create_tables +0000ea07 t count +0000ea46 t copy_strings +0000ec02 t change_ldt +0000ed85 T do_execve +0000f807 t oom +0000f826 T do_execve2 +000103fd t get_fs_byte +0001040b t put_fs_byte +00010423 t put_fs_long +0001042f T read_pipe +00010704 T sys_pipe +00010906 t get_fs_byte +00010914 t permission +000109b5 t match +00010a1d t find_entry +00010e77 t get_dir +00011064 t dir_namei +000110e3 T namei +000111f9 T open_namei +0001154c T sys_mknod +0001177c T sys_mkdir +00011b2d t empty_dir +00011d0b T sys_rmdir +00012063 T sys_unlink +00012304 T sys_symlink +0001230a T sys_link +00012564 T free_block +000126d6 T new_block +0001287a T free_inode +000129e1 T new_inode +00012bbb t dupfd +00012c95 T sys_dup2 +00012cbc T sys_dup +00012cd7 T sys_fcntl +00012e16 T sys_ioctl +00012ee7 t free_ind +00012f86 t free_dind +00013025 T truncate +0001315a T sys_select +00013160 t put_fs_byte +00013178 T sys_getdents +0001333e T sys_sleep +0001337b T sys_something +00013381 T sys_getcwd +00013387 t lock_buffer +000133b4 t unlock_buffer +000135a6 t make_request +0001374a T ll_rw_block +000137a3 T blk_dev_init +000137f1 t unlock_buffer +00013826 t end_request +000138d7 T floppy_deselect +0001390e T floppy_change +00013994 t setup_DMA +00013a4a t output_byte +00013ac0 t result +00013b7d t bad_flp_intr +00013bdc t rw_interrupt +00013ccb T setup_rw_floppy +00013d8c t seek_interrupt +00013de5 t transfer +00013f1a t recal_interrupt +00013f64 T unexpected_floppy_interrupt +00013fa9 t recalibrate_floppy +0001400b t reset_interrupt +00014050 t reset_floppy +000140cd t floppy_on_interrupt +00014138 t do_fd_request +0001433c T floppy_init +0001438e t unlock_buffer +000143c3 t end_request +00014462 T sys_setup +00014815 t controller_ready +000148a9 t hd_out +00014996 t drive_busy +000149fc t reset_controller +00014a79 t reset_hd +00014b11 T unexpected_hd_interrupt +00014b24 t bad_rw_intr +00014b62 t read_intr +00014c88 t recal_intr +00014ca2 t do_hd_request +00014fa3 T hd_init +0001501d t unlock_buffer +00015052 t end_request +000150f1 t do_rd_request +00015227 T rd_init +0001527d T rd_load +00015529 t get_fs_byte +00015537 t put_fs_byte +0001554f T tty_init +00015560 T tty_intr +000155d4 t sleep_if_empty +0001560c t sleep_if_full +00015680 T copy_to_cooked +00015c3b T tty_read +00015fa9 T tty_write +000161bb T do_tty_interrupt +000161e3 T chr_dev_init +000161e4 t gotoxy +00016232 t set_origin +00016298 t scrup +00016488 t scrdown +0001657f t lf +000165b5 t ri +000165eb t cr +0001660c t del +0001663e t csi_J +000166cf t csi_K +00016781 T csi_m +000167e8 t set_cursor +0001684e t respond +000168a6 t insert_char +00016909 t insert_line +0001694d t delete_char +000169ab t delete_line +000169ef t csi_at +00016a2d t csi_L +00016a6b t csi_P +00016aa9 t csi_M +00016ae7 t save_cur +00016afc t restore_cur +00016b1b T con_write +000171a9 T con_init +000173e0 T sysbeepstop +00017409 t sysbeep +00017467 t mode +00017468 t leds +00017469 t e0 +0001746a T keyboard_interrupt +00017493 t e0_e1 +000174be t set_e0 +000174c7 t set_e1 +000174d0 t put_queue +00017509 t ctrl +00017521 t unctrl +00017525 t unalt +0001753b t lshift +00017543 t unlshift +0001754b t rshift +00017553 t unrshift +0001755b t caps +0001757d t set_leds +00017593 t uncaps +0001759b t scroll +000175a4 t num +000175ad t cursor +000175cd t cur2 +000175f6 t cur +00017602 t ok_cur +00017610 t num_table +0001761d t cur_table +0001762a t func +00017647 t ok_func +0001765a t end_func +0001765b t func_table +0001768b t key_map +000176ec t shift_map +000177ae t do_self +00017816 t none +00017817 t minus +0001782c t key_table +00017c2c t kb_wait +00017c35 t reboot +00017c47 t die +00017c49 t init +00017cbe T rs_init +00017d41 T rs_write +00017d90 T rs1_interrupt +00017d98 T rs2_interrupt +00017d9d t rs_int +00017db4 t rep_int +00017dd1 t end +00017ddf t jmp_table +00017df0 t modem_status +00017df8 t line_status +00017e00 t read_char +00017e87 t get_fs_byte +00017e95 t get_fs_long +00017eab t put_fs_byte +00017ec3 t put_fs_long +00017ecf t change_speed +00017f4d t flush +00017f5f t send_break +00017f60 t get_termios +00017fbc t set_termios +0001800c t get_termio +000180d4 t set_termio +00018198 T tty_ioctl +00018496 t get_fs_byte +000184a4 T math_emulate +00018587 T math_error +000185a7 T _exit +000185b7 T open +00018600 T close +00018674 T dup +000186ab T setsid +000186da T execve +00018777 T strcpy +00018793 T strncpy +000187b8 T strcat +000187e3 T strncat +00018818 T strcmp +0001883f T strncmp +0001886d T strchr +0001889a T strrchr +000188c9 T strspn +00018906 T strcspn +00018943 T strpbrk +0001897a T strstr +000189b3 T strlen +000189d6 T strtok +00018a59 T memcpy +00018a79 T memmove +00018acd T memcmp +00018af7 T memchr +00018b2f T memset +00018b53 t init_bucket_desc +00018bbc T malloc +00018d48 T free_s +0001cf48 d envp_rc +0001cf5c d envp +0001cf80 D sys_call_table +0001d0f0 D NR_syscalls +0001d100 d init_task +0001e100 D current +0001e120 D task +0001e220 D stack_start +0001e228 D current_DOR +0001e240 d thisname.1955 +0001e280 d month +0001e2c0 d last_inode.1935 +0001e2c4 D start_buffer +0001e2e0 d crw_table +0001e300 d ioctl_table +0001e320 d floppy_type +0001e3e0 d cur_spec1 +0001e3e4 d cur_rate +0001e3e8 d floppy +0001e3ec d current_track +0001e3f0 d callable.1844 +0001e400 D tty_table +00020920 D table_list +00020940 d quotient +00020960 D _ctype +00020a80 D bucket_dir +00020ad0 B __bss_start +00020ad0 D _edata +00020ae0 b printbuf +00020ee0 b memory_end +00020ee4 b buffer_memory_end +00020ee8 b main_memory_start +00020f00 B jiffies +00020f04 B startup_time +00020f08 B last_task_used_math +00020f1c b mon_timer +00020f2c b moff_timer +00020f40 b timer_list +00021240 b next_timer +00021244 B last_pid +00021260 b buf +00021660 b HIGH_MEMORY +00021680 b mem_map +00022580 B inode_table +00022c80 B nr_buffers +00022c84 b free_list +00022c88 b buffer_wait +00022c8c B ROOT_DEV +00022cc0 B blk_dev +00022cf8 B do_floppy +00022cfc B selected +00022d04 b recalibrate +00022d08 b reset +00022d0c b seek +00022d10 b reply_buffer +00022d17 b current_drive +00022d18 b sector +00022d19 b head +00022d1a b track +00022d1b b seek_track +00022d1c b command +00022d20 B do_hd +00022d40 B hd_info +00022d70 b recalibrate +00022d74 b reset +00022d78 b NR_HD +00022d80 b hd +00022dd0 B rd_length +00022dd4 b cr_flag.1923 +00022de0 B beepcount +00022de4 b video_type +00022de8 b video_num_columns +00022dec b video_size_row +00022df0 b video_num_lines +00022df4 b video_page +00022df8 b video_mem_start +00022dfc b video_mem_end +00022e00 b video_port_reg +00022e02 b video_port_val +00022e04 b video_erase_char +00022e08 b origin +00022e0c b scr_end +00022e10 b pos +00022e14 b x +00022e18 b y +00022e1c b top +00022e20 b bottom +00022e24 b state +00022e28 b npar +00022e40 b par +00022e80 b ques +00022e84 b saved_x +00022e88 b saved_y +00022e8c B free_bucket_desc +00022ea0 B drive_info +00022ec0 B user_stack +00023ec0 B hash_table +000243a0 B super_block +00024700 B file_table +00024b00 B request +00024f80 B rd_start +00024f84 B _ctmp +00024f88 B errno +00024f8c B ___strtok +00024f90 B end +00024f90 B _end diff --git a/linux-0.11-lab/0/linux/System.map.2 b/linux-0.11-lab/0/linux/System.map.2 index 4dc1598..7477d13 100644 --- a/linux-0.11-lab/0/linux/System.map.2 +++ b/linux-0.11-lab/0/linux/System.map.2 @@ -205,7 +205,7 @@ LOAD lib/lib.a *(.iplt) .iplt 0x0000000000000000 0x0 boot/head.o -.text 0x0000000000000000 0x1829f +.text 0x0000000000000000 0x18ebf *(.text.unlikely .text.*_unlikely .text.unlikely.*) *(.text.exit .text.exit.*) *(.text.startup .text.startup.*) @@ -217,337 +217,337 @@ LOAD lib/lib.a 0x0000000000005000 tmp_floppy_area 0x00000000000054c0 idt 0x0000000000005cc0 gdt - .text 0x00000000000064c0 0x713 init/main.o + .text 0x00000000000064c0 0x744 init/main.o 0x00000000000064c0 fork 0x00000000000064ef pause 0x000000000000651e setup 0x0000000000006555 sync 0x0000000000006799 main 0x000000000000695b init - *fill* 0x0000000000006bd3 0x1 - .text 0x0000000000006bd4 0x3914 kernel/kernel.o - 0x0000000000006bd4 show_task - 0x0000000000006c59 show_stat - 0x0000000000006c9f math_state_restore - 0x0000000000006cfd schedule - 0x0000000000006eaf sys_pause - 0x0000000000006ec5 sleep_on - 0x0000000000006f24 interruptible_sleep_on - 0x0000000000006fb7 wake_up - 0x0000000000006fdf ticks_to_floppy_on - 0x00000000000070aa floppy_on - 0x00000000000070d9 floppy_off - 0x00000000000070e9 do_floppy_timer - 0x00000000000071bd add_timer - 0x00000000000072e1 do_timer - 0x00000000000073d0 sys_alarm - 0x000000000000744f sys_getpid - 0x000000000000745b sys_getppid - 0x0000000000007467 sys_getuid - 0x0000000000007476 sys_geteuid - 0x0000000000007486 sys_getgid - 0x0000000000007496 sys_getegid - 0x00000000000074a5 sys_nice - 0x00000000000074d0 sched_init - 0x0000000000007674 system_call - 0x00000000000076f0 coprocessor_error - 0x0000000000007712 device_not_available - 0x000000000000774c timer_interrupt - 0x0000000000007784 sys_execve - 0x0000000000007794 sys_fork - 0x00000000000077ac hd_interrupt - 0x00000000000077e8 floppy_interrupt - 0x000000000000781e parallel_interrupt - 0x0000000000007a39 do_double_fault - 0x0000000000007a5c do_general_protection - 0x0000000000007a7f do_divide_error - 0x0000000000007aa2 do_int3 - 0x0000000000007b6a do_nmi - 0x0000000000007b8d do_debug - 0x0000000000007bb0 do_overflow - 0x0000000000007bd3 do_bounds - 0x0000000000007bf6 do_invalid_op - 0x0000000000007c19 do_device_not_available - 0x0000000000007c3c do_coprocessor_segment_overrun - 0x0000000000007c5f do_invalid_TSS - 0x0000000000007c82 do_segment_not_present - 0x0000000000007ca5 do_stack_segment - 0x0000000000007cc8 do_coprocessor_error - 0x0000000000007cfc do_reserved - 0x0000000000007d1f trap_init - 0x0000000000008003 divide_error - 0x0000000000008038 debug - 0x000000000000803f nmi - 0x0000000000008046 int3 - 0x000000000000804d overflow - 0x0000000000008054 bounds - 0x000000000000805b invalid_op - 0x0000000000008062 coprocessor_segment_overrun - 0x0000000000008069 reserved - 0x0000000000008070 irq13 - 0x0000000000008085 double_fault - 0x00000000000080bc invalid_TSS - 0x00000000000080c3 segment_not_present - 0x00000000000080ca stack_segment - 0x00000000000080d1 general_protection - 0x000000000000810a verify_area - 0x0000000000008171 copy_mem - 0x00000000000082cb copy_process - 0x0000000000008778 find_empty_process - 0x000000000000880c panic - 0x0000000000008847 printk - 0x0000000000008b64 vsprintf - 0x000000000000902a sys_ftime - 0x0000000000009030 sys_break - 0x0000000000009036 sys_ptrace - 0x000000000000903c sys_stty - 0x0000000000009042 sys_gtty - 0x0000000000009048 sys_rename - 0x000000000000904e sys_prof - 0x0000000000009054 sys_setregid - 0x000000000000910d sys_setgid - 0x00000000000091a4 sys_acct - 0x00000000000091aa sys_phys - 0x00000000000091b0 sys_lock - 0x00000000000091b6 sys_mpx - 0x00000000000091bc sys_ulimit - 0x00000000000091c2 sys_time - 0x000000000000921e sys_setreuid - 0x0000000000009300 sys_setuid - 0x0000000000009395 sys_stime - 0x00000000000093eb sys_times - 0x000000000000948b sys_brk - 0x00000000000094cd sys_setpgid - 0x00000000000095a6 sys_getpgrp - 0x00000000000095b2 sys_setsid - 0x000000000000962c sys_getgroups - 0x0000000000009632 sys_setgroups - 0x0000000000009638 sys_uname - 0x00000000000096a1 sys_sethostname - 0x00000000000096a7 sys_getrlimit - 0x00000000000096ad sys_setrlimit - 0x00000000000096b3 sys_getrusage - 0x00000000000096b9 sys_gettimeofday - 0x00000000000096bf sys_settimeofday - 0x00000000000096c5 sys_umask - 0x0000000000009736 release - 0x0000000000009873 sys_kill - 0x0000000000009aad do_exit - 0x0000000000009ce1 sys_exit - 0x0000000000009cfa sys_waitpid - 0x0000000000009f52 sys_sgetmask - 0x0000000000009f5e sys_ssetmask - 0x0000000000009f8a sys_sigpending - 0x0000000000009f90 sys_sigsuspend - 0x000000000000a029 sys_signal - 0x000000000000a0ad sys_sigaction - 0x000000000000a1b7 do_signal - 0x000000000000a3a3 kernel_mktime - .text 0x000000000000a4e8 0xb01 mm/mm.o - 0x000000000000a507 get_free_page - 0x000000000000a543 free_page - 0x000000000000a5b2 free_page_tables - 0x000000000000a6b1 copy_page_tables - 0x000000000000a832 put_page - 0x000000000000a91e un_wp_page - 0x000000000000a9d6 do_wp_page - 0x000000000000aa08 write_verify - 0x000000000000aa61 get_empty_page - 0x000000000000ace7 do_no_page - 0x000000000000ae49 mem_init - 0x000000000000aebd calc_mem - 0x000000000000afb2 page_fault - .text 0x000000000000afe9 0x777e fs/fs.o - 0x000000000000afff sys_ustat - 0x000000000000b005 sys_utime - 0x000000000000b0b2 sys_access - 0x000000000000b18e sys_chdir - 0x000000000000b202 sys_chroot - 0x000000000000b276 sys_chmod - 0x000000000000b310 sys_chown - 0x000000000000b38b sys_open - 0x000000000000b62e sys_creat - 0x000000000000b651 sys_close - 0x000000000000b720 sys_lseek - 0x000000000000b837 sys_read - 0x000000000000ba2a sys_write - 0x000000000000bc23 invalidate_inodes - 0x000000000000bc92 sync_inodes - 0x000000000000c0d5 bmap - 0x000000000000c0f8 create_block - 0x000000000000c11b iput - 0x000000000000c28a get_empty_inode - 0x000000000000c3df get_pipe_inode - 0x000000000000c454 iget - 0x000000000000c84f sys_sync - 0x000000000000c8b2 sync_dev - 0x000000000000c9ab invalidate_buffers - 0x000000000000ca1d check_disk_change - 0x000000000000cceb get_hash_table - 0x000000000000cd6d getblk - 0x000000000000cf0b brelse - 0x000000000000cf54 bread - 0x000000000000cfd9 bread_page - 0x000000000000d0fb breada - 0x000000000000d1f0 buffer_init - 0x000000000000d391 get_super - 0x000000000000d400 put_super - 0x000000000000d816 sys_umount - 0x000000000000d977 sys_mount - 0x000000000000dae8 mount_root - 0x000000000000dd1c block_write - 0x000000000000de6e block_read - 0x000000000000e1d9 rw_char - 0x000000000000e269 file_read - 0x000000000000e414 file_write - 0x000000000000e6fd sys_stat - 0x000000000000e747 sys_lstat - 0x000000000000e762 sys_fstat - 0x000000000000e7bf sys_readlink - 0x000000000000e86e sys_uselib - 0x000000000000ed3d do_execve - 0x000000000000f7f1 read_pipe - 0x000000000000f947 write_pipe - 0x000000000000fac6 sys_pipe - 0x00000000000104a5 namei - 0x00000000000105bb open_namei - 0x000000000001090e sys_mknod - 0x0000000000010b3e sys_mkdir - 0x00000000000110cd sys_rmdir - 0x0000000000011425 sys_unlink - 0x00000000000116c6 sys_symlink - 0x00000000000116cc sys_link - 0x0000000000011926 free_block - 0x0000000000011a98 new_block - 0x0000000000011c3c free_inode - 0x0000000000011da3 new_inode - 0x0000000000012057 sys_dup2 - 0x000000000001207e sys_dup - 0x0000000000012099 sys_fcntl - 0x00000000000121d8 sys_ioctl - 0x00000000000123e7 truncate - 0x000000000001251c sys_select - 0x000000000001253a sys_getdents - 0x0000000000012700 sys_execve2 - 0x0000000000012706 sys_getcwd - 0x000000000001270c sys_sleep - 0x0000000000012761 sys_something - .text 0x0000000000012767 0x46a kernel/blk_drv/blk_drv.a(ll_rw_blk.o) - 0x0000000000012b2a ll_rw_block - 0x0000000000012b83 blk_dev_init - .text 0x0000000000012bd1 0xb9d kernel/blk_drv/blk_drv.a(floppy.o) - 0x0000000000012cb7 floppy_deselect - 0x0000000000012cee floppy_change - 0x00000000000130ab setup_rw_floppy - 0x0000000000013344 unexpected_floppy_interrupt - 0x000000000001371c floppy_init - .text 0x000000000001376e 0xc8f kernel/blk_drv/blk_drv.a(hd.o) - 0x0000000000013842 sys_setup - 0x0000000000013ef1 unexpected_hd_interrupt - 0x0000000000014383 hd_init - .text 0x00000000000143fd 0x50c kernel/blk_drv/blk_drv.a(ramdisk.o) - 0x0000000000014607 rd_init - 0x000000000001465d rd_load - .text 0x0000000000014909 0xcbb kernel/chr_drv/chr_drv.a(tty_io.o) - 0x000000000001492f tty_init - 0x0000000000014940 tty_intr - 0x0000000000014a4d wait_for_keypress - 0x0000000000014a60 copy_to_cooked - 0x000000000001501b tty_read - 0x0000000000015389 tty_write - 0x000000000001559b do_tty_interrupt - 0x00000000000155c3 chr_dev_init - .text 0x00000000000155c4 0x1283 kernel/chr_drv/chr_drv.a(console.o) - 0x0000000000015b61 csi_m - 0x0000000000015efb con_write - 0x0000000000016589 con_init - 0x00000000000167c0 sysbeepstop - .text 0x0000000000016847 0x7e2 kernel/chr_drv/chr_drv.a(keyboard.2.o) - 0x000000000001684a keyboard_interrupt - .text 0x0000000000017029 0x145 kernel/chr_drv/chr_drv.a(serial.o) - 0x000000000001709e rs_init - 0x0000000000017121 rs_write - *fill* 0x000000000001716e 0x2 - .text 0x0000000000017170 0xf7 kernel/chr_drv/chr_drv.a(rs_io.o) - 0x0000000000017170 rs1_interrupt - 0x0000000000017178 rs2_interrupt - .text 0x0000000000017267 0x60f kernel/chr_drv/chr_drv.a(tty_ioctl.o) - 0x0000000000017578 tty_ioctl - .text 0x0000000000017876 0x111 kernel/math/math.a(math_emulate.o) - 0x0000000000017884 math_emulate - 0x0000000000017967 math_error - .text 0x0000000000017987 0x0 lib/lib.a(ctype.o) - .text 0x0000000000017987 0x10 lib/lib.a(_exit.o) - 0x0000000000017987 _exit - .text 0x0000000000017997 0x49 lib/lib.a(open.o) - 0x0000000000017997 open - .text 0x00000000000179e0 0x37 lib/lib.a(close.o) - 0x00000000000179e0 close - .text 0x0000000000017a17 0x0 lib/lib.a(errno.o) - .text 0x0000000000017a17 0x3d lib/lib.a(write.o) - 0x0000000000017a17 write - .text 0x0000000000017a54 0x37 lib/lib.a(dup.o) - 0x0000000000017a54 dup - .text 0x0000000000017a8b 0x2f lib/lib.a(setsid.o) - 0x0000000000017a8b setsid - .text 0x0000000000017aba 0x3d lib/lib.a(execve.o) - 0x0000000000017aba execve - .text 0x0000000000017af7 0x60 lib/lib.a(wait.o) - 0x0000000000017af7 waitpid - 0x0000000000017b34 wait - .text 0x0000000000017b57 0x3dc lib/lib.a(string.o) - 0x0000000000017b57 strcpy - 0x0000000000017b73 strncpy - 0x0000000000017b98 strcat - 0x0000000000017bc3 strncat - 0x0000000000017bf8 strcmp - 0x0000000000017c1f strncmp - 0x0000000000017c4d strchr - 0x0000000000017c7a strrchr - 0x0000000000017ca9 strspn - 0x0000000000017ce6 strcspn - 0x0000000000017d23 strpbrk - 0x0000000000017d5a strstr - 0x0000000000017d93 strlen - 0x0000000000017db6 strtok - 0x0000000000017e39 memcpy - 0x0000000000017e59 memmove - 0x0000000000017ead memcmp - 0x0000000000017ed7 memchr - 0x0000000000017f0f memset - .text 0x0000000000017f33 0x36c lib/lib.a(malloc.o) - 0x0000000000017f9c malloc - 0x0000000000018128 free_s + 0x0000000000006bd3 print_nr + .text 0x0000000000006c04 0x392c kernel/kernel.o + 0x0000000000006c04 show_task + 0x0000000000006c89 show_stat + 0x0000000000006ccf math_state_restore + 0x0000000000006d2d schedule + 0x0000000000006edf sys_pause + 0x0000000000006ef5 sleep_on + 0x0000000000006f54 interruptible_sleep_on + 0x0000000000006fe7 wake_up + 0x000000000000700f ticks_to_floppy_on + 0x00000000000070da floppy_on + 0x0000000000007109 floppy_off + 0x0000000000007119 do_floppy_timer + 0x00000000000071ed add_timer + 0x0000000000007311 do_timer + 0x0000000000007400 sys_alarm + 0x000000000000747f sys_getpid + 0x000000000000748b sys_getppid + 0x0000000000007497 sys_getuid + 0x00000000000074a6 sys_geteuid + 0x00000000000074b6 sys_getgid + 0x00000000000074c6 sys_getegid + 0x00000000000074d5 sys_nice + 0x0000000000007500 sched_init + 0x00000000000076a4 system_call + 0x0000000000007728 coprocessor_error + 0x000000000000774a device_not_available + 0x0000000000007784 timer_interrupt + 0x00000000000077bc sys_execve + 0x00000000000077cc sys_execve2 + 0x00000000000077dc sys_fork + 0x00000000000077f4 hd_interrupt + 0x0000000000007830 floppy_interrupt + 0x0000000000007866 parallel_interrupt + 0x0000000000007a81 do_double_fault + 0x0000000000007aa4 do_general_protection + 0x0000000000007ac7 do_divide_error + 0x0000000000007aea do_int3 + 0x0000000000007bb2 do_nmi + 0x0000000000007bd5 do_debug + 0x0000000000007bf8 do_overflow + 0x0000000000007c1b do_bounds + 0x0000000000007c3e do_invalid_op + 0x0000000000007c61 do_device_not_available + 0x0000000000007c84 do_coprocessor_segment_overrun + 0x0000000000007ca7 do_invalid_TSS + 0x0000000000007cca do_segment_not_present + 0x0000000000007ced do_stack_segment + 0x0000000000007d10 do_coprocessor_error + 0x0000000000007d44 do_reserved + 0x0000000000007d67 trap_init + 0x000000000000804b divide_error + 0x0000000000008080 debug + 0x0000000000008087 nmi + 0x000000000000808e int3 + 0x0000000000008095 overflow + 0x000000000000809c bounds + 0x00000000000080a3 invalid_op + 0x00000000000080aa coprocessor_segment_overrun + 0x00000000000080b1 reserved + 0x00000000000080b8 irq13 + 0x00000000000080cd double_fault + 0x0000000000008104 invalid_TSS + 0x000000000000810b segment_not_present + 0x0000000000008112 stack_segment + 0x0000000000008119 general_protection + 0x0000000000008152 verify_area + 0x00000000000081b9 copy_mem + 0x0000000000008313 copy_process + 0x00000000000087c0 find_empty_process + 0x0000000000008854 panic + 0x000000000000888f printk + 0x0000000000008bac vsprintf + 0x0000000000009072 sys_ftime + 0x0000000000009078 sys_break + 0x000000000000907e sys_ptrace + 0x0000000000009084 sys_stty + 0x000000000000908a sys_gtty + 0x0000000000009090 sys_rename + 0x0000000000009096 sys_prof + 0x000000000000909c sys_setregid + 0x0000000000009155 sys_setgid + 0x00000000000091ec sys_acct + 0x00000000000091f2 sys_phys + 0x00000000000091f8 sys_lock + 0x00000000000091fe sys_mpx + 0x0000000000009204 sys_ulimit + 0x000000000000920a sys_time + 0x0000000000009266 sys_setreuid + 0x0000000000009348 sys_setuid + 0x00000000000093dd sys_stime + 0x0000000000009433 sys_times + 0x00000000000094d3 sys_brk + 0x0000000000009515 sys_setpgid + 0x00000000000095ee sys_getpgrp + 0x00000000000095fa sys_setsid + 0x0000000000009674 sys_getgroups + 0x000000000000967a sys_setgroups + 0x0000000000009680 sys_uname + 0x00000000000096e9 sys_sethostname + 0x00000000000096ef sys_getrlimit + 0x00000000000096f5 sys_setrlimit + 0x00000000000096fb sys_getrusage + 0x0000000000009701 sys_gettimeofday + 0x0000000000009707 sys_settimeofday + 0x000000000000970d sys_umask + 0x000000000000977e release + 0x00000000000098bb sys_kill + 0x0000000000009af5 do_exit + 0x0000000000009d29 sys_exit + 0x0000000000009d42 sys_waitpid + 0x0000000000009f9a sys_sgetmask + 0x0000000000009fa6 sys_ssetmask + 0x0000000000009fd2 sys_sigpending + 0x0000000000009fd8 sys_sigsuspend + 0x000000000000a071 sys_signal + 0x000000000000a0f5 sys_sigaction + 0x000000000000a1ff do_signal + 0x000000000000a3eb kernel_mktime + .text 0x000000000000a530 0xb01 mm/mm.o + 0x000000000000a54f get_free_page + 0x000000000000a58b free_page + 0x000000000000a5fa free_page_tables + 0x000000000000a6f9 copy_page_tables + 0x000000000000a87a put_page + 0x000000000000a966 un_wp_page + 0x000000000000aa1e do_wp_page + 0x000000000000aa50 write_verify + 0x000000000000aaa9 get_empty_page + 0x000000000000ad2f do_no_page + 0x000000000000ae91 mem_init + 0x000000000000af05 calc_mem + 0x000000000000affa page_fault + .text 0x000000000000b031 0x8356 fs/fs.o + 0x000000000000b047 sys_ustat + 0x000000000000b04d sys_utime + 0x000000000000b0fa sys_access + 0x000000000000b1d6 sys_chdir + 0x000000000000b24a sys_chroot + 0x000000000000b2be sys_chmod + 0x000000000000b358 sys_chown + 0x000000000000b3d3 sys_open + 0x000000000000b676 sys_creat + 0x000000000000b699 sys_close + 0x000000000000b768 sys_lseek + 0x000000000000b87f sys_read + 0x000000000000ba72 sys_write + 0x000000000000bc6b invalidate_inodes + 0x000000000000bcda sync_inodes + 0x000000000000c11d bmap + 0x000000000000c140 create_block + 0x000000000000c163 iput + 0x000000000000c2d2 get_empty_inode + 0x000000000000c427 get_pipe_inode + 0x000000000000c49c iget + 0x000000000000c897 sys_sync + 0x000000000000c8fa sync_dev + 0x000000000000c9f3 invalidate_buffers + 0x000000000000ca65 check_disk_change + 0x000000000000cd33 get_hash_table + 0x000000000000cdb5 getblk + 0x000000000000cf53 brelse + 0x000000000000cf9c bread + 0x000000000000d021 bread_page + 0x000000000000d143 breada + 0x000000000000d238 buffer_init + 0x000000000000d3d9 get_super + 0x000000000000d448 put_super + 0x000000000000d85e sys_umount + 0x000000000000d9bf sys_mount + 0x000000000000db30 mount_root + 0x000000000000dd64 block_write + 0x000000000000deb6 block_read + 0x000000000000e221 rw_char + 0x000000000000e2b1 file_read + 0x000000000000e45c file_write + 0x000000000000e745 sys_stat + 0x000000000000e78f sys_lstat + 0x000000000000e7aa sys_fstat + 0x000000000000e807 sys_readlink + 0x000000000000e8b6 sys_uselib + 0x000000000000ed85 do_execve + 0x000000000000f826 do_execve2 + 0x000000000001042f read_pipe + 0x0000000000010585 write_pipe + 0x0000000000010704 sys_pipe + 0x00000000000110e3 namei + 0x00000000000111f9 open_namei + 0x000000000001154c sys_mknod + 0x000000000001177c sys_mkdir + 0x0000000000011d0b sys_rmdir + 0x0000000000012063 sys_unlink + 0x0000000000012304 sys_symlink + 0x000000000001230a sys_link + 0x0000000000012564 free_block + 0x00000000000126d6 new_block + 0x000000000001287a free_inode + 0x00000000000129e1 new_inode + 0x0000000000012c95 sys_dup2 + 0x0000000000012cbc sys_dup + 0x0000000000012cd7 sys_fcntl + 0x0000000000012e16 sys_ioctl + 0x0000000000013025 truncate + 0x000000000001315a sys_select + 0x0000000000013178 sys_getdents + 0x000000000001333e sys_sleep + 0x000000000001337b sys_something + 0x0000000000013381 sys_getcwd + .text 0x0000000000013387 0x46a kernel/blk_drv/blk_drv.a(ll_rw_blk.o) + 0x000000000001374a ll_rw_block + 0x00000000000137a3 blk_dev_init + .text 0x00000000000137f1 0xb9d kernel/blk_drv/blk_drv.a(floppy.o) + 0x00000000000138d7 floppy_deselect + 0x000000000001390e floppy_change + 0x0000000000013ccb setup_rw_floppy + 0x0000000000013f64 unexpected_floppy_interrupt + 0x000000000001433c floppy_init + .text 0x000000000001438e 0xc8f kernel/blk_drv/blk_drv.a(hd.o) + 0x0000000000014462 sys_setup + 0x0000000000014b11 unexpected_hd_interrupt + 0x0000000000014fa3 hd_init + .text 0x000000000001501d 0x50c kernel/blk_drv/blk_drv.a(ramdisk.o) + 0x0000000000015227 rd_init + 0x000000000001527d rd_load + .text 0x0000000000015529 0xcbb kernel/chr_drv/chr_drv.a(tty_io.o) + 0x000000000001554f tty_init + 0x0000000000015560 tty_intr + 0x000000000001566d wait_for_keypress + 0x0000000000015680 copy_to_cooked + 0x0000000000015c3b tty_read + 0x0000000000015fa9 tty_write + 0x00000000000161bb do_tty_interrupt + 0x00000000000161e3 chr_dev_init + .text 0x00000000000161e4 0x1283 kernel/chr_drv/chr_drv.a(console.o) + 0x0000000000016781 csi_m + 0x0000000000016b1b con_write + 0x00000000000171a9 con_init + 0x00000000000173e0 sysbeepstop + .text 0x0000000000017467 0x7e2 kernel/chr_drv/chr_drv.a(keyboard.2.o) + 0x000000000001746a keyboard_interrupt + .text 0x0000000000017c49 0x145 kernel/chr_drv/chr_drv.a(serial.o) + 0x0000000000017cbe rs_init + 0x0000000000017d41 rs_write + *fill* 0x0000000000017d8e 0x2 + .text 0x0000000000017d90 0xf7 kernel/chr_drv/chr_drv.a(rs_io.o) + 0x0000000000017d90 rs1_interrupt + 0x0000000000017d98 rs2_interrupt + .text 0x0000000000017e87 0x60f kernel/chr_drv/chr_drv.a(tty_ioctl.o) + 0x0000000000018198 tty_ioctl + .text 0x0000000000018496 0x111 kernel/math/math.a(math_emulate.o) + 0x00000000000184a4 math_emulate + 0x0000000000018587 math_error + .text 0x00000000000185a7 0x0 lib/lib.a(ctype.o) + .text 0x00000000000185a7 0x10 lib/lib.a(_exit.o) + 0x00000000000185a7 _exit + .text 0x00000000000185b7 0x49 lib/lib.a(open.o) + 0x00000000000185b7 open + .text 0x0000000000018600 0x37 lib/lib.a(close.o) + 0x0000000000018600 close + .text 0x0000000000018637 0x0 lib/lib.a(errno.o) + .text 0x0000000000018637 0x3d lib/lib.a(write.o) + 0x0000000000018637 write + .text 0x0000000000018674 0x37 lib/lib.a(dup.o) + 0x0000000000018674 dup + .text 0x00000000000186ab 0x2f lib/lib.a(setsid.o) + 0x00000000000186ab setsid + .text 0x00000000000186da 0x3d lib/lib.a(execve.o) + 0x00000000000186da execve + .text 0x0000000000018717 0x60 lib/lib.a(wait.o) + 0x0000000000018717 waitpid + 0x0000000000018754 wait + .text 0x0000000000018777 0x3dc lib/lib.a(string.o) + 0x0000000000018777 strcpy + 0x0000000000018793 strncpy + 0x00000000000187b8 strcat + 0x00000000000187e3 strncat + 0x0000000000018818 strcmp + 0x000000000001883f strncmp + 0x000000000001886d strchr + 0x000000000001889a strrchr + 0x00000000000188c9 strspn + 0x0000000000018906 strcspn + 0x0000000000018943 strpbrk + 0x000000000001897a strstr + 0x00000000000189b3 strlen + 0x00000000000189d6 strtok + 0x0000000000018a59 memcpy + 0x0000000000018a79 memmove + 0x0000000000018acd memcmp + 0x0000000000018af7 memchr + 0x0000000000018b2f memset + .text 0x0000000000018b53 0x36c lib/lib.a(malloc.o) + 0x0000000000018bbc malloc + 0x0000000000018d48 free_s *(.gnu.warning) .fini *(SORT(.fini)) - 0x000000000001829f PROVIDE (__etext, .) - 0x000000000001829f PROVIDE (_etext, .) - 0x000000000001829f PROVIDE (etext, .) + 0x0000000000018ebf PROVIDE (__etext, .) + 0x0000000000018ebf PROVIDE (_etext, .) + 0x0000000000018ebf PROVIDE (etext, .) -.rodata 0x00000000000182a0 0x14b7 +.rodata 0x0000000000018ec0 0x14cf *(.rodata .rodata.* .gnu.linkonce.r.*) - .rodata 0x00000000000182a0 0xad init/main.o - *fill* 0x000000000001834d 0x3 - .rodata 0x0000000000018350 0x438 kernel/kernel.o - .rodata 0x0000000000018788 0x18f mm/mm.o - *fill* 0x0000000000018917 0x1 - .rodata 0x0000000000018918 0x641 fs/fs.o - *fill* 0x0000000000018f59 0x3 - .rodata 0x0000000000018f5c 0x7a kernel/blk_drv/blk_drv.a(ll_rw_blk.o) - *fill* 0x0000000000018fd6 0x2 - .rodata 0x0000000000018fd8 0x133 kernel/blk_drv/blk_drv.a(floppy.o) - *fill* 0x000000000001910b 0x1 - .rodata 0x000000000001910c 0x19b kernel/blk_drv/blk_drv.a(hd.o) - *fill* 0x00000000000192a7 0x1 - .rodata 0x00000000000192a8 0x188 kernel/blk_drv/blk_drv.a(ramdisk.o) - .rodata 0x0000000000019430 0x17d kernel/chr_drv/chr_drv.a(console.o) - *fill* 0x00000000000195ad 0x3 - .rodata 0x00000000000195b0 0x80 kernel/chr_drv/chr_drv.a(tty_ioctl.o) - .rodata 0x0000000000019630 0x52 kernel/math/math.a(math_emulate.o) - *fill* 0x0000000000019682 0x2 - .rodata 0x0000000000019684 0xd3 lib/lib.a(malloc.o) + .rodata 0x0000000000018ec0 0xc9 init/main.o + *fill* 0x0000000000018f89 0x3 + .rodata 0x0000000000018f8c 0x438 kernel/kernel.o + .rodata 0x00000000000193c4 0x18f mm/mm.o + *fill* 0x0000000000019553 0x1 + .rodata 0x0000000000019554 0x640 fs/fs.o + .rodata 0x0000000000019b94 0x7a kernel/blk_drv/blk_drv.a(ll_rw_blk.o) + *fill* 0x0000000000019c0e 0x2 + .rodata 0x0000000000019c10 0x133 kernel/blk_drv/blk_drv.a(floppy.o) + *fill* 0x0000000000019d43 0x1 + .rodata 0x0000000000019d44 0x19b kernel/blk_drv/blk_drv.a(hd.o) + *fill* 0x0000000000019edf 0x1 + .rodata 0x0000000000019ee0 0x188 kernel/blk_drv/blk_drv.a(ramdisk.o) + .rodata 0x000000000001a068 0x17d kernel/chr_drv/chr_drv.a(console.o) + *fill* 0x000000000001a1e5 0x3 + .rodata 0x000000000001a1e8 0x80 kernel/chr_drv/chr_drv.a(tty_ioctl.o) + .rodata 0x000000000001a268 0x52 kernel/math/math.a(math_emulate.o) + *fill* 0x000000000001a2ba 0x2 + .rodata 0x000000000001a2bc 0xd3 lib/lib.a(malloc.o) .rodata1 *(.rodata1) @@ -555,52 +555,52 @@ LOAD lib/lib.a .eh_frame_hdr *(.eh_frame_hdr) -.eh_frame 0x0000000000019758 0x2b44 +.eh_frame 0x000000000001a390 0x2b98 *(.eh_frame) - .eh_frame 0x0000000000019758 0xf0 init/main.o - .eh_frame 0x0000000000019848 0xb04 kernel/kernel.o + .eh_frame 0x000000000001a390 0x108 init/main.o + .eh_frame 0x000000000001a498 0xb04 kernel/kernel.o 0xbf4 (size before relaxing) - .eh_frame 0x000000000001a34c 0x194 mm/mm.o + .eh_frame 0x000000000001af9c 0x194 mm/mm.o 0x1ac (size before relaxing) - .eh_frame 0x000000000001a4e0 0xe60 fs/fs.o - 0x1010 (size before relaxing) - .eh_frame 0x000000000001b340 0x98 kernel/blk_drv/blk_drv.a(ll_rw_blk.o) + .eh_frame 0x000000000001b130 0xe9c fs/fs.o + 0x104c (size before relaxing) + .eh_frame 0x000000000001bfcc 0x98 kernel/blk_drv/blk_drv.a(ll_rw_blk.o) 0xb0 (size before relaxing) - .eh_frame 0x000000000001b3d8 0x23c kernel/blk_drv/blk_drv.a(floppy.o) + .eh_frame 0x000000000001c064 0x23c kernel/blk_drv/blk_drv.a(floppy.o) 0x254 (size before relaxing) - .eh_frame 0x000000000001b614 0x1e8 kernel/blk_drv/blk_drv.a(hd.o) + .eh_frame 0x000000000001c2a0 0x1e8 kernel/blk_drv/blk_drv.a(hd.o) 0x200 (size before relaxing) - .eh_frame 0x000000000001b7fc 0xac kernel/blk_drv/blk_drv.a(ramdisk.o) + .eh_frame 0x000000000001c488 0xac kernel/blk_drv/blk_drv.a(ramdisk.o) 0xc4 (size before relaxing) - .eh_frame 0x000000000001b8a8 0x12c kernel/chr_drv/chr_drv.a(tty_io.o) + .eh_frame 0x000000000001c534 0x12c kernel/chr_drv/chr_drv.a(tty_io.o) 0x144 (size before relaxing) - .eh_frame 0x000000000001b9d4 0x2c0 kernel/chr_drv/chr_drv.a(console.o) + .eh_frame 0x000000000001c660 0x2c0 kernel/chr_drv/chr_drv.a(console.o) 0x2d8 (size before relaxing) - .eh_frame 0x000000000001bc94 0x54 kernel/chr_drv/chr_drv.a(serial.o) + .eh_frame 0x000000000001c920 0x54 kernel/chr_drv/chr_drv.a(serial.o) 0x6c (size before relaxing) - .eh_frame 0x000000000001bce8 0x148 kernel/chr_drv/chr_drv.a(tty_ioctl.o) + .eh_frame 0x000000000001c974 0x148 kernel/chr_drv/chr_drv.a(tty_ioctl.o) 0x160 (size before relaxing) - .eh_frame 0x000000000001be30 0x5c kernel/math/math.a(math_emulate.o) + .eh_frame 0x000000000001cabc 0x5c kernel/math/math.a(math_emulate.o) 0x74 (size before relaxing) - .eh_frame 0x000000000001be8c 0x1c lib/lib.a(_exit.o) + .eh_frame 0x000000000001cb18 0x1c lib/lib.a(_exit.o) 0x34 (size before relaxing) - .eh_frame 0x000000000001bea8 0x24 lib/lib.a(open.o) + .eh_frame 0x000000000001cb34 0x24 lib/lib.a(open.o) 0x3c (size before relaxing) - .eh_frame 0x000000000001becc 0x20 lib/lib.a(close.o) + .eh_frame 0x000000000001cb58 0x20 lib/lib.a(close.o) 0x38 (size before relaxing) - .eh_frame 0x000000000001beec 0x20 lib/lib.a(write.o) + .eh_frame 0x000000000001cb78 0x20 lib/lib.a(write.o) 0x38 (size before relaxing) - .eh_frame 0x000000000001bf0c 0x20 lib/lib.a(dup.o) + .eh_frame 0x000000000001cb98 0x20 lib/lib.a(dup.o) 0x38 (size before relaxing) - .eh_frame 0x000000000001bf2c 0x18 lib/lib.a(setsid.o) + .eh_frame 0x000000000001cbb8 0x18 lib/lib.a(setsid.o) 0x30 (size before relaxing) - .eh_frame 0x000000000001bf44 0x20 lib/lib.a(execve.o) + .eh_frame 0x000000000001cbd0 0x20 lib/lib.a(execve.o) 0x38 (size before relaxing) - .eh_frame 0x000000000001bf64 0x38 lib/lib.a(wait.o) + .eh_frame 0x000000000001cbf0 0x38 lib/lib.a(wait.o) 0x50 (size before relaxing) - .eh_frame 0x000000000001bf9c 0x2b0 lib/lib.a(string.o) + .eh_frame 0x000000000001cc28 0x2b0 lib/lib.a(string.o) 0x2c8 (size before relaxing) - .eh_frame 0x000000000001c24c 0x50 lib/lib.a(malloc.o) + .eh_frame 0x000000000001ced8 0x50 lib/lib.a(malloc.o) 0x68 (size before relaxing) .gcc_except_table @@ -608,7 +608,7 @@ LOAD lib/lib.a .exception_ranges *(.exception_ranges .exception_ranges*) - 0x000000000001c29c . = . + 0x000000000001cf28 . = . .eh_frame *(.eh_frame) @@ -626,22 +626,22 @@ LOAD lib/lib.a *(.tbss .tbss.* .gnu.linkonce.tb.*) *(.tcommon) -.preinit_array 0x000000000001c29c 0x0 - 0x000000000001c29c PROVIDE (__preinit_array_start, .) +.preinit_array 0x000000000001cf28 0x0 + 0x000000000001cf28 PROVIDE (__preinit_array_start, .) *(.preinit_array) - 0x000000000001c29c PROVIDE (__preinit_array_end, .) + 0x000000000001cf28 PROVIDE (__preinit_array_end, .) -.init_array 0x000000000001c29c 0x0 - 0x000000000001c29c PROVIDE (__init_array_start, .) +.init_array 0x000000000001cf28 0x0 + 0x000000000001cf28 PROVIDE (__init_array_start, .) *(SORT(.init_array.*) SORT(.ctors.*)) *(.init_array EXCLUDE_FILE(*crtend?.o *crtend.o *crtbegin?.o *crtbegin.o) .ctors) - 0x000000000001c29c PROVIDE (__init_array_end, .) + 0x000000000001cf28 PROVIDE (__init_array_end, .) -.fini_array 0x000000000001c29c 0x0 - 0x000000000001c29c PROVIDE (__fini_array_start, .) +.fini_array 0x000000000001cf28 0x0 + 0x000000000001cf28 PROVIDE (__fini_array_start, .) *(SORT(.fini_array.*) SORT(.dtors.*)) *(.fini_array EXCLUDE_FILE(*crtend?.o *crtend.o *crtbegin?.o *crtbegin.o) .dtors) - 0x000000000001c29c PROVIDE (__fini_array_end, .) + 0x000000000001cf28 PROVIDE (__fini_array_end, .) .ctors *crtbegin.o(.ctors) @@ -671,145 +671,145 @@ LOAD lib/lib.a *(.got) *(.igot) -.got.plt 0x000000000001c29c 0x0 +.got.plt 0x000000000001cf28 0x0 *(.got.plt) *(.igot.plt) .igot.plt 0x0000000000000000 0x0 boot/head.o -.data 0x000000000001c2a0 0x3b90 +.data 0x000000000001cf40 0x3b90 *(.data .data.* .gnu.linkonce.d.*) - .data 0x000000000001c2a0 0x0 boot/head.o - .data 0x000000000001c2a0 0x28 init/main.o - *fill* 0x000000000001c2c8 0x18 - .data 0x000000000001c2e0 0x1330 kernel/kernel.o - 0x000000000001c2e0 sys_call_table - 0x000000000001c450 NR_syscalls - 0x000000000001d460 current - 0x000000000001d480 task - 0x000000000001d580 stack_start - 0x000000000001d588 current_DOR - .data 0x000000000001d610 0x0 mm/mm.o - *fill* 0x000000000001d610 0x10 - .data 0x000000000001d620 0x60 fs/fs.o - 0x000000000001d624 start_buffer - .data 0x000000000001d680 0x0 kernel/blk_drv/blk_drv.a(ll_rw_blk.o) - .data 0x000000000001d680 0xcd kernel/blk_drv/blk_drv.a(floppy.o) - *fill* 0x000000000001d74d 0x3 - .data 0x000000000001d750 0x4 kernel/blk_drv/blk_drv.a(hd.o) - .data 0x000000000001d754 0x0 kernel/blk_drv/blk_drv.a(ramdisk.o) - *fill* 0x000000000001d754 0xc - .data 0x000000000001d760 0x2538 kernel/chr_drv/chr_drv.a(tty_io.o) - 0x000000000001d760 tty_table - 0x000000000001fc80 table_list - .data 0x000000000001fc98 0x1 kernel/chr_drv/chr_drv.a(console.o) - .data 0x000000000001fc99 0x0 kernel/chr_drv/chr_drv.a(keyboard.2.o) - .data 0x000000000001fc99 0x0 kernel/chr_drv/chr_drv.a(serial.o) - .data 0x000000000001fc99 0x0 kernel/chr_drv/chr_drv.a(rs_io.o) - *fill* 0x000000000001fc99 0x7 - .data 0x000000000001fca0 0x20 kernel/chr_drv/chr_drv.a(tty_ioctl.o) - .data 0x000000000001fcc0 0x0 kernel/math/math.a(math_emulate.o) - .data 0x000000000001fcc0 0x101 lib/lib.a(ctype.o) - 0x000000000001fcc0 _ctype - .data 0x000000000001fdc1 0x0 lib/lib.a(_exit.o) - .data 0x000000000001fdc1 0x0 lib/lib.a(open.o) - .data 0x000000000001fdc1 0x0 lib/lib.a(close.o) - .data 0x000000000001fdc1 0x0 lib/lib.a(errno.o) - .data 0x000000000001fdc1 0x0 lib/lib.a(write.o) - .data 0x000000000001fdc1 0x0 lib/lib.a(dup.o) - .data 0x000000000001fdc1 0x0 lib/lib.a(setsid.o) - .data 0x000000000001fdc1 0x0 lib/lib.a(execve.o) - .data 0x000000000001fdc1 0x0 lib/lib.a(wait.o) - .data 0x000000000001fdc1 0x0 lib/lib.a(string.o) - *fill* 0x000000000001fdc1 0x1f - .data 0x000000000001fde0 0x50 lib/lib.a(malloc.o) - 0x000000000001fde0 bucket_dir + .data 0x000000000001cf40 0x0 boot/head.o + .data 0x000000000001cf40 0x28 init/main.o + *fill* 0x000000000001cf68 0x18 + .data 0x000000000001cf80 0x1330 kernel/kernel.o + 0x000000000001cf80 sys_call_table + 0x000000000001d0f0 NR_syscalls + 0x000000000001e100 current + 0x000000000001e120 task + 0x000000000001e220 stack_start + 0x000000000001e228 current_DOR + .data 0x000000000001e2b0 0x0 mm/mm.o + *fill* 0x000000000001e2b0 0x10 + .data 0x000000000001e2c0 0x60 fs/fs.o + 0x000000000001e2c4 start_buffer + .data 0x000000000001e320 0x0 kernel/blk_drv/blk_drv.a(ll_rw_blk.o) + .data 0x000000000001e320 0xcd kernel/blk_drv/blk_drv.a(floppy.o) + *fill* 0x000000000001e3ed 0x3 + .data 0x000000000001e3f0 0x4 kernel/blk_drv/blk_drv.a(hd.o) + .data 0x000000000001e3f4 0x0 kernel/blk_drv/blk_drv.a(ramdisk.o) + *fill* 0x000000000001e3f4 0xc + .data 0x000000000001e400 0x2538 kernel/chr_drv/chr_drv.a(tty_io.o) + 0x000000000001e400 tty_table + 0x0000000000020920 table_list + .data 0x0000000000020938 0x1 kernel/chr_drv/chr_drv.a(console.o) + .data 0x0000000000020939 0x0 kernel/chr_drv/chr_drv.a(keyboard.2.o) + .data 0x0000000000020939 0x0 kernel/chr_drv/chr_drv.a(serial.o) + .data 0x0000000000020939 0x0 kernel/chr_drv/chr_drv.a(rs_io.o) + *fill* 0x0000000000020939 0x7 + .data 0x0000000000020940 0x20 kernel/chr_drv/chr_drv.a(tty_ioctl.o) + .data 0x0000000000020960 0x0 kernel/math/math.a(math_emulate.o) + .data 0x0000000000020960 0x101 lib/lib.a(ctype.o) + 0x0000000000020960 _ctype + .data 0x0000000000020a61 0x0 lib/lib.a(_exit.o) + .data 0x0000000000020a61 0x0 lib/lib.a(open.o) + .data 0x0000000000020a61 0x0 lib/lib.a(close.o) + .data 0x0000000000020a61 0x0 lib/lib.a(errno.o) + .data 0x0000000000020a61 0x0 lib/lib.a(write.o) + .data 0x0000000000020a61 0x0 lib/lib.a(dup.o) + .data 0x0000000000020a61 0x0 lib/lib.a(setsid.o) + .data 0x0000000000020a61 0x0 lib/lib.a(execve.o) + .data 0x0000000000020a61 0x0 lib/lib.a(wait.o) + .data 0x0000000000020a61 0x0 lib/lib.a(string.o) + *fill* 0x0000000000020a61 0x1f + .data 0x0000000000020a80 0x50 lib/lib.a(malloc.o) + 0x0000000000020a80 bucket_dir .data1 *(.data1) - 0x000000000001fe30 _edata = . - 0x000000000001fe30 PROVIDE (edata, .) - 0x000000000001fe30 . = . - 0x000000000001fe30 __bss_start = . + 0x0000000000020ad0 _edata = . + 0x0000000000020ad0 PROVIDE (edata, .) + 0x0000000000020ad0 . = . + 0x0000000000020ad0 __bss_start = . -.bss 0x000000000001fe40 0x44b0 +.bss 0x0000000000020ae0 0x44b0 *(.dynbss) *(.bss .bss.* .gnu.linkonce.b.*) - .bss 0x000000000001fe40 0x0 boot/head.o - .bss 0x000000000001fe40 0x40c init/main.o - *fill* 0x000000000002024c 0x14 - .bss 0x0000000000020260 0x760 kernel/kernel.o - 0x0000000000020260 jiffies - 0x0000000000020264 startup_time - 0x0000000000020268 last_task_used_math - 0x00000000000205a4 last_pid - .bss 0x00000000000209c0 0xf20 mm/mm.o - .bss 0x00000000000218e0 0x710 fs/fs.o - 0x00000000000218e0 inode_table - 0x0000000000021fe0 nr_buffers - 0x0000000000021fec ROOT_DEV - *fill* 0x0000000000021ff0 0x10 - .bss 0x0000000000022000 0x58 kernel/blk_drv/blk_drv.a(ll_rw_blk.o) - 0x0000000000022000 wait_for_request - 0x0000000000022020 blk_dev - .bss 0x0000000000022058 0x25 kernel/blk_drv/blk_drv.a(floppy.o) - 0x0000000000022058 do_floppy - 0x000000000002205c selected - 0x0000000000022060 wait_on_floppy_select - *fill* 0x000000000002207d 0x3 - .bss 0x0000000000022080 0xb0 kernel/blk_drv/blk_drv.a(hd.o) - 0x0000000000022080 do_hd - 0x00000000000220a0 hd_info - .bss 0x0000000000022130 0x4 kernel/blk_drv/blk_drv.a(ramdisk.o) - 0x0000000000022130 rd_length - .bss 0x0000000000022134 0x4 kernel/chr_drv/chr_drv.a(tty_io.o) - *fill* 0x0000000000022138 0x8 - .bss 0x0000000000022140 0xac kernel/chr_drv/chr_drv.a(console.o) - 0x0000000000022140 beepcount - .bss 0x00000000000221ec 0x0 kernel/chr_drv/chr_drv.a(keyboard.2.o) - .bss 0x00000000000221ec 0x0 kernel/chr_drv/chr_drv.a(serial.o) - .bss 0x00000000000221ec 0x0 kernel/chr_drv/chr_drv.a(rs_io.o) - .bss 0x00000000000221ec 0x0 kernel/chr_drv/chr_drv.a(tty_ioctl.o) - .bss 0x00000000000221ec 0x0 kernel/math/math.a(math_emulate.o) - .bss 0x00000000000221ec 0x0 lib/lib.a(ctype.o) - .bss 0x00000000000221ec 0x0 lib/lib.a(_exit.o) - .bss 0x00000000000221ec 0x0 lib/lib.a(open.o) - .bss 0x00000000000221ec 0x0 lib/lib.a(close.o) - .bss 0x00000000000221ec 0x0 lib/lib.a(errno.o) - .bss 0x00000000000221ec 0x0 lib/lib.a(write.o) - .bss 0x00000000000221ec 0x0 lib/lib.a(dup.o) - .bss 0x00000000000221ec 0x0 lib/lib.a(setsid.o) - .bss 0x00000000000221ec 0x0 lib/lib.a(execve.o) - .bss 0x00000000000221ec 0x0 lib/lib.a(wait.o) - .bss 0x00000000000221ec 0x0 lib/lib.a(string.o) - .bss 0x00000000000221ec 0x4 lib/lib.a(malloc.o) - 0x00000000000221ec free_bucket_desc + .bss 0x0000000000020ae0 0x0 boot/head.o + .bss 0x0000000000020ae0 0x40c init/main.o + *fill* 0x0000000000020eec 0x14 + .bss 0x0000000000020f00 0x760 kernel/kernel.o + 0x0000000000020f00 jiffies + 0x0000000000020f04 startup_time + 0x0000000000020f08 last_task_used_math + 0x0000000000021244 last_pid + .bss 0x0000000000021660 0xf20 mm/mm.o + .bss 0x0000000000022580 0x710 fs/fs.o + 0x0000000000022580 inode_table + 0x0000000000022c80 nr_buffers + 0x0000000000022c8c ROOT_DEV + *fill* 0x0000000000022c90 0x10 + .bss 0x0000000000022ca0 0x58 kernel/blk_drv/blk_drv.a(ll_rw_blk.o) + 0x0000000000022ca0 wait_for_request + 0x0000000000022cc0 blk_dev + .bss 0x0000000000022cf8 0x25 kernel/blk_drv/blk_drv.a(floppy.o) + 0x0000000000022cf8 do_floppy + 0x0000000000022cfc selected + 0x0000000000022d00 wait_on_floppy_select + *fill* 0x0000000000022d1d 0x3 + .bss 0x0000000000022d20 0xb0 kernel/blk_drv/blk_drv.a(hd.o) + 0x0000000000022d20 do_hd + 0x0000000000022d40 hd_info + .bss 0x0000000000022dd0 0x4 kernel/blk_drv/blk_drv.a(ramdisk.o) + 0x0000000000022dd0 rd_length + .bss 0x0000000000022dd4 0x4 kernel/chr_drv/chr_drv.a(tty_io.o) + *fill* 0x0000000000022dd8 0x8 + .bss 0x0000000000022de0 0xac kernel/chr_drv/chr_drv.a(console.o) + 0x0000000000022de0 beepcount + .bss 0x0000000000022e8c 0x0 kernel/chr_drv/chr_drv.a(keyboard.2.o) + .bss 0x0000000000022e8c 0x0 kernel/chr_drv/chr_drv.a(serial.o) + .bss 0x0000000000022e8c 0x0 kernel/chr_drv/chr_drv.a(rs_io.o) + .bss 0x0000000000022e8c 0x0 kernel/chr_drv/chr_drv.a(tty_ioctl.o) + .bss 0x0000000000022e8c 0x0 kernel/math/math.a(math_emulate.o) + .bss 0x0000000000022e8c 0x0 lib/lib.a(ctype.o) + .bss 0x0000000000022e8c 0x0 lib/lib.a(_exit.o) + .bss 0x0000000000022e8c 0x0 lib/lib.a(open.o) + .bss 0x0000000000022e8c 0x0 lib/lib.a(close.o) + .bss 0x0000000000022e8c 0x0 lib/lib.a(errno.o) + .bss 0x0000000000022e8c 0x0 lib/lib.a(write.o) + .bss 0x0000000000022e8c 0x0 lib/lib.a(dup.o) + .bss 0x0000000000022e8c 0x0 lib/lib.a(setsid.o) + .bss 0x0000000000022e8c 0x0 lib/lib.a(execve.o) + .bss 0x0000000000022e8c 0x0 lib/lib.a(wait.o) + .bss 0x0000000000022e8c 0x0 lib/lib.a(string.o) + .bss 0x0000000000022e8c 0x4 lib/lib.a(malloc.o) + 0x0000000000022e8c free_bucket_desc *(COMMON) - *fill* 0x00000000000221f0 0x10 - COMMON 0x0000000000022200 0x20 init/main.o - 0x0000000000022200 drive_info - COMMON 0x0000000000022220 0x1000 kernel/kernel.o - 0x0000000000022220 user_stack - COMMON 0x0000000000023220 0xc40 fs/fs.o - 0x0000000000023220 hash_table - 0x0000000000023700 super_block - 0x0000000000023a60 file_table - COMMON 0x0000000000023e60 0x480 kernel/blk_drv/blk_drv.a(ll_rw_blk.o) - 0x0000000000023e60 request - COMMON 0x00000000000242e0 0x4 kernel/blk_drv/blk_drv.a(ramdisk.o) - 0x00000000000242e0 rd_start - COMMON 0x00000000000242e4 0x1 lib/lib.a(ctype.o) - 0x00000000000242e4 _ctmp - *fill* 0x00000000000242e5 0x3 - COMMON 0x00000000000242e8 0x4 lib/lib.a(errno.o) - 0x00000000000242e8 errno - COMMON 0x00000000000242ec 0x4 lib/lib.a(string.o) - 0x00000000000242ec ___strtok - 0x00000000000242f0 . = ALIGN ((. != 0x0)?0x4:0x1) - 0x00000000000242f0 . = ALIGN (0x4) - 0x00000000000242f0 . = SEGMENT_START ("ldata-segment", .) - 0x00000000000242f0 . = ALIGN (0x4) - 0x00000000000242f0 _end = . - 0x00000000000242f0 PROVIDE (end, .) + *fill* 0x0000000000022e90 0x10 + COMMON 0x0000000000022ea0 0x20 init/main.o + 0x0000000000022ea0 drive_info + COMMON 0x0000000000022ec0 0x1000 kernel/kernel.o + 0x0000000000022ec0 user_stack + COMMON 0x0000000000023ec0 0xc40 fs/fs.o + 0x0000000000023ec0 hash_table + 0x00000000000243a0 super_block + 0x0000000000024700 file_table + COMMON 0x0000000000024b00 0x480 kernel/blk_drv/blk_drv.a(ll_rw_blk.o) + 0x0000000000024b00 request + COMMON 0x0000000000024f80 0x4 kernel/blk_drv/blk_drv.a(ramdisk.o) + 0x0000000000024f80 rd_start + COMMON 0x0000000000024f84 0x1 lib/lib.a(ctype.o) + 0x0000000000024f84 _ctmp + *fill* 0x0000000000024f85 0x3 + COMMON 0x0000000000024f88 0x4 lib/lib.a(errno.o) + 0x0000000000024f88 errno + COMMON 0x0000000000024f8c 0x4 lib/lib.a(string.o) + 0x0000000000024f8c ___strtok + 0x0000000000024f90 . = ALIGN ((. != 0x0)?0x4:0x1) + 0x0000000000024f90 . = ALIGN (0x4) + 0x0000000000024f90 . = SEGMENT_START ("ldata-segment", .) + 0x0000000000024f90 . = ALIGN (0x4) + 0x0000000000024f90 _end = . + 0x0000000000024f90 PROVIDE (end, .) .stab *(.stab) @@ -926,144 +926,144 @@ LOAD lib/lib.a .debug_pubnames *(.debug_pubnames) -.debug_info 0x0000000000000000 0x178f7 +.debug_info 0x0000000000000000 0x18131 *(.debug_info .gnu.linkonce.wi.*) - .debug_info 0x0000000000000000 0x553 init/main.o - .debug_info 0x0000000000000553 0x4cb6 kernel/kernel.o - .debug_info 0x0000000000005209 0xb2b mm/mm.o - .debug_info 0x0000000000005d34 0xac3f fs/fs.o - .debug_info 0x0000000000010973 0x932 kernel/blk_drv/blk_drv.a(ll_rw_blk.o) - .debug_info 0x00000000000112a5 0xc9f kernel/blk_drv/blk_drv.a(floppy.o) - .debug_info 0x0000000000011f44 0xd5f kernel/blk_drv/blk_drv.a(hd.o) - .debug_info 0x0000000000012ca3 0xad5 kernel/blk_drv/blk_drv.a(ramdisk.o) - .debug_info 0x0000000000013778 0xacd kernel/chr_drv/chr_drv.a(tty_io.o) - .debug_info 0x0000000000014245 0xdb0 kernel/chr_drv/chr_drv.a(console.o) - .debug_info 0x0000000000014ff5 0x85c kernel/chr_drv/chr_drv.a(serial.o) - .debug_info 0x0000000000015851 0xb47 kernel/chr_drv/chr_drv.a(tty_ioctl.o) - .debug_info 0x0000000000016398 0x7b5 kernel/math/math.a(math_emulate.o) - .debug_info 0x0000000000016b4d 0x66 lib/lib.a(ctype.o) - .debug_info 0x0000000000016bb3 0x77 lib/lib.a(_exit.o) - .debug_info 0x0000000000016c2a 0xd0 lib/lib.a(open.o) - .debug_info 0x0000000000016cfa 0x97 lib/lib.a(close.o) - .debug_info 0x0000000000016d91 0x36 lib/lib.a(errno.o) - .debug_info 0x0000000000016dc7 0xc9 lib/lib.a(write.o) - .debug_info 0x0000000000016e90 0x97 lib/lib.a(dup.o) - .debug_info 0x0000000000016f27 0x95 lib/lib.a(setsid.o) - .debug_info 0x0000000000016fbc 0xcb lib/lib.a(execve.o) - .debug_info 0x0000000000017087 0xed lib/lib.a(wait.o) - .debug_info 0x0000000000017174 0x55e lib/lib.a(string.o) - .debug_info 0x00000000000176d2 0x225 lib/lib.a(malloc.o) - -.debug_abbrev 0x0000000000000000 0x4694 + .debug_info 0x0000000000000000 0xb73 init/main.o + .debug_info 0x0000000000000b73 0x4cb6 kernel/kernel.o + .debug_info 0x0000000000005829 0xb2b mm/mm.o + .debug_info 0x0000000000006354 0xae59 fs/fs.o + .debug_info 0x00000000000111ad 0x932 kernel/blk_drv/blk_drv.a(ll_rw_blk.o) + .debug_info 0x0000000000011adf 0xc9f kernel/blk_drv/blk_drv.a(floppy.o) + .debug_info 0x000000000001277e 0xd5f kernel/blk_drv/blk_drv.a(hd.o) + .debug_info 0x00000000000134dd 0xad5 kernel/blk_drv/blk_drv.a(ramdisk.o) + .debug_info 0x0000000000013fb2 0xacd kernel/chr_drv/chr_drv.a(tty_io.o) + .debug_info 0x0000000000014a7f 0xdb0 kernel/chr_drv/chr_drv.a(console.o) + .debug_info 0x000000000001582f 0x85c kernel/chr_drv/chr_drv.a(serial.o) + .debug_info 0x000000000001608b 0xb47 kernel/chr_drv/chr_drv.a(tty_ioctl.o) + .debug_info 0x0000000000016bd2 0x7b5 kernel/math/math.a(math_emulate.o) + .debug_info 0x0000000000017387 0x66 lib/lib.a(ctype.o) + .debug_info 0x00000000000173ed 0x77 lib/lib.a(_exit.o) + .debug_info 0x0000000000017464 0xd0 lib/lib.a(open.o) + .debug_info 0x0000000000017534 0x97 lib/lib.a(close.o) + .debug_info 0x00000000000175cb 0x36 lib/lib.a(errno.o) + .debug_info 0x0000000000017601 0xc9 lib/lib.a(write.o) + .debug_info 0x00000000000176ca 0x97 lib/lib.a(dup.o) + .debug_info 0x0000000000017761 0x95 lib/lib.a(setsid.o) + .debug_info 0x00000000000177f6 0xcb lib/lib.a(execve.o) + .debug_info 0x00000000000178c1 0xed lib/lib.a(wait.o) + .debug_info 0x00000000000179ae 0x55e lib/lib.a(string.o) + .debug_info 0x0000000000017f0c 0x225 lib/lib.a(malloc.o) + +.debug_abbrev 0x0000000000000000 0x4768 *(.debug_abbrev) - .debug_abbrev 0x0000000000000000 0x1d3 init/main.o - .debug_abbrev 0x00000000000001d3 0xf63 kernel/kernel.o - .debug_abbrev 0x0000000000001136 0x20b mm/mm.o - .debug_abbrev 0x0000000000001341 0x1bb3 fs/fs.o - .debug_abbrev 0x0000000000002ef4 0x169 kernel/blk_drv/blk_drv.a(ll_rw_blk.o) - .debug_abbrev 0x000000000000305d 0x27d kernel/blk_drv/blk_drv.a(floppy.o) - .debug_abbrev 0x00000000000032da 0x23c kernel/blk_drv/blk_drv.a(hd.o) - .debug_abbrev 0x0000000000003516 0x1a8 kernel/blk_drv/blk_drv.a(ramdisk.o) - .debug_abbrev 0x00000000000036be 0x279 kernel/chr_drv/chr_drv.a(tty_io.o) - .debug_abbrev 0x0000000000003937 0x26b kernel/chr_drv/chr_drv.a(console.o) - .debug_abbrev 0x0000000000003ba2 0x175 kernel/chr_drv/chr_drv.a(serial.o) - .debug_abbrev 0x0000000000003d17 0x18d kernel/chr_drv/chr_drv.a(tty_ioctl.o) - .debug_abbrev 0x0000000000003ea4 0x163 kernel/math/math.a(math_emulate.o) - .debug_abbrev 0x0000000000004007 0x3e lib/lib.a(ctype.o) - .debug_abbrev 0x0000000000004045 0x51 lib/lib.a(_exit.o) - .debug_abbrev 0x0000000000004096 0x97 lib/lib.a(open.o) - .debug_abbrev 0x000000000000412d 0x75 lib/lib.a(close.o) - .debug_abbrev 0x00000000000041a2 0x2c lib/lib.a(errno.o) - .debug_abbrev 0x00000000000041ce 0xa1 lib/lib.a(write.o) - .debug_abbrev 0x000000000000426f 0x75 lib/lib.a(dup.o) - .debug_abbrev 0x00000000000042e4 0x73 lib/lib.a(setsid.o) - .debug_abbrev 0x0000000000004357 0x85 lib/lib.a(execve.o) - .debug_abbrev 0x00000000000043dc 0xb6 lib/lib.a(wait.o) - .debug_abbrev 0x0000000000004492 0xe9 lib/lib.a(string.o) - .debug_abbrev 0x000000000000457b 0x119 lib/lib.a(malloc.o) - -.debug_line 0x0000000000000000 0x47b9 + .debug_abbrev 0x0000000000000000 0x237 init/main.o + .debug_abbrev 0x0000000000000237 0xf63 kernel/kernel.o + .debug_abbrev 0x000000000000119a 0x20b mm/mm.o + .debug_abbrev 0x00000000000013a5 0x1c23 fs/fs.o + .debug_abbrev 0x0000000000002fc8 0x169 kernel/blk_drv/blk_drv.a(ll_rw_blk.o) + .debug_abbrev 0x0000000000003131 0x27d kernel/blk_drv/blk_drv.a(floppy.o) + .debug_abbrev 0x00000000000033ae 0x23c kernel/blk_drv/blk_drv.a(hd.o) + .debug_abbrev 0x00000000000035ea 0x1a8 kernel/blk_drv/blk_drv.a(ramdisk.o) + .debug_abbrev 0x0000000000003792 0x279 kernel/chr_drv/chr_drv.a(tty_io.o) + .debug_abbrev 0x0000000000003a0b 0x26b kernel/chr_drv/chr_drv.a(console.o) + .debug_abbrev 0x0000000000003c76 0x175 kernel/chr_drv/chr_drv.a(serial.o) + .debug_abbrev 0x0000000000003deb 0x18d kernel/chr_drv/chr_drv.a(tty_ioctl.o) + .debug_abbrev 0x0000000000003f78 0x163 kernel/math/math.a(math_emulate.o) + .debug_abbrev 0x00000000000040db 0x3e lib/lib.a(ctype.o) + .debug_abbrev 0x0000000000004119 0x51 lib/lib.a(_exit.o) + .debug_abbrev 0x000000000000416a 0x97 lib/lib.a(open.o) + .debug_abbrev 0x0000000000004201 0x75 lib/lib.a(close.o) + .debug_abbrev 0x0000000000004276 0x2c lib/lib.a(errno.o) + .debug_abbrev 0x00000000000042a2 0xa1 lib/lib.a(write.o) + .debug_abbrev 0x0000000000004343 0x75 lib/lib.a(dup.o) + .debug_abbrev 0x00000000000043b8 0x73 lib/lib.a(setsid.o) + .debug_abbrev 0x000000000000442b 0x85 lib/lib.a(execve.o) + .debug_abbrev 0x00000000000044b0 0xb6 lib/lib.a(wait.o) + .debug_abbrev 0x0000000000004566 0xe9 lib/lib.a(string.o) + .debug_abbrev 0x000000000000464f 0x119 lib/lib.a(malloc.o) + +.debug_line 0x0000000000000000 0x49b3 *(.debug_line .debug_line.* .debug_line_end) - .debug_line 0x0000000000000000 0x1a7 init/main.o - .debug_line 0x00000000000001a7 0xe86 kernel/kernel.o - .debug_line 0x000000000000102d 0x274 mm/mm.o - .debug_line 0x00000000000012a1 0x1d86 fs/fs.o - .debug_line 0x0000000000003027 0x197 kernel/blk_drv/blk_drv.a(ll_rw_blk.o) - .debug_line 0x00000000000031be 0x24c kernel/blk_drv/blk_drv.a(floppy.o) - .debug_line 0x000000000000340a 0x2bf kernel/blk_drv/blk_drv.a(hd.o) - .debug_line 0x00000000000036c9 0x160 kernel/blk_drv/blk_drv.a(ramdisk.o) - .debug_line 0x0000000000003829 0x33b kernel/chr_drv/chr_drv.a(tty_io.o) - .debug_line 0x0000000000003b64 0x3ab kernel/chr_drv/chr_drv.a(console.o) - .debug_line 0x0000000000003f0f 0xd9 kernel/chr_drv/chr_drv.a(serial.o) - .debug_line 0x0000000000003fe8 0x1db kernel/chr_drv/chr_drv.a(tty_ioctl.o) - .debug_line 0x00000000000041c3 0xe1 kernel/math/math.a(math_emulate.o) - .debug_line 0x00000000000042a4 0x28 lib/lib.a(ctype.o) - .debug_line 0x00000000000042cc 0x39 lib/lib.a(_exit.o) - .debug_line 0x0000000000004305 0x62 lib/lib.a(open.o) - .debug_line 0x0000000000004367 0x5c lib/lib.a(close.o) - .debug_line 0x00000000000043c3 0x28 lib/lib.a(errno.o) - .debug_line 0x00000000000043eb 0x76 lib/lib.a(write.o) - .debug_line 0x0000000000004461 0x5a lib/lib.a(dup.o) - .debug_line 0x00000000000044bb 0x77 lib/lib.a(setsid.o) - .debug_line 0x0000000000004532 0x5d lib/lib.a(execve.o) - .debug_line 0x000000000000458f 0x7a lib/lib.a(wait.o) - .debug_line 0x0000000000004609 0xc6 lib/lib.a(string.o) - .debug_line 0x00000000000046cf 0xea lib/lib.a(malloc.o) + .debug_line 0x0000000000000000 0x1e5 init/main.o + .debug_line 0x00000000000001e5 0xe86 kernel/kernel.o + .debug_line 0x000000000000106b 0x276 mm/mm.o + .debug_line 0x00000000000012e1 0x1f40 fs/fs.o + .debug_line 0x0000000000003221 0x197 kernel/blk_drv/blk_drv.a(ll_rw_blk.o) + .debug_line 0x00000000000033b8 0x24c kernel/blk_drv/blk_drv.a(floppy.o) + .debug_line 0x0000000000003604 0x2bf kernel/blk_drv/blk_drv.a(hd.o) + .debug_line 0x00000000000038c3 0x160 kernel/blk_drv/blk_drv.a(ramdisk.o) + .debug_line 0x0000000000003a23 0x33b kernel/chr_drv/chr_drv.a(tty_io.o) + .debug_line 0x0000000000003d5e 0x3ab kernel/chr_drv/chr_drv.a(console.o) + .debug_line 0x0000000000004109 0xd9 kernel/chr_drv/chr_drv.a(serial.o) + .debug_line 0x00000000000041e2 0x1db kernel/chr_drv/chr_drv.a(tty_ioctl.o) + .debug_line 0x00000000000043bd 0xe1 kernel/math/math.a(math_emulate.o) + .debug_line 0x000000000000449e 0x28 lib/lib.a(ctype.o) + .debug_line 0x00000000000044c6 0x39 lib/lib.a(_exit.o) + .debug_line 0x00000000000044ff 0x62 lib/lib.a(open.o) + .debug_line 0x0000000000004561 0x5c lib/lib.a(close.o) + .debug_line 0x00000000000045bd 0x28 lib/lib.a(errno.o) + .debug_line 0x00000000000045e5 0x76 lib/lib.a(write.o) + .debug_line 0x000000000000465b 0x5a lib/lib.a(dup.o) + .debug_line 0x00000000000046b5 0x77 lib/lib.a(setsid.o) + .debug_line 0x000000000000472c 0x5d lib/lib.a(execve.o) + .debug_line 0x0000000000004789 0x7a lib/lib.a(wait.o) + .debug_line 0x0000000000004803 0xc6 lib/lib.a(string.o) + .debug_line 0x00000000000048c9 0xea lib/lib.a(malloc.o) .debug_frame *(.debug_frame) -.debug_str 0x0000000000000000 0x217e +.debug_str 0x0000000000000000 0x2196 *(.debug_str) - .debug_str 0x0000000000000000 0x1bc init/main.o - 0x1fb (size before relaxing) - .debug_str 0x00000000000001bc 0xabc kernel/kernel.o + .debug_str 0x0000000000000000 0x3bd init/main.o + 0x460 (size before relaxing) + .debug_str 0x00000000000003bd 0x8c4 kernel/kernel.o 0x230a (size before relaxing) - .debug_str 0x0000000000000c78 0x181 mm/mm.o + .debug_str 0x0000000000000c81 0x181 mm/mm.o 0x4dc (size before relaxing) - .debug_str 0x0000000000000df9 0x994 fs/fs.o - 0x4e20 (size before relaxing) - .debug_str 0x000000000000178d 0xec kernel/blk_drv/blk_drv.a(ll_rw_blk.o) + .debug_str 0x0000000000000e02 0x9a3 fs/fs.o + 0x4e32 (size before relaxing) + .debug_str 0x00000000000017a5 0xec kernel/blk_drv/blk_drv.a(ll_rw_blk.o) 0x48d (size before relaxing) - .debug_str 0x0000000000001879 0x1cf kernel/blk_drv/blk_drv.a(floppy.o) + .debug_str 0x0000000000001891 0x1cf kernel/blk_drv/blk_drv.a(floppy.o) 0x66f (size before relaxing) - .debug_str 0x0000000000001a48 0x15e kernel/blk_drv/blk_drv.a(hd.o) + .debug_str 0x0000000000001a60 0x15e kernel/blk_drv/blk_drv.a(hd.o) 0x5e4 (size before relaxing) - .debug_str 0x0000000000001ba6 0x43 kernel/blk_drv/blk_drv.a(ramdisk.o) + .debug_str 0x0000000000001bbe 0x43 kernel/blk_drv/blk_drv.a(ramdisk.o) 0x586 (size before relaxing) - .debug_str 0x0000000000001be9 0xf7 kernel/chr_drv/chr_drv.a(tty_io.o) + .debug_str 0x0000000000001c01 0xf7 kernel/chr_drv/chr_drv.a(tty_io.o) 0x4df (size before relaxing) - .debug_str 0x0000000000001ce0 0x1b9 kernel/chr_drv/chr_drv.a(console.o) + .debug_str 0x0000000000001cf8 0x1b9 kernel/chr_drv/chr_drv.a(console.o) 0x5b3 (size before relaxing) - .debug_str 0x0000000000001e99 0x1a kernel/chr_drv/chr_drv.a(serial.o) + .debug_str 0x0000000000001eb1 0x1a kernel/chr_drv/chr_drv.a(serial.o) 0x3f8 (size before relaxing) - .debug_str 0x0000000000001eb3 0x8b kernel/chr_drv/chr_drv.a(tty_ioctl.o) + .debug_str 0x0000000000001ecb 0x8b kernel/chr_drv/chr_drv.a(tty_ioctl.o) 0x4a3 (size before relaxing) - .debug_str 0x0000000000001f3e 0x6c kernel/math/math.a(math_emulate.o) + .debug_str 0x0000000000001f56 0x6c kernel/math/math.a(math_emulate.o) 0x38e (size before relaxing) - .debug_str 0x0000000000001faa 0x89 lib/lib.a(ctype.o) + .debug_str 0x0000000000001fc2 0x89 lib/lib.a(ctype.o) 0xb2 (size before relaxing) - .debug_str 0x0000000000002033 0x8 lib/lib.a(_exit.o) + .debug_str 0x000000000000204b 0x8 lib/lib.a(_exit.o) 0xde (size before relaxing) .debug_str 0x0000000000000000 0x8 lib/lib.a(open.o) 0xee (size before relaxing) - .debug_str 0x000000000000203b 0x8 lib/lib.a(close.o) + .debug_str 0x0000000000002053 0x8 lib/lib.a(close.o) 0xe0 (size before relaxing) - .debug_str 0x0000000000002043 0x8 lib/lib.a(errno.o) + .debug_str 0x000000000000205b 0x8 lib/lib.a(errno.o) 0x8f (size before relaxing) .debug_str 0x0000000000000000 0x8 lib/lib.a(write.o) 0xec (size before relaxing) - .debug_str 0x000000000000204b 0x6 lib/lib.a(dup.o) + .debug_str 0x0000000000002063 0x6 lib/lib.a(dup.o) 0xd8 (size before relaxing) - .debug_str 0x0000000000002051 0x9 lib/lib.a(setsid.o) + .debug_str 0x0000000000002069 0x9 lib/lib.a(setsid.o) 0xe8 (size before relaxing) - .debug_str 0x000000000000205a 0x9 lib/lib.a(execve.o) + .debug_str 0x0000000000002072 0x9 lib/lib.a(execve.o) 0xf1 (size before relaxing) - .debug_str 0x0000000000002063 0x11 lib/lib.a(wait.o) + .debug_str 0x000000000000207b 0x11 lib/lib.a(wait.o) 0xfe (size before relaxing) - .debug_str 0x0000000000002074 0x93 lib/lib.a(string.o) + .debug_str 0x000000000000208c 0x93 lib/lib.a(string.o) 0x143 (size before relaxing) - .debug_str 0x0000000000002107 0x77 lib/lib.a(malloc.o) + .debug_str 0x000000000000211f 0x77 lib/lib.a(malloc.o) 0x15e (size before relaxing) .debug_loc diff --git a/linux-0.11-lab/0/linux/execve2.patch b/linux-0.11-lab/0/linux/execve2.patch new file mode 100644 index 0000000..7d99d4f --- /dev/null +++ b/linux-0.11-lab/0/linux/execve2.patch @@ -0,0 +1,41 @@ +diff -Naur 0/linux/init/main.c 4/linux/init/main.c +--- 0/linux/init/main.c 2016-08-08 09:40:13.000000000 +0800 ++++ 4/linux/init/main.c 2021-07-06 14:16:56.000000000 +0800 +@@ -208,3 +208,9 @@ + } + _exit(0); /* NOTE! _exit, not exit() */ + } ++ ++void print_nr(int sid) ++{ ++ if (sid > 86) ++ printk(" --syscall: sid=%d, pid=%d\n", sid, current->pid); ++} +diff -Naur 0/linux/kernel/system_call.s 4/linux/kernel/system_call.s +--- 0/linux/kernel/system_call.s 2015-09-03 20:21:09.000000000 +0800 ++++ 4/linux/kernel/system_call.s 2021-07-06 14:18:56.000000000 +0800 +@@ -91,6 +91,11 @@ + mov %dx,%es + movl $0x17,%edx # fs points to local data space + mov %dx,%fs ++ ++ pushl %eax #by wyj ++ call print_nr ++ popl %eax ++ + call sys_call_table(,%eax,4) + pushl %eax + movl current,%eax +diff -Naur 0/linux/mm/memory.c 4/linux/mm/memory.c +--- 0/linux/mm/memory.c 2015-09-04 15:24:20.000000000 +0800 ++++ 4/linux/mm/memory.c 2021-07-06 14:21:45.000000000 +0800 +@@ -370,6 +370,9 @@ + unsigned long page; + int block,i; + ++ if (current->pid > 5) ++ printk(" --do_no_page: address=%x, pid=%d\n", address, current->pid); ++ + address &= 0xfffff000; + tmp = address - current->start_code; + if (!current->executable || tmp >= current->end_data) { diff --git a/linux-0.11-lab/0/linux/fs/exec.c b/linux-0.11-lab/0/linux/fs/exec.c index 2ff220e..2a64408 100644 --- a/linux-0.11-lab/0/linux/fs/exec.c +++ b/linux-0.11-lab/0/linux/fs/exec.c @@ -357,3 +357,229 @@ exec_error1: free_page(page[i]); return(retval); } + + + + + + + + + + + + + +static inline volatile void oom(void) +{ + printk("out of memory\n\r"); + do_exit(SIGSEGV); +} +int do_execve2(unsigned long * eip,long tmp,char * filename, + char ** argv, char ** envp) +{ + struct m_inode * inode; + struct buffer_head * bh; + struct exec ex; + unsigned long page[MAX_ARG_PAGES]; + int i,argc,envc; + int e_uid, e_gid; + int retval; + int sh_bang = 0; + unsigned long p=PAGE_SIZE*MAX_ARG_PAGES-4;/*Save environment variables and parameters*/ + + if ((0xffff & eip[1]) != 0x000f)/*Check if it's a kernel code snippet*/ + panic("execve called from supervisor mode"); + for (i=0 ; ii_mode)) { /* must be regular file */ + retval = -EACCES; + goto exec_error2; + } + i = inode->i_mode; + e_uid = (i & S_ISUID) ? inode->i_uid : current->euid; + e_gid = (i & S_ISGID) ? inode->i_gid : current->egid; + if (current->euid == inode->i_uid) + i >>= 6; + else if (current->egid == inode->i_gid) + i >>= 3; + if (!(i & 1) && + !((inode->i_mode & 0111) && suser())) { + retval = -ENOEXEC; + goto exec_error2; + } + if (!(bh = bread(inode->i_dev,inode->i_zone[0]))) { + retval = -EACCES; + goto exec_error2; + } + ex = *((struct exec *) bh->b_data); /* read exec-header */ + if ((bh->b_data[0] == '#') && (bh->b_data[1] == '!') && (!sh_bang)) { + /* + * This section does the #! interpretation. + * Sorta complicated, but hopefully it will work. -TYT + */ + + char buf[1023], *cp, *interp, *i_name, *i_arg; + unsigned long old_fs; + + strncpy(buf, bh->b_data+2, 1022); + brelse(bh); + iput(inode); + buf[1022] = '\0'; + if (cp = strchr(buf, '\n')) { + *cp = '\0'; + for (cp = buf; (*cp == ' ') || (*cp == '\t'); cp++); + } + if (!cp || *cp == '\0') { + retval = -ENOEXEC; /* No interpreter name found */ + goto exec_error1; + } + interp = i_name = cp; + i_arg = 0; + for ( ; *cp && (*cp != ' ') && (*cp != '\t'); cp++) { + if (*cp == '/') + i_name = cp+1; + } + if (*cp) { + *cp++ = '\0'; + i_arg = cp; + } + /* + * OK, we've parsed out the interpreter name and + * (optional) argument. + */ + if (sh_bang++ == 0) { + p = copy_strings(envc, envp, page, p, 0); + p = copy_strings(--argc, argv+1, page, p, 0); + } + /* + * Splice in (1) the interpreter's name for argv[0] + * (2) (optional) argument to interpreter + * (3) filename of shell script + * + * This is done in reverse order, because of how the + * user environment and arguments are stored. + */ + p = copy_strings(1, &filename, page, p, 1); + argc++; + if (i_arg) { + p = copy_strings(1, &i_arg, page, p, 2); + argc++; + } + p = copy_strings(1, &i_name, page, p, 2); + argc++; + if (!p) { + retval = -ENOMEM; + goto exec_error1; + } + /* + * OK, now restart the process with the interpreter's inode. + */ + old_fs = get_fs(); + set_fs(get_ds()); + if (!(inode=namei(interp))) { /* get executables inode */ + set_fs(old_fs); + retval = -ENOENT; + goto exec_error1; + } + set_fs(old_fs); + goto restart_interp; + } + brelse(bh); + if (N_MAGIC(ex) != ZMAGIC || ex.a_trsize || ex.a_drsize || + ex.a_text+ex.a_data+ex.a_bss>0x3000000 || + inode->i_size < ex.a_text+ex.a_data+ex.a_syms+N_TXTOFF(ex)) { + retval = -ENOEXEC; + goto exec_error2; + } + if (N_TXTOFF(ex) != BLOCK_SIZE) { + printk("%s: N_TXTOFF != BLOCK_SIZE. See a.out.h.", filename); + retval = -ENOEXEC; + goto exec_error2; + } + if (!sh_bang) { + p = copy_strings(envc,envp,page,p,0); + p = copy_strings(argc,argv,page,p,0); + if (!p) { + retval = -ENOMEM; + goto exec_error2; + } + } +/* OK, This is the point of no return */ + if (current->executable) + iput(current->executable); + current->executable = inode; + for (i=0 ; i<32 ; i++) + current->sigaction[i].sa_handler = NULL; + for (i=0 ; iclose_on_exec>>i)&1) + sys_close(i); + current->close_on_exec = 0; + free_page_tables(get_base(current->ldt[1]),get_limit(0x0f)); + free_page_tables(get_base(current->ldt[2]),get_limit(0x17)); + + + if (last_task_used_math == current) + last_task_used_math = NULL; + current->used_math = 0; + p += change_ldt(ex.a_text,page)-MAX_ARG_PAGES*PAGE_SIZE; + p = (unsigned long) create_tables((char *)p,argc,envc); + current->brk = ex.a_bss + + (current->end_data = ex.a_data + + (current->end_code = ex.a_text)); + current->start_stack = p & 0xfffff000; + current->euid = e_uid; + current->egid = e_gid; + + + + /*we should write here*/ + /*we clean the page before we load the page*/ + /*new*/ + + + unsigned long address,tmp1,page_judge; + int nr[4]; + int block,j; + address=current->start_code&0xfffff000; + tmp1=0; + /*brk is the length of code+data snippet*/ + for(;address<=current->start_code+current->brk;address+=4096,tmp1=page+4096) + { + if (!(page_judge = get_free_page())) + oom(); + /* remember that 1 block is used for header */ + block = 1 + tmp1/BLOCK_SIZE; + for (j=0 ; j<4 ; block++,j++) + nr[j] = bmap(current->executable,block); + bread_page(page_judge,current->executable->i_dev,nr); + if (!put_page(page_judge,address))/*do not get the page ,free it*/ + { + free_page(page_judge); + oom(); + } + + } + + + /*end*/ + i = ex.a_text+ex.a_data; + while (i&0xfff) + put_fs_byte(0,(char *) (i++)); + eip[0] = ex.a_entry; /* eip, magic happens :-) */ + eip[3] = p; /* stack pointer */ + /*printk("\nover\n");*/ + return 0; +exec_error2: + iput(inode); +exec_error1: + for (i=0 ; ii_mode)) { /* must be regular file */ - retval = -EACCES; - goto exec_error2; - } - i = inode->i_mode; - e_uid = (i & S_ISUID) ? inode->i_uid : current->euid; - e_gid = (i & S_ISGID) ? inode->i_gid : current->egid; - if (current->euid == inode->i_uid) - i >>= 6; - else if (current->egid == inode->i_gid) - i >>= 3; - if (!(i & 1) && - !((inode->i_mode & 0111) && suser())) { - retval = -ENOEXEC; - goto exec_error2; - } - if (!(bh = bread(inode->i_dev,inode->i_zone[0]))) { - retval = -EACCES; - goto exec_error2; - } - ex = *((struct exec *) bh->b_data); /* read exec-header */ - if ((bh->b_data[0] == '#') && (bh->b_data[1] == '!') && (!sh_bang)) { - /* - * This section does the #! interpretation. - * Sorta complicated, but hopefully it will work. -TYT - */ - - char buf[1023], *cp, *interp, *i_name, *i_arg; - unsigned long old_fs; - - strncpy(buf, bh->b_data+2, 1022); - brelse(bh); - iput(inode); - buf[1022] = '\0'; - if (cp = strchr(buf, '\n')) { - *cp = '\0'; - for (cp = buf; (*cp == ' ') || (*cp == '\t'); cp++); - } - if (!cp || *cp == '\0') { - retval = -ENOEXEC; /* No interpreter name found */ - goto exec_error1; - } - interp = i_name = cp; - i_arg = 0; - for ( ; *cp && (*cp != ' ') && (*cp != '\t'); cp++) { - if (*cp == '/') - i_name = cp+1; - } - if (*cp) { - *cp++ = '\0'; - i_arg = cp; - } - /* - * OK, we've parsed out the interpreter name and - * (optional) argument. - */ - if (sh_bang++ == 0) { - p = copy_strings(envc, envp, page, p, 0); - p = copy_strings(--argc, argv+1, page, p, 0); - } - /* - * Splice in (1) the interpreter's name for argv[0] - * (2) (optional) argument to interpreter - * (3) filename of shell script - * - * This is done in reverse order, because of how the - * user environment and arguments are stored. - */ - p = copy_strings(1, &filename, page, p, 1); - argc++; - if (i_arg) { - p = copy_strings(1, &i_arg, page, p, 2); - argc++; - } - p = copy_strings(1, &i_name, page, p, 2); - argc++; - if (!p) { - retval = -ENOMEM; - goto exec_error1; - } - /* - * OK, now restart the process with the interpreter's inode. - */ - old_fs = get_fs(); - set_fs(get_ds()); - if (!(inode=namei(interp))) { /* get executables inode */ - set_fs(old_fs); - retval = -ENOENT; - goto exec_error1; - } - set_fs(old_fs); - goto restart_interp; - } - brelse(bh); - if (N_MAGIC(ex) != ZMAGIC || ex.a_trsize || ex.a_drsize || - ex.a_text+ex.a_data+ex.a_bss>0x3000000 || - inode->i_size < ex.a_text+ex.a_data+ex.a_syms+N_TXTOFF(ex)) { - retval = -ENOEXEC; - goto exec_error2; - } - if (N_TXTOFF(ex) != BLOCK_SIZE) { - printk("%s: N_TXTOFF != BLOCK_SIZE. See a.out.h.", filename); - retval = -ENOEXEC; - goto exec_error2; - } - if (!sh_bang) { - p = copy_strings(envc,envp,page,p,0); - p = copy_strings(argc,argv,page,p,0); - if (!p) { - retval = -ENOMEM; - goto exec_error2; - } - } -/* OK, This is the point of no return */ - if (current->executable) - iput(current->executable); - current->executable = inode; - for (i=0 ; i<32 ; i++) - current->sigaction[i].sa_handler = NULL; - for (i=0 ; iclose_on_exec>>i)&1) - sys_close(i); - current->close_on_exec = 0; - free_page_tables(get_base(current->ldt[1]),get_limit(0x0f)); - free_page_tables(get_base(current->ldt[2]),get_limit(0x17)); - - /*we should rewrite here*/ - - - - - - /**/ - if (last_task_used_math == current) - last_task_used_math = NULL; - current->used_math = 0; - p += change_ldt(ex.a_text,page)-MAX_ARG_PAGES*PAGE_SIZE; - p = (unsigned long) create_tables((char *)p,argc,envc); - current->brk = ex.a_bss + - (current->end_data = ex.a_data + - (current->end_code = ex.a_text)); - current->start_stack = p & 0xfffff000; - current->euid = e_uid; - current->egid = e_gid; - i = ex.a_text+ex.a_data; - while (i&0xfff) - put_fs_byte(0,(char *) (i++)); - eip[0] = ex.a_entry; /* eip, magic happens :-) */ - eip[3] = p; /* stack pointer */ - return 0; -exec_error2: - iput(inode); -exec_error1: - for (i=0 ; i 86) + printk(" --syscall: sid=%d, pid=%d\n", sid, current->pid); +} diff --git a/linux-0.11-lab/0/linux/init/main.o b/linux-0.11-lab/0/linux/init/main.o index 4bc3a0c..a02f483 100644 Binary files a/linux-0.11-lab/0/linux/init/main.o and b/linux-0.11-lab/0/linux/init/main.o differ diff --git a/linux-0.11-lab/0/linux/kernel/blk_drv/blk_drv.a b/linux-0.11-lab/0/linux/kernel/blk_drv/blk_drv.a index e8e4d74..6c65063 100644 Binary files a/linux-0.11-lab/0/linux/kernel/blk_drv/blk_drv.a and b/linux-0.11-lab/0/linux/kernel/blk_drv/blk_drv.a differ diff --git a/linux-0.11-lab/0/linux/kernel/chr_drv/chr_drv.a b/linux-0.11-lab/0/linux/kernel/chr_drv/chr_drv.a index 4129926..703da3d 100644 Binary files a/linux-0.11-lab/0/linux/kernel/chr_drv/chr_drv.a and b/linux-0.11-lab/0/linux/kernel/chr_drv/chr_drv.a differ diff --git a/linux-0.11-lab/0/linux/kernel/kernel.o b/linux-0.11-lab/0/linux/kernel/kernel.o index a893998..4ce869b 100644 Binary files a/linux-0.11-lab/0/linux/kernel/kernel.o and b/linux-0.11-lab/0/linux/kernel/kernel.o differ diff --git a/linux-0.11-lab/0/linux/kernel/math/math.a b/linux-0.11-lab/0/linux/kernel/math/math.a index 3517c21..0a3031f 100644 Binary files a/linux-0.11-lab/0/linux/kernel/math/math.a and b/linux-0.11-lab/0/linux/kernel/math/math.a differ diff --git a/linux-0.11-lab/0/linux/kernel/system_call.o b/linux-0.11-lab/0/linux/kernel/system_call.o index 839a1f3..7f18738 100644 Binary files a/linux-0.11-lab/0/linux/kernel/system_call.o and b/linux-0.11-lab/0/linux/kernel/system_call.o differ diff --git a/linux-0.11-lab/0/linux/kernel/system_call.s b/linux-0.11-lab/0/linux/kernel/system_call.s index f3eae7d..d0ad716 100644 --- a/linux-0.11-lab/0/linux/kernel/system_call.s +++ b/linux-0.11-lab/0/linux/kernel/system_call.s @@ -64,7 +64,7 @@ nr_system_calls = 92 /* 72 the number of system*/ * Ok, I get parallel printer interrupts while using the floppy for some * strange reason. Urgel. Now I just ignore them. */ -.globl system_call,sys_fork,timer_interrupt,sys_execve +.globl system_call,sys_fork,timer_interrupt,sys_execve,sys_execve2 .globl hd_interrupt,floppy_interrupt,parallel_interrupt .globl device_not_available, coprocessor_error @@ -91,6 +91,11 @@ system_call: mov %dx,%es movl $0x17,%edx # fs points to local data space mov %dx,%fs + + pushl %eax #by wyj + call print_nr + popl %eax + call sys_call_table(,%eax,4) pushl %eax movl current,%eax diff --git a/linux-0.11-lab/0/linux/lib/lib.a b/linux-0.11-lab/0/linux/lib/lib.a index 73b59df..4e247e9 100644 Binary files a/linux-0.11-lab/0/linux/lib/lib.a and b/linux-0.11-lab/0/linux/lib/lib.a differ diff --git a/linux-0.11-lab/0/linux/mm/memory.c b/linux-0.11-lab/0/linux/mm/memory.c index 0ffa375..0815683 100644 --- a/linux-0.11-lab/0/linux/mm/memory.c +++ b/linux-0.11-lab/0/linux/mm/memory.c @@ -370,6 +370,9 @@ void do_no_page(unsigned long error_code,unsigned long address) unsigned long page; int block,i; + /*if (current->pid > 5) + printk(" --do_no_page: address=%x, pid=%d\n", address, current->pid);*/ + address &= 0xfffff000; tmp = address - current->start_code; if (!current->executable || tmp >= current->end_data) { diff --git a/linux-0.11-lab/0/linux/mm/memory.o b/linux-0.11-lab/0/linux/mm/memory.o index b462585..80fc8d8 100644 Binary files a/linux-0.11-lab/0/linux/mm/memory.o and b/linux-0.11-lab/0/linux/mm/memory.o differ diff --git a/linux-0.11-lab/0/linux/mm/mm.o b/linux-0.11-lab/0/linux/mm/mm.o index 557b72d..f194e3a 100644 Binary files a/linux-0.11-lab/0/linux/mm/mm.o and b/linux-0.11-lab/0/linux/mm/mm.o differ diff --git a/linux-0.11-lab/0/linux/tools/system b/linux-0.11-lab/0/linux/tools/system index 1379a96..cacac55 100644 Binary files a/linux-0.11-lab/0/linux/tools/system and b/linux-0.11-lab/0/linux/tools/system differ diff --git a/linux-0.11-lab/bochsout.txt b/linux-0.11-lab/bochsout.txt index f4ab081..b0af909 100644 --- a/linux-0.11-lab/bochsout.txt +++ b/linux-0.11-lab/bochsout.txt @@ -31,7 +31,7 @@ 00000000000i[ ] Sound support: no 00000000000i[ ] USB support: no 00000000000i[ ] VGA extension support: vbe -00000000000i[MEM0 ] allocated memory at 0xb589f008. after alignment, vector=0xb58a0000 +00000000000i[MEM0 ] allocated memory at 0xb5886008. after alignment, vector=0xb5887000 00000000000i[MEM0 ] 16.00MB 00000000000i[MEM0 ] mem block size = 0x00020000, blocks=128 00000000000i[MEM0 ] rom at 0xfffe0000/131072 ('/usr/local/share/bochs/BIOS-bochs-latest') @@ -42,7 +42,7 @@ 00000000000i[DEV ] PIIX3 PCI-to-ISA bridge present at device 1, function 0 00000000000i[PLUGIN] init_dev of 'cmos' plugin device by virtual method 00000000000i[CMOS ] Using local time for initial clock -00000000000i[CMOS ] Setting initial clock to: Thu Jun 23 04:28:30 2022 (time0=1655954910) +00000000000i[CMOS ] Setting initial clock to: Fri Jun 24 02:28:20 2022 (time0=1656034100) 00000000000i[PLUGIN] init_dev of 'dma' plugin device by virtual method 00000000000i[DMA ] channel 4 used by cascade 00000000000i[PLUGIN] init_dev of 'pic' plugin device by virtual method @@ -60,7 +60,7 @@ 00000000000i[FLOPPY] fd0: 'cur/linux/Image' ro=0, h=2,t=80,spt=18 00000000000i[IMG ] redolog : Standard Header : magic='Bochs Virtual HD Image', type='Redolog', subtype='Volatile', version = 2.0 00000000000i[IMG ] redolog : Specific Header : #entries=512, bitmap size=1, exent size = 4096 disk size = 1474560 -00000000000i[IMG ] 'vvfat' disk opened: directory is 'b/', redolog is 'b//vvfat.dir.VbyubY' +00000000000i[IMG ] 'vvfat' disk opened: directory is 'b/', redolog is 'b//vvfat.dir.kaH64x' 00000000000i[FLOPPY] fd1: 'vvfat:b/' ro=0, h=2,t=80,spt=18 00000000000i[FLOPPY] Using boot sequence floppy, none, none 00000000000i[FLOPPY] Floppy boot signature check is enabled @@ -186,17 +186,10 @@ 00001647843i[BXVGA ] VBE known Display Interface b0c5 00001650768i[VBIOS ] VBE Bios $Id: vbe.c,v 1.64 2011/07/19 18:25:05 vruppert Exp $ 00001995333i[BIOS ] ata0-0: PCHS=512/2/20 translation=none LCHS=512/2/20 -00002352465i[XGUI ] charmap update. Font is 9 x 16 +00002154810i[XGUI ] charmap update. Font is 9 x 16 00005872240i[BIOS ] IDE time out 00051753879i[BIOS ] Booting from 0000:7c00 -00094954828i[FLOPPY] partial read() on floppy image returns 464/512 -00095122539i[FLOPPY] read() on floppy image returns 0 -00095289204i[FLOPPY] read() on floppy image returns 0 -00095455869i[FLOPPY] read() on floppy image returns 0 -00095622534i[FLOPPY] read() on floppy image returns 0 -00095789199i[FLOPPY] read() on floppy image returns 0 -00095955864i[FLOPPY] read() on floppy image returns 0 -00096122529i[FLOPPY] read() on floppy image returns 0 +00096122529i[FLOPPY] partial read() on floppy image returns 112/512 00096289194i[FLOPPY] read() on floppy image returns 0 00096455859i[FLOPPY] read() on floppy image returns 0 00096623570i[FLOPPY] read() on floppy image returns 0 @@ -319,3 +312,26 @@ 00116129680i[FLOPPY] read() on floppy image returns 0 00116296345i[FLOPPY] read() on floppy image returns 0 00116467319i[BIOS ] int13_harddisk: function 15, unmapped device for ELDL=81 +00421380000p[XGUI ] >>PANIC<< POWER button turned off. +00421380000i[CPU0 ] CPU is in protected mode (active) +00421380000i[CPU0 ] CS.mode = 32 bit +00421380000i[CPU0 ] SS.mode = 32 bit +00421380000i[CPU0 ] EFER = 0x00000000 +00421380000i[CPU0 ] | EAX=00fc1000 EBX=00090080 ECX=0001d100 EDX=00000020 +00421380000i[CPU0 ] | ESP=0001e0ac EBP=00023eac ESI=000900a0 EDI=00022ec0 +00421380000i[CPU0 ] | IOPL=0 id vip vif ac vm rf nt of df IF tf sf zf af PF cf +00421380000i[CPU0 ] | SEG sltr(index|ti|rpl) base limit G D +00421380000i[CPU0 ] | CS:0008( 0001| 0| 0) 00000000 00ffffff 1 1 +00421380000i[CPU0 ] | DS:0010( 0002| 0| 0) 00000000 00ffffff 1 1 +00421380000i[CPU0 ] | SS:0010( 0002| 0| 0) 00000000 00ffffff 1 1 +00421380000i[CPU0 ] | ES:0010( 0002| 0| 0) 00000000 00ffffff 1 1 +00421380000i[CPU0 ] | FS:0017( 0002| 1| 3) 00000000 0009ffff 1 1 +00421380000i[CPU0 ] | GS:0017( 0002| 1| 3) 00000000 0009ffff 1 1 +00421380000i[CPU0 ] | EIP=00006d4b (00006d4b) +00421380000i[CPU0 ] | CR0=0x8000001b CR2=0x0804253c +00421380000i[CPU0 ] | CR3=0x00000000 CR4=0x00000000 +00421380000i[CPU0 ] 0x00006d4b>> mov eax, dword ptr ss:[esp+16] : 8B442410 +00421380000i[CMOS ] Last time is 1656034128 (Fri Jun 24 02:28:48 2022) +00421380000i[XGUI ] Exit +00421380000i[ ] restoring default signal behavior +00421380000i[SIM ] quit_sim called with exit code 1 diff --git a/linux-0.11-lab/cur/linux/Image b/linux-0.11-lab/cur/linux/Image index f7ca375..7935b7c 100644 Binary files a/linux-0.11-lab/cur/linux/Image and b/linux-0.11-lab/cur/linux/Image differ diff --git a/linux-0.11-lab/cur/linux/System.map b/linux-0.11-lab/cur/linux/System.map index 03379b8..2e1e3f1 100644 --- a/linux-0.11-lab/cur/linux/System.map +++ b/linux-0.11-lab/cur/linux/System.map @@ -25,563 +25,566 @@ 00006799 T main 0000690c t printf 0000695b T init -00006bd4 T show_task -00006c59 T show_stat -00006c9f T math_state_restore -00006cfd T schedule -00006eaf T sys_pause -00006ec5 T sleep_on -00006f24 T interruptible_sleep_on -00006fdf T ticks_to_floppy_on -000070aa T floppy_on -000070d9 T floppy_off -000070e9 T do_floppy_timer -000072e1 T do_timer -000073d0 T sys_alarm -0000744f T sys_getpid -0000745b T sys_getppid -00007467 T sys_getuid -00007476 T sys_geteuid -00007486 T sys_getgid -00007496 T sys_getegid -000074a5 T sys_nice -000074d0 T sched_init -00007660 t bad_sys_call -00007668 t reschedule -00007674 T system_call -000076a8 t ret_from_sys_call -000076f0 T coprocessor_error -00007712 T device_not_available -0000774c T timer_interrupt -00007784 T sys_execve -00007794 T sys_fork -000077ac T hd_interrupt -000077e8 T floppy_interrupt -0000781e T parallel_interrupt -00007825 t _get_base -00007857 t die -00007a39 T do_double_fault -00007a5c T do_general_protection -00007a7f T do_divide_error -00007aa2 T do_int3 -00007b6a T do_nmi -00007b8d T do_debug -00007bb0 T do_overflow -00007bd3 T do_bounds -00007bf6 T do_invalid_op -00007c19 T do_device_not_available -00007c3c T do_coprocessor_segment_overrun -00007c5f T do_invalid_TSS -00007c82 T do_segment_not_present -00007ca5 T do_stack_segment -00007cc8 T do_coprocessor_error -00007cfc T do_reserved -00007d1f T trap_init -00008003 T divide_error -00008008 t no_error_code -00008038 T debug -0000803f T nmi -00008046 T int3 -0000804d T overflow -00008054 T bounds -0000805b T invalid_op -00008062 T coprocessor_segment_overrun -00008069 T reserved -00008070 T irq13 -00008085 T double_fault -0000808a t error_code -000080bc T invalid_TSS -000080c3 T segment_not_present -000080ca T stack_segment -000080d1 T general_protection -000080d8 t _get_base -0000810a T verify_area -00008171 T copy_mem -000082cb T copy_process -00008778 T find_empty_process -0000880c T panic -00008847 T printk -00008898 t skip_atoi -000088f3 t number -00008b64 T vsprintf -00008ff0 t get_fs_long -00009006 t put_fs_byte -0000901e t put_fs_long -0000902a T sys_ftime -00009030 T sys_break -00009036 T sys_ptrace -0000903c T sys_stty -00009042 T sys_gtty -00009048 T sys_rename -0000904e T sys_prof -00009054 T sys_setregid -0000910d T sys_setgid -000091a4 T sys_acct -000091aa T sys_phys -000091b0 T sys_lock -000091b6 T sys_mpx -000091bc T sys_ulimit -000091c2 T sys_time -0000921e T sys_setreuid -00009300 T sys_setuid -00009395 T sys_stime -000093eb T sys_times -0000948b T sys_brk -000094cd T sys_setpgid -000095a6 T sys_getpgrp -000095b2 T sys_setsid -0000962c T sys_getgroups -00009632 T sys_setgroups -00009638 T sys_uname -000096a1 T sys_sethostname -000096a7 T sys_getrlimit -000096ad T sys_setrlimit -000096b3 T sys_getrusage -000096b9 T sys_gettimeofday -000096bf T sys_settimeofday -000096c5 T sys_umask -000096f8 t _get_base -0000972a t put_fs_long -00009736 T release -0000979a t send_sig -00009819 t kill_session -00009873 T sys_kill -00009a23 t tell_father -00009aad T do_exit -00009ce1 T sys_exit -00009cfa T sys_waitpid -00009f20 t get_fs_byte -00009f2e t put_fs_byte -00009f46 t put_fs_long -00009f52 T sys_sgetmask -00009f5e T sys_ssetmask -00009f8a T sys_sigpending -00009f90 T sys_sigsuspend -00009f96 t save_old -00009fe9 t get_new -0000a029 T sys_signal -0000a0ad T sys_sigaction -0000a1b7 T do_signal -0000a3a3 T kernel_mktime -0000a4e8 t oom -0000a507 T get_free_page -0000a543 T free_page -0000a5b2 T free_page_tables -0000a6b1 T copy_page_tables -0000a832 T put_page -0000a91e T un_wp_page -0000a9d6 T do_wp_page -0000aa61 T get_empty_page -0000aaa1 t try_to_share -0000ac33 t share_page -0000ace7 T do_no_page -0000ae49 T mem_init -0000aebd T calc_mem -0000afb2 T page_fault -0000afe9 t get_fs_long -0000afff T sys_ustat -0000b005 T sys_utime -0000b0b2 T sys_access -0000b18e T sys_chdir -0000b202 T sys_chroot -0000b276 T sys_chmod -0000b310 T sys_chown -0000b38b T sys_open -0000b62e T sys_creat -0000b651 T sys_close -0000b720 T sys_lseek -0000b837 T sys_read -0000ba2a T sys_write -0000bbd8 t lock_inode -0000bc05 t unlock_inode -0000bc23 T invalidate_inodes -0000bc92 T sync_inodes -0000bce9 t _bmap -0000c0d5 T bmap -0000c0f8 T create_block -0000c11b T iput -0000c28a T get_empty_inode -0000c3df T get_pipe_inode -0000c454 T iget -0000c619 t read_inode -0000c84f T sys_sync -0000c8b2 T sync_dev -0000c9ab T invalidate_buffers -0000ca1d T check_disk_change -0000cac7 t remove_from_queues -0000cbbe t insert_into_queues -0000cc83 t find_buffer -0000cceb T get_hash_table -0000cd6d T getblk -0000cf0b T brelse -0000cf54 T bread -0000cfd9 T bread_page -0000d0fb T breada -0000d1f0 T buffer_init -0000d31f t lock_super -0000d34c t free_super -0000d391 T get_super -0000d400 T put_super -0000d4d3 t read_super -0000d816 T sys_umount -0000d977 T sys_mount -0000dae8 T mount_root -0000dcf6 t get_fs_byte -0000dd04 t put_fs_byte -0000dd1c T block_write -0000de6e T block_read -0000df99 t get_fs_byte -0000dfa7 t put_fs_byte -0000dfbf t rw_ttyx -0000e007 t rw_tty -0000e057 t rw_ram -0000e05d t rw_mem -0000e063 t rw_kmem -0000e069 t rw_port -0000e103 t rw_memory -0000e1d9 T rw_char -0000e243 t get_fs_byte -0000e251 t put_fs_byte -0000e269 T file_read -0000e414 T file_write -0000e60e t put_fs_byte -0000e626 t cp_stat -0000e6fd T sys_stat -0000e747 T sys_lstat -0000e762 T sys_fstat -0000e7bf T sys_readlink -0000e7c5 t _get_base -0000e7f7 t get_fs_byte -0000e805 t get_fs_long -0000e81b t put_fs_byte -0000e833 t put_fs_long -0000e83f t get_fs -0000e853 t get_ds -0000e867 t set_fs -0000e86e T sys_uselib -0000e874 t create_tables -0000e9bf t count -0000e9fe t copy_strings -0000ebba t change_ldt -0000ed3d T do_execve -0000f7bf t get_fs_byte -0000f7cd t put_fs_byte -0000f7e5 t put_fs_long -0000f7f1 T read_pipe -0000fac6 T sys_pipe -0000fcc8 t get_fs_byte -0000fcd6 t permission -0000fd77 t match -0000fddf t find_entry -00010239 t get_dir -00010426 t dir_namei -000104a5 T namei -000105bb T open_namei -0001090e T sys_mknod -00010b3e T sys_mkdir -00010eef t empty_dir -000110cd T sys_rmdir -00011425 T sys_unlink -000116c6 T sys_symlink -000116cc T sys_link -00011926 T free_block -00011a98 T new_block -00011c3c T free_inode -00011da3 T new_inode -00011f7d t dupfd -00012057 T sys_dup2 -0001207e T sys_dup -00012099 T sys_fcntl -000121d8 T sys_ioctl -000122a9 t free_ind -00012348 t free_dind -000123e7 T truncate -0001251c T sys_select -00012522 t put_fs_byte -0001253a T sys_getdents -00012700 T sys_execve2 -00012706 T sys_getcwd -0001270c T sys_sleep -00012761 T sys_something -00012767 t lock_buffer -00012794 t unlock_buffer -00012986 t make_request -00012b2a T ll_rw_block -00012b83 T blk_dev_init -00012bd1 t unlock_buffer -00012c06 t end_request -00012cb7 T floppy_deselect -00012cee T floppy_change -00012d74 t setup_DMA -00012e2a t output_byte -00012ea0 t result -00012f5d t bad_flp_intr -00012fbc t rw_interrupt -000130ab T setup_rw_floppy -0001316c t seek_interrupt -000131c5 t transfer -000132fa t recal_interrupt -00013344 T unexpected_floppy_interrupt -00013389 t recalibrate_floppy -000133eb t reset_interrupt -00013430 t reset_floppy -000134ad t floppy_on_interrupt -00013518 t do_fd_request -0001371c T floppy_init -0001376e t unlock_buffer -000137a3 t end_request -00013842 T sys_setup -00013bf5 t controller_ready -00013c89 t hd_out -00013d76 t drive_busy -00013ddc t reset_controller -00013e59 t reset_hd -00013ef1 T unexpected_hd_interrupt -00013f04 t bad_rw_intr -00013f42 t read_intr -00014068 t recal_intr -00014082 t do_hd_request -00014383 T hd_init -000143fd t unlock_buffer -00014432 t end_request -000144d1 t do_rd_request -00014607 T rd_init -0001465d T rd_load -00014909 t get_fs_byte -00014917 t put_fs_byte -0001492f T tty_init -00014940 T tty_intr -000149b4 t sleep_if_empty -000149ec t sleep_if_full -00014a60 T copy_to_cooked -0001501b T tty_read -00015389 T tty_write -0001559b T do_tty_interrupt -000155c3 T chr_dev_init -000155c4 t gotoxy -00015612 t set_origin -00015678 t scrup -00015868 t scrdown -0001595f t lf -00015995 t ri -000159cb t cr -000159ec t del -00015a1e t csi_J -00015aaf t csi_K -00015b61 T csi_m -00015bc8 t set_cursor -00015c2e t respond -00015c86 t insert_char -00015ce9 t insert_line -00015d2d t delete_char -00015d8b t delete_line -00015dcf t csi_at -00015e0d t csi_L -00015e4b t csi_P -00015e89 t csi_M -00015ec7 t save_cur -00015edc t restore_cur -00015efb T con_write -00016589 T con_init -000167c0 T sysbeepstop -000167e9 t sysbeep -00016847 t mode -00016848 t leds -00016849 t e0 -0001684a T keyboard_interrupt -00016873 t e0_e1 -0001689e t set_e0 -000168a7 t set_e1 -000168b0 t put_queue -000168e9 t ctrl -00016901 t unctrl -00016905 t unalt -0001691b t lshift -00016923 t unlshift -0001692b t rshift -00016933 t unrshift -0001693b t caps -0001695d t set_leds -00016973 t uncaps -0001697b t scroll -00016984 t num -0001698d t cursor -000169ad t cur2 -000169d6 t cur -000169e2 t ok_cur -000169f0 t num_table -000169fd t cur_table -00016a0a t func -00016a27 t ok_func -00016a3a t end_func -00016a3b t func_table -00016a6b t key_map -00016acc t shift_map -00016b8e t do_self -00016bf6 t none -00016bf7 t minus -00016c0c t key_table -0001700c t kb_wait -00017015 t reboot -00017027 t die -00017029 t init -0001709e T rs_init -00017121 T rs_write -00017170 T rs1_interrupt -00017178 T rs2_interrupt -0001717d t rs_int -00017194 t rep_int -000171b1 t end -000171bf t jmp_table -000171d0 t modem_status -000171d8 t line_status -000171e0 t read_char -00017267 t get_fs_byte -00017275 t get_fs_long -0001728b t put_fs_byte -000172a3 t put_fs_long -000172af t change_speed -0001732d t flush -0001733f t send_break -00017340 t get_termios -0001739c t set_termios -000173ec t get_termio -000174b4 t set_termio -00017578 T tty_ioctl -00017876 t get_fs_byte -00017884 T math_emulate -00017967 T math_error -00017987 T _exit -00017997 T open -000179e0 T close -00017a54 T dup -00017a8b T setsid -00017aba T execve -00017b57 T strcpy -00017b73 T strncpy -00017b98 T strcat -00017bc3 T strncat -00017bf8 T strcmp -00017c1f T strncmp -00017c4d T strchr -00017c7a T strrchr -00017ca9 T strspn -00017ce6 T strcspn -00017d23 T strpbrk -00017d5a T strstr -00017d93 T strlen -00017db6 T strtok -00017e39 T memcpy -00017e59 T memmove -00017ead T memcmp -00017ed7 T memchr -00017f0f T memset -00017f33 t init_bucket_desc -00017f9c T malloc -00018128 T free_s -0001c2a8 d envp_rc -0001c2bc d envp -0001c2e0 D sys_call_table -0001c450 D NR_syscalls -0001c460 d init_task -0001d460 D current -0001d480 D task -0001d580 D stack_start -0001d588 D current_DOR -0001d5a0 d thisname.1955 -0001d5e0 d month -0001d620 d last_inode.1935 -0001d624 D start_buffer -0001d640 d crw_table -0001d660 d ioctl_table -0001d680 d floppy_type -0001d740 d cur_spec1 -0001d744 d cur_rate -0001d748 d floppy -0001d74c d current_track -0001d750 d callable.1844 -0001d760 D tty_table -0001fc80 D table_list -0001fca0 d quotient -0001fcc0 D _ctype -0001fde0 D bucket_dir -0001fe30 B __bss_start -0001fe30 D _edata -0001fe40 b printbuf -00020240 b memory_end -00020244 b buffer_memory_end -00020248 b main_memory_start -00020260 B jiffies -00020264 B startup_time -00020268 B last_task_used_math -0002027c b mon_timer -0002028c b moff_timer -000202a0 b timer_list -000205a0 b next_timer -000205a4 B last_pid -000205c0 b buf -000209c0 b HIGH_MEMORY -000209e0 b mem_map -000218e0 B inode_table -00021fe0 B nr_buffers -00021fe4 b free_list -00021fe8 b buffer_wait -00021fec B ROOT_DEV -00022020 B blk_dev -00022058 B do_floppy -0002205c B selected -00022064 b recalibrate -00022068 b reset -0002206c b seek -00022070 b reply_buffer -00022077 b current_drive -00022078 b sector -00022079 b head -0002207a b track -0002207b b seek_track -0002207c b command -00022080 B do_hd -000220a0 B hd_info -000220d0 b recalibrate -000220d4 b reset -000220d8 b NR_HD -000220e0 b hd -00022130 B rd_length -00022134 b cr_flag.1923 -00022140 B beepcount -00022144 b video_type -00022148 b video_num_columns -0002214c b video_size_row -00022150 b video_num_lines -00022154 b video_page -00022158 b video_mem_start -0002215c b video_mem_end -00022160 b video_port_reg -00022162 b video_port_val -00022164 b video_erase_char -00022168 b origin -0002216c b scr_end -00022170 b pos -00022174 b x -00022178 b y -0002217c b top -00022180 b bottom -00022184 b state -00022188 b npar -000221a0 b par -000221e0 b ques -000221e4 b saved_x -000221e8 b saved_y -000221ec B free_bucket_desc -00022200 B drive_info -00022220 B user_stack -00023220 B hash_table -00023700 B super_block -00023a60 B file_table -00023e60 B request -000242e0 B rd_start -000242e4 B _ctmp -000242e8 B errno -000242ec B ___strtok -000242f0 B end -000242f0 B _end +00006bd3 T print_nr +00006c04 T show_task +00006c89 T show_stat +00006ccf T math_state_restore +00006d2d T schedule +00006edf T sys_pause +00006ef5 T sleep_on +00006f54 T interruptible_sleep_on +0000700f T ticks_to_floppy_on +000070da T floppy_on +00007109 T floppy_off +00007119 T do_floppy_timer +00007311 T do_timer +00007400 T sys_alarm +0000747f T sys_getpid +0000748b T sys_getppid +00007497 T sys_getuid +000074a6 T sys_geteuid +000074b6 T sys_getgid +000074c6 T sys_getegid +000074d5 T sys_nice +00007500 T sched_init +00007690 t bad_sys_call +00007698 t reschedule +000076a4 T system_call +000076df t ret_from_sys_call +00007728 T coprocessor_error +0000774a T device_not_available +00007784 T timer_interrupt +000077bc T sys_execve +000077cc T sys_execve2 +000077dc T sys_fork +000077f4 T hd_interrupt +00007830 T floppy_interrupt +00007866 T parallel_interrupt +0000786d t _get_base +0000789f t die +00007a81 T do_double_fault +00007aa4 T do_general_protection +00007ac7 T do_divide_error +00007aea T do_int3 +00007bb2 T do_nmi +00007bd5 T do_debug +00007bf8 T do_overflow +00007c1b T do_bounds +00007c3e T do_invalid_op +00007c61 T do_device_not_available +00007c84 T do_coprocessor_segment_overrun +00007ca7 T do_invalid_TSS +00007cca T do_segment_not_present +00007ced T do_stack_segment +00007d10 T do_coprocessor_error +00007d44 T do_reserved +00007d67 T trap_init +0000804b T divide_error +00008050 t no_error_code +00008080 T debug +00008087 T nmi +0000808e T int3 +00008095 T overflow +0000809c T bounds +000080a3 T invalid_op +000080aa T coprocessor_segment_overrun +000080b1 T reserved +000080b8 T irq13 +000080cd T double_fault +000080d2 t error_code +00008104 T invalid_TSS +0000810b T segment_not_present +00008112 T stack_segment +00008119 T general_protection +00008120 t _get_base +00008152 T verify_area +000081b9 T copy_mem +00008313 T copy_process +000087c0 T find_empty_process +00008854 T panic +0000888f T printk +000088e0 t skip_atoi +0000893b t number +00008bac T vsprintf +00009038 t get_fs_long +0000904e t put_fs_byte +00009066 t put_fs_long +00009072 T sys_ftime +00009078 T sys_break +0000907e T sys_ptrace +00009084 T sys_stty +0000908a T sys_gtty +00009090 T sys_rename +00009096 T sys_prof +0000909c T sys_setregid +00009155 T sys_setgid +000091ec T sys_acct +000091f2 T sys_phys +000091f8 T sys_lock +000091fe T sys_mpx +00009204 T sys_ulimit +0000920a T sys_time +00009266 T sys_setreuid +00009348 T sys_setuid +000093dd T sys_stime +00009433 T sys_times +000094d3 T sys_brk +00009515 T sys_setpgid +000095ee T sys_getpgrp +000095fa T sys_setsid +00009674 T sys_getgroups +0000967a T sys_setgroups +00009680 T sys_uname +000096e9 T sys_sethostname +000096ef T sys_getrlimit +000096f5 T sys_setrlimit +000096fb T sys_getrusage +00009701 T sys_gettimeofday +00009707 T sys_settimeofday +0000970d T sys_umask +00009740 t _get_base +00009772 t put_fs_long +0000977e T release +000097e2 t send_sig +00009861 t kill_session +000098bb T sys_kill +00009a6b t tell_father +00009af5 T do_exit +00009d29 T sys_exit +00009d42 T sys_waitpid +00009f68 t get_fs_byte +00009f76 t put_fs_byte +00009f8e t put_fs_long +00009f9a T sys_sgetmask +00009fa6 T sys_ssetmask +00009fd2 T sys_sigpending +00009fd8 T sys_sigsuspend +00009fde t save_old +0000a031 t get_new +0000a071 T sys_signal +0000a0f5 T sys_sigaction +0000a1ff T do_signal +0000a3eb T kernel_mktime +0000a530 t oom +0000a54f T get_free_page +0000a58b T free_page +0000a5fa T free_page_tables +0000a6f9 T copy_page_tables +0000a87a T put_page +0000a966 T un_wp_page +0000aa1e T do_wp_page +0000aaa9 T get_empty_page +0000aae9 t try_to_share +0000ac7b t share_page +0000ad2f T do_no_page +0000ae91 T mem_init +0000af05 T calc_mem +0000affa T page_fault +0000b031 t get_fs_long +0000b047 T sys_ustat +0000b04d T sys_utime +0000b0fa T sys_access +0000b1d6 T sys_chdir +0000b24a T sys_chroot +0000b2be T sys_chmod +0000b358 T sys_chown +0000b3d3 T sys_open +0000b676 T sys_creat +0000b699 T sys_close +0000b768 T sys_lseek +0000b87f T sys_read +0000ba72 T sys_write +0000bc20 t lock_inode +0000bc4d t unlock_inode +0000bc6b T invalidate_inodes +0000bcda T sync_inodes +0000bd31 t _bmap +0000c11d T bmap +0000c140 T create_block +0000c163 T iput +0000c2d2 T get_empty_inode +0000c427 T get_pipe_inode +0000c49c T iget +0000c661 t read_inode +0000c897 T sys_sync +0000c8fa T sync_dev +0000c9f3 T invalidate_buffers +0000ca65 T check_disk_change +0000cb0f t remove_from_queues +0000cc06 t insert_into_queues +0000cccb t find_buffer +0000cd33 T get_hash_table +0000cdb5 T getblk +0000cf53 T brelse +0000cf9c T bread +0000d021 T bread_page +0000d143 T breada +0000d238 T buffer_init +0000d367 t lock_super +0000d394 t free_super +0000d3d9 T get_super +0000d448 T put_super +0000d51b t read_super +0000d85e T sys_umount +0000d9bf T sys_mount +0000db30 T mount_root +0000dd3e t get_fs_byte +0000dd4c t put_fs_byte +0000dd64 T block_write +0000deb6 T block_read +0000dfe1 t get_fs_byte +0000dfef t put_fs_byte +0000e007 t rw_ttyx +0000e04f t rw_tty +0000e09f t rw_ram +0000e0a5 t rw_mem +0000e0ab t rw_kmem +0000e0b1 t rw_port +0000e14b t rw_memory +0000e221 T rw_char +0000e28b t get_fs_byte +0000e299 t put_fs_byte +0000e2b1 T file_read +0000e45c T file_write +0000e656 t put_fs_byte +0000e66e t cp_stat +0000e745 T sys_stat +0000e78f T sys_lstat +0000e7aa T sys_fstat +0000e807 T sys_readlink +0000e80d t _get_base +0000e83f t get_fs_byte +0000e84d t get_fs_long +0000e863 t put_fs_byte +0000e87b t put_fs_long +0000e887 t get_fs +0000e89b t get_ds +0000e8af t set_fs +0000e8b6 T sys_uselib +0000e8bc t create_tables +0000ea07 t count +0000ea46 t copy_strings +0000ec02 t change_ldt +0000ed85 T do_execve +0000f807 t oom +0000f826 T do_execve2 +000103fd t get_fs_byte +0001040b t put_fs_byte +00010423 t put_fs_long +0001042f T read_pipe +00010704 T sys_pipe +00010906 t get_fs_byte +00010914 t permission +000109b5 t match +00010a1d t find_entry +00010e77 t get_dir +00011064 t dir_namei +000110e3 T namei +000111f9 T open_namei +0001154c T sys_mknod +0001177c T sys_mkdir +00011b2d t empty_dir +00011d0b T sys_rmdir +00012063 T sys_unlink +00012304 T sys_symlink +0001230a T sys_link +00012564 T free_block +000126d6 T new_block +0001287a T free_inode +000129e1 T new_inode +00012bbb t dupfd +00012c95 T sys_dup2 +00012cbc T sys_dup +00012cd7 T sys_fcntl +00012e16 T sys_ioctl +00012ee7 t free_ind +00012f86 t free_dind +00013025 T truncate +0001315a T sys_select +00013160 t put_fs_byte +00013178 T sys_getdents +0001333e T sys_sleep +0001337b T sys_something +00013381 T sys_getcwd +00013387 t lock_buffer +000133b4 t unlock_buffer +000135a6 t make_request +0001374a T ll_rw_block +000137a3 T blk_dev_init +000137f1 t unlock_buffer +00013826 t end_request +000138d7 T floppy_deselect +0001390e T floppy_change +00013994 t setup_DMA +00013a4a t output_byte +00013ac0 t result +00013b7d t bad_flp_intr +00013bdc t rw_interrupt +00013ccb T setup_rw_floppy +00013d8c t seek_interrupt +00013de5 t transfer +00013f1a t recal_interrupt +00013f64 T unexpected_floppy_interrupt +00013fa9 t recalibrate_floppy +0001400b t reset_interrupt +00014050 t reset_floppy +000140cd t floppy_on_interrupt +00014138 t do_fd_request +0001433c T floppy_init +0001438e t unlock_buffer +000143c3 t end_request +00014462 T sys_setup +00014815 t controller_ready +000148a9 t hd_out +00014996 t drive_busy +000149fc t reset_controller +00014a79 t reset_hd +00014b11 T unexpected_hd_interrupt +00014b24 t bad_rw_intr +00014b62 t read_intr +00014c88 t recal_intr +00014ca2 t do_hd_request +00014fa3 T hd_init +0001501d t unlock_buffer +00015052 t end_request +000150f1 t do_rd_request +00015227 T rd_init +0001527d T rd_load +00015529 t get_fs_byte +00015537 t put_fs_byte +0001554f T tty_init +00015560 T tty_intr +000155d4 t sleep_if_empty +0001560c t sleep_if_full +00015680 T copy_to_cooked +00015c3b T tty_read +00015fa9 T tty_write +000161bb T do_tty_interrupt +000161e3 T chr_dev_init +000161e4 t gotoxy +00016232 t set_origin +00016298 t scrup +00016488 t scrdown +0001657f t lf +000165b5 t ri +000165eb t cr +0001660c t del +0001663e t csi_J +000166cf t csi_K +00016781 T csi_m +000167e8 t set_cursor +0001684e t respond +000168a6 t insert_char +00016909 t insert_line +0001694d t delete_char +000169ab t delete_line +000169ef t csi_at +00016a2d t csi_L +00016a6b t csi_P +00016aa9 t csi_M +00016ae7 t save_cur +00016afc t restore_cur +00016b1b T con_write +000171a9 T con_init +000173e0 T sysbeepstop +00017409 t sysbeep +00017467 t mode +00017468 t leds +00017469 t e0 +0001746a T keyboard_interrupt +00017493 t e0_e1 +000174be t set_e0 +000174c7 t set_e1 +000174d0 t put_queue +00017509 t ctrl +00017521 t unctrl +00017525 t unalt +0001753b t lshift +00017543 t unlshift +0001754b t rshift +00017553 t unrshift +0001755b t caps +0001757d t set_leds +00017593 t uncaps +0001759b t scroll +000175a4 t num +000175ad t cursor +000175cd t cur2 +000175f6 t cur +00017602 t ok_cur +00017610 t num_table +0001761d t cur_table +0001762a t func +00017647 t ok_func +0001765a t end_func +0001765b t func_table +0001768b t key_map +000176ec t shift_map +000177ae t do_self +00017816 t none +00017817 t minus +0001782c t key_table +00017c2c t kb_wait +00017c35 t reboot +00017c47 t die +00017c49 t init +00017cbe T rs_init +00017d41 T rs_write +00017d90 T rs1_interrupt +00017d98 T rs2_interrupt +00017d9d t rs_int +00017db4 t rep_int +00017dd1 t end +00017ddf t jmp_table +00017df0 t modem_status +00017df8 t line_status +00017e00 t read_char +00017e87 t get_fs_byte +00017e95 t get_fs_long +00017eab t put_fs_byte +00017ec3 t put_fs_long +00017ecf t change_speed +00017f4d t flush +00017f5f t send_break +00017f60 t get_termios +00017fbc t set_termios +0001800c t get_termio +000180d4 t set_termio +00018198 T tty_ioctl +00018496 t get_fs_byte +000184a4 T math_emulate +00018587 T math_error +000185a7 T _exit +000185b7 T open +00018600 T close +00018674 T dup +000186ab T setsid +000186da T execve +00018777 T strcpy +00018793 T strncpy +000187b8 T strcat +000187e3 T strncat +00018818 T strcmp +0001883f T strncmp +0001886d T strchr +0001889a T strrchr +000188c9 T strspn +00018906 T strcspn +00018943 T strpbrk +0001897a T strstr +000189b3 T strlen +000189d6 T strtok +00018a59 T memcpy +00018a79 T memmove +00018acd T memcmp +00018af7 T memchr +00018b2f T memset +00018b53 t init_bucket_desc +00018bbc T malloc +00018d48 T free_s +0001cf48 d envp_rc +0001cf5c d envp +0001cf80 D sys_call_table +0001d0f0 D NR_syscalls +0001d100 d init_task +0001e100 D current +0001e120 D task +0001e220 D stack_start +0001e228 D current_DOR +0001e240 d thisname.1955 +0001e280 d month +0001e2c0 d last_inode.1935 +0001e2c4 D start_buffer +0001e2e0 d crw_table +0001e300 d ioctl_table +0001e320 d floppy_type +0001e3e0 d cur_spec1 +0001e3e4 d cur_rate +0001e3e8 d floppy +0001e3ec d current_track +0001e3f0 d callable.1844 +0001e400 D tty_table +00020920 D table_list +00020940 d quotient +00020960 D _ctype +00020a80 D bucket_dir +00020ad0 B __bss_start +00020ad0 D _edata +00020ae0 b printbuf +00020ee0 b memory_end +00020ee4 b buffer_memory_end +00020ee8 b main_memory_start +00020f00 B jiffies +00020f04 B startup_time +00020f08 B last_task_used_math +00020f1c b mon_timer +00020f2c b moff_timer +00020f40 b timer_list +00021240 b next_timer +00021244 B last_pid +00021260 b buf +00021660 b HIGH_MEMORY +00021680 b mem_map +00022580 B inode_table +00022c80 B nr_buffers +00022c84 b free_list +00022c88 b buffer_wait +00022c8c B ROOT_DEV +00022cc0 B blk_dev +00022cf8 B do_floppy +00022cfc B selected +00022d04 b recalibrate +00022d08 b reset +00022d0c b seek +00022d10 b reply_buffer +00022d17 b current_drive +00022d18 b sector +00022d19 b head +00022d1a b track +00022d1b b seek_track +00022d1c b command +00022d20 B do_hd +00022d40 B hd_info +00022d70 b recalibrate +00022d74 b reset +00022d78 b NR_HD +00022d80 b hd +00022dd0 B rd_length +00022dd4 b cr_flag.1923 +00022de0 B beepcount +00022de4 b video_type +00022de8 b video_num_columns +00022dec b video_size_row +00022df0 b video_num_lines +00022df4 b video_page +00022df8 b video_mem_start +00022dfc b video_mem_end +00022e00 b video_port_reg +00022e02 b video_port_val +00022e04 b video_erase_char +00022e08 b origin +00022e0c b scr_end +00022e10 b pos +00022e14 b x +00022e18 b y +00022e1c b top +00022e20 b bottom +00022e24 b state +00022e28 b npar +00022e40 b par +00022e80 b ques +00022e84 b saved_x +00022e88 b saved_y +00022e8c B free_bucket_desc +00022ea0 B drive_info +00022ec0 B user_stack +00023ec0 B hash_table +000243a0 B super_block +00024700 B file_table +00024b00 B request +00024f80 B rd_start +00024f84 B _ctmp +00024f88 B errno +00024f8c B ___strtok +00024f90 B end +00024f90 B _end diff --git a/linux-0.11-lab/cur/linux/System.map.2 b/linux-0.11-lab/cur/linux/System.map.2 index 4dc1598..7477d13 100644 --- a/linux-0.11-lab/cur/linux/System.map.2 +++ b/linux-0.11-lab/cur/linux/System.map.2 @@ -205,7 +205,7 @@ LOAD lib/lib.a *(.iplt) .iplt 0x0000000000000000 0x0 boot/head.o -.text 0x0000000000000000 0x1829f +.text 0x0000000000000000 0x18ebf *(.text.unlikely .text.*_unlikely .text.unlikely.*) *(.text.exit .text.exit.*) *(.text.startup .text.startup.*) @@ -217,337 +217,337 @@ LOAD lib/lib.a 0x0000000000005000 tmp_floppy_area 0x00000000000054c0 idt 0x0000000000005cc0 gdt - .text 0x00000000000064c0 0x713 init/main.o + .text 0x00000000000064c0 0x744 init/main.o 0x00000000000064c0 fork 0x00000000000064ef pause 0x000000000000651e setup 0x0000000000006555 sync 0x0000000000006799 main 0x000000000000695b init - *fill* 0x0000000000006bd3 0x1 - .text 0x0000000000006bd4 0x3914 kernel/kernel.o - 0x0000000000006bd4 show_task - 0x0000000000006c59 show_stat - 0x0000000000006c9f math_state_restore - 0x0000000000006cfd schedule - 0x0000000000006eaf sys_pause - 0x0000000000006ec5 sleep_on - 0x0000000000006f24 interruptible_sleep_on - 0x0000000000006fb7 wake_up - 0x0000000000006fdf ticks_to_floppy_on - 0x00000000000070aa floppy_on - 0x00000000000070d9 floppy_off - 0x00000000000070e9 do_floppy_timer - 0x00000000000071bd add_timer - 0x00000000000072e1 do_timer - 0x00000000000073d0 sys_alarm - 0x000000000000744f sys_getpid - 0x000000000000745b sys_getppid - 0x0000000000007467 sys_getuid - 0x0000000000007476 sys_geteuid - 0x0000000000007486 sys_getgid - 0x0000000000007496 sys_getegid - 0x00000000000074a5 sys_nice - 0x00000000000074d0 sched_init - 0x0000000000007674 system_call - 0x00000000000076f0 coprocessor_error - 0x0000000000007712 device_not_available - 0x000000000000774c timer_interrupt - 0x0000000000007784 sys_execve - 0x0000000000007794 sys_fork - 0x00000000000077ac hd_interrupt - 0x00000000000077e8 floppy_interrupt - 0x000000000000781e parallel_interrupt - 0x0000000000007a39 do_double_fault - 0x0000000000007a5c do_general_protection - 0x0000000000007a7f do_divide_error - 0x0000000000007aa2 do_int3 - 0x0000000000007b6a do_nmi - 0x0000000000007b8d do_debug - 0x0000000000007bb0 do_overflow - 0x0000000000007bd3 do_bounds - 0x0000000000007bf6 do_invalid_op - 0x0000000000007c19 do_device_not_available - 0x0000000000007c3c do_coprocessor_segment_overrun - 0x0000000000007c5f do_invalid_TSS - 0x0000000000007c82 do_segment_not_present - 0x0000000000007ca5 do_stack_segment - 0x0000000000007cc8 do_coprocessor_error - 0x0000000000007cfc do_reserved - 0x0000000000007d1f trap_init - 0x0000000000008003 divide_error - 0x0000000000008038 debug - 0x000000000000803f nmi - 0x0000000000008046 int3 - 0x000000000000804d overflow - 0x0000000000008054 bounds - 0x000000000000805b invalid_op - 0x0000000000008062 coprocessor_segment_overrun - 0x0000000000008069 reserved - 0x0000000000008070 irq13 - 0x0000000000008085 double_fault - 0x00000000000080bc invalid_TSS - 0x00000000000080c3 segment_not_present - 0x00000000000080ca stack_segment - 0x00000000000080d1 general_protection - 0x000000000000810a verify_area - 0x0000000000008171 copy_mem - 0x00000000000082cb copy_process - 0x0000000000008778 find_empty_process - 0x000000000000880c panic - 0x0000000000008847 printk - 0x0000000000008b64 vsprintf - 0x000000000000902a sys_ftime - 0x0000000000009030 sys_break - 0x0000000000009036 sys_ptrace - 0x000000000000903c sys_stty - 0x0000000000009042 sys_gtty - 0x0000000000009048 sys_rename - 0x000000000000904e sys_prof - 0x0000000000009054 sys_setregid - 0x000000000000910d sys_setgid - 0x00000000000091a4 sys_acct - 0x00000000000091aa sys_phys - 0x00000000000091b0 sys_lock - 0x00000000000091b6 sys_mpx - 0x00000000000091bc sys_ulimit - 0x00000000000091c2 sys_time - 0x000000000000921e sys_setreuid - 0x0000000000009300 sys_setuid - 0x0000000000009395 sys_stime - 0x00000000000093eb sys_times - 0x000000000000948b sys_brk - 0x00000000000094cd sys_setpgid - 0x00000000000095a6 sys_getpgrp - 0x00000000000095b2 sys_setsid - 0x000000000000962c sys_getgroups - 0x0000000000009632 sys_setgroups - 0x0000000000009638 sys_uname - 0x00000000000096a1 sys_sethostname - 0x00000000000096a7 sys_getrlimit - 0x00000000000096ad sys_setrlimit - 0x00000000000096b3 sys_getrusage - 0x00000000000096b9 sys_gettimeofday - 0x00000000000096bf sys_settimeofday - 0x00000000000096c5 sys_umask - 0x0000000000009736 release - 0x0000000000009873 sys_kill - 0x0000000000009aad do_exit - 0x0000000000009ce1 sys_exit - 0x0000000000009cfa sys_waitpid - 0x0000000000009f52 sys_sgetmask - 0x0000000000009f5e sys_ssetmask - 0x0000000000009f8a sys_sigpending - 0x0000000000009f90 sys_sigsuspend - 0x000000000000a029 sys_signal - 0x000000000000a0ad sys_sigaction - 0x000000000000a1b7 do_signal - 0x000000000000a3a3 kernel_mktime - .text 0x000000000000a4e8 0xb01 mm/mm.o - 0x000000000000a507 get_free_page - 0x000000000000a543 free_page - 0x000000000000a5b2 free_page_tables - 0x000000000000a6b1 copy_page_tables - 0x000000000000a832 put_page - 0x000000000000a91e un_wp_page - 0x000000000000a9d6 do_wp_page - 0x000000000000aa08 write_verify - 0x000000000000aa61 get_empty_page - 0x000000000000ace7 do_no_page - 0x000000000000ae49 mem_init - 0x000000000000aebd calc_mem - 0x000000000000afb2 page_fault - .text 0x000000000000afe9 0x777e fs/fs.o - 0x000000000000afff sys_ustat - 0x000000000000b005 sys_utime - 0x000000000000b0b2 sys_access - 0x000000000000b18e sys_chdir - 0x000000000000b202 sys_chroot - 0x000000000000b276 sys_chmod - 0x000000000000b310 sys_chown - 0x000000000000b38b sys_open - 0x000000000000b62e sys_creat - 0x000000000000b651 sys_close - 0x000000000000b720 sys_lseek - 0x000000000000b837 sys_read - 0x000000000000ba2a sys_write - 0x000000000000bc23 invalidate_inodes - 0x000000000000bc92 sync_inodes - 0x000000000000c0d5 bmap - 0x000000000000c0f8 create_block - 0x000000000000c11b iput - 0x000000000000c28a get_empty_inode - 0x000000000000c3df get_pipe_inode - 0x000000000000c454 iget - 0x000000000000c84f sys_sync - 0x000000000000c8b2 sync_dev - 0x000000000000c9ab invalidate_buffers - 0x000000000000ca1d check_disk_change - 0x000000000000cceb get_hash_table - 0x000000000000cd6d getblk - 0x000000000000cf0b brelse - 0x000000000000cf54 bread - 0x000000000000cfd9 bread_page - 0x000000000000d0fb breada - 0x000000000000d1f0 buffer_init - 0x000000000000d391 get_super - 0x000000000000d400 put_super - 0x000000000000d816 sys_umount - 0x000000000000d977 sys_mount - 0x000000000000dae8 mount_root - 0x000000000000dd1c block_write - 0x000000000000de6e block_read - 0x000000000000e1d9 rw_char - 0x000000000000e269 file_read - 0x000000000000e414 file_write - 0x000000000000e6fd sys_stat - 0x000000000000e747 sys_lstat - 0x000000000000e762 sys_fstat - 0x000000000000e7bf sys_readlink - 0x000000000000e86e sys_uselib - 0x000000000000ed3d do_execve - 0x000000000000f7f1 read_pipe - 0x000000000000f947 write_pipe - 0x000000000000fac6 sys_pipe - 0x00000000000104a5 namei - 0x00000000000105bb open_namei - 0x000000000001090e sys_mknod - 0x0000000000010b3e sys_mkdir - 0x00000000000110cd sys_rmdir - 0x0000000000011425 sys_unlink - 0x00000000000116c6 sys_symlink - 0x00000000000116cc sys_link - 0x0000000000011926 free_block - 0x0000000000011a98 new_block - 0x0000000000011c3c free_inode - 0x0000000000011da3 new_inode - 0x0000000000012057 sys_dup2 - 0x000000000001207e sys_dup - 0x0000000000012099 sys_fcntl - 0x00000000000121d8 sys_ioctl - 0x00000000000123e7 truncate - 0x000000000001251c sys_select - 0x000000000001253a sys_getdents - 0x0000000000012700 sys_execve2 - 0x0000000000012706 sys_getcwd - 0x000000000001270c sys_sleep - 0x0000000000012761 sys_something - .text 0x0000000000012767 0x46a kernel/blk_drv/blk_drv.a(ll_rw_blk.o) - 0x0000000000012b2a ll_rw_block - 0x0000000000012b83 blk_dev_init - .text 0x0000000000012bd1 0xb9d kernel/blk_drv/blk_drv.a(floppy.o) - 0x0000000000012cb7 floppy_deselect - 0x0000000000012cee floppy_change - 0x00000000000130ab setup_rw_floppy - 0x0000000000013344 unexpected_floppy_interrupt - 0x000000000001371c floppy_init - .text 0x000000000001376e 0xc8f kernel/blk_drv/blk_drv.a(hd.o) - 0x0000000000013842 sys_setup - 0x0000000000013ef1 unexpected_hd_interrupt - 0x0000000000014383 hd_init - .text 0x00000000000143fd 0x50c kernel/blk_drv/blk_drv.a(ramdisk.o) - 0x0000000000014607 rd_init - 0x000000000001465d rd_load - .text 0x0000000000014909 0xcbb kernel/chr_drv/chr_drv.a(tty_io.o) - 0x000000000001492f tty_init - 0x0000000000014940 tty_intr - 0x0000000000014a4d wait_for_keypress - 0x0000000000014a60 copy_to_cooked - 0x000000000001501b tty_read - 0x0000000000015389 tty_write - 0x000000000001559b do_tty_interrupt - 0x00000000000155c3 chr_dev_init - .text 0x00000000000155c4 0x1283 kernel/chr_drv/chr_drv.a(console.o) - 0x0000000000015b61 csi_m - 0x0000000000015efb con_write - 0x0000000000016589 con_init - 0x00000000000167c0 sysbeepstop - .text 0x0000000000016847 0x7e2 kernel/chr_drv/chr_drv.a(keyboard.2.o) - 0x000000000001684a keyboard_interrupt - .text 0x0000000000017029 0x145 kernel/chr_drv/chr_drv.a(serial.o) - 0x000000000001709e rs_init - 0x0000000000017121 rs_write - *fill* 0x000000000001716e 0x2 - .text 0x0000000000017170 0xf7 kernel/chr_drv/chr_drv.a(rs_io.o) - 0x0000000000017170 rs1_interrupt - 0x0000000000017178 rs2_interrupt - .text 0x0000000000017267 0x60f kernel/chr_drv/chr_drv.a(tty_ioctl.o) - 0x0000000000017578 tty_ioctl - .text 0x0000000000017876 0x111 kernel/math/math.a(math_emulate.o) - 0x0000000000017884 math_emulate - 0x0000000000017967 math_error - .text 0x0000000000017987 0x0 lib/lib.a(ctype.o) - .text 0x0000000000017987 0x10 lib/lib.a(_exit.o) - 0x0000000000017987 _exit - .text 0x0000000000017997 0x49 lib/lib.a(open.o) - 0x0000000000017997 open - .text 0x00000000000179e0 0x37 lib/lib.a(close.o) - 0x00000000000179e0 close - .text 0x0000000000017a17 0x0 lib/lib.a(errno.o) - .text 0x0000000000017a17 0x3d lib/lib.a(write.o) - 0x0000000000017a17 write - .text 0x0000000000017a54 0x37 lib/lib.a(dup.o) - 0x0000000000017a54 dup - .text 0x0000000000017a8b 0x2f lib/lib.a(setsid.o) - 0x0000000000017a8b setsid - .text 0x0000000000017aba 0x3d lib/lib.a(execve.o) - 0x0000000000017aba execve - .text 0x0000000000017af7 0x60 lib/lib.a(wait.o) - 0x0000000000017af7 waitpid - 0x0000000000017b34 wait - .text 0x0000000000017b57 0x3dc lib/lib.a(string.o) - 0x0000000000017b57 strcpy - 0x0000000000017b73 strncpy - 0x0000000000017b98 strcat - 0x0000000000017bc3 strncat - 0x0000000000017bf8 strcmp - 0x0000000000017c1f strncmp - 0x0000000000017c4d strchr - 0x0000000000017c7a strrchr - 0x0000000000017ca9 strspn - 0x0000000000017ce6 strcspn - 0x0000000000017d23 strpbrk - 0x0000000000017d5a strstr - 0x0000000000017d93 strlen - 0x0000000000017db6 strtok - 0x0000000000017e39 memcpy - 0x0000000000017e59 memmove - 0x0000000000017ead memcmp - 0x0000000000017ed7 memchr - 0x0000000000017f0f memset - .text 0x0000000000017f33 0x36c lib/lib.a(malloc.o) - 0x0000000000017f9c malloc - 0x0000000000018128 free_s + 0x0000000000006bd3 print_nr + .text 0x0000000000006c04 0x392c kernel/kernel.o + 0x0000000000006c04 show_task + 0x0000000000006c89 show_stat + 0x0000000000006ccf math_state_restore + 0x0000000000006d2d schedule + 0x0000000000006edf sys_pause + 0x0000000000006ef5 sleep_on + 0x0000000000006f54 interruptible_sleep_on + 0x0000000000006fe7 wake_up + 0x000000000000700f ticks_to_floppy_on + 0x00000000000070da floppy_on + 0x0000000000007109 floppy_off + 0x0000000000007119 do_floppy_timer + 0x00000000000071ed add_timer + 0x0000000000007311 do_timer + 0x0000000000007400 sys_alarm + 0x000000000000747f sys_getpid + 0x000000000000748b sys_getppid + 0x0000000000007497 sys_getuid + 0x00000000000074a6 sys_geteuid + 0x00000000000074b6 sys_getgid + 0x00000000000074c6 sys_getegid + 0x00000000000074d5 sys_nice + 0x0000000000007500 sched_init + 0x00000000000076a4 system_call + 0x0000000000007728 coprocessor_error + 0x000000000000774a device_not_available + 0x0000000000007784 timer_interrupt + 0x00000000000077bc sys_execve + 0x00000000000077cc sys_execve2 + 0x00000000000077dc sys_fork + 0x00000000000077f4 hd_interrupt + 0x0000000000007830 floppy_interrupt + 0x0000000000007866 parallel_interrupt + 0x0000000000007a81 do_double_fault + 0x0000000000007aa4 do_general_protection + 0x0000000000007ac7 do_divide_error + 0x0000000000007aea do_int3 + 0x0000000000007bb2 do_nmi + 0x0000000000007bd5 do_debug + 0x0000000000007bf8 do_overflow + 0x0000000000007c1b do_bounds + 0x0000000000007c3e do_invalid_op + 0x0000000000007c61 do_device_not_available + 0x0000000000007c84 do_coprocessor_segment_overrun + 0x0000000000007ca7 do_invalid_TSS + 0x0000000000007cca do_segment_not_present + 0x0000000000007ced do_stack_segment + 0x0000000000007d10 do_coprocessor_error + 0x0000000000007d44 do_reserved + 0x0000000000007d67 trap_init + 0x000000000000804b divide_error + 0x0000000000008080 debug + 0x0000000000008087 nmi + 0x000000000000808e int3 + 0x0000000000008095 overflow + 0x000000000000809c bounds + 0x00000000000080a3 invalid_op + 0x00000000000080aa coprocessor_segment_overrun + 0x00000000000080b1 reserved + 0x00000000000080b8 irq13 + 0x00000000000080cd double_fault + 0x0000000000008104 invalid_TSS + 0x000000000000810b segment_not_present + 0x0000000000008112 stack_segment + 0x0000000000008119 general_protection + 0x0000000000008152 verify_area + 0x00000000000081b9 copy_mem + 0x0000000000008313 copy_process + 0x00000000000087c0 find_empty_process + 0x0000000000008854 panic + 0x000000000000888f printk + 0x0000000000008bac vsprintf + 0x0000000000009072 sys_ftime + 0x0000000000009078 sys_break + 0x000000000000907e sys_ptrace + 0x0000000000009084 sys_stty + 0x000000000000908a sys_gtty + 0x0000000000009090 sys_rename + 0x0000000000009096 sys_prof + 0x000000000000909c sys_setregid + 0x0000000000009155 sys_setgid + 0x00000000000091ec sys_acct + 0x00000000000091f2 sys_phys + 0x00000000000091f8 sys_lock + 0x00000000000091fe sys_mpx + 0x0000000000009204 sys_ulimit + 0x000000000000920a sys_time + 0x0000000000009266 sys_setreuid + 0x0000000000009348 sys_setuid + 0x00000000000093dd sys_stime + 0x0000000000009433 sys_times + 0x00000000000094d3 sys_brk + 0x0000000000009515 sys_setpgid + 0x00000000000095ee sys_getpgrp + 0x00000000000095fa sys_setsid + 0x0000000000009674 sys_getgroups + 0x000000000000967a sys_setgroups + 0x0000000000009680 sys_uname + 0x00000000000096e9 sys_sethostname + 0x00000000000096ef sys_getrlimit + 0x00000000000096f5 sys_setrlimit + 0x00000000000096fb sys_getrusage + 0x0000000000009701 sys_gettimeofday + 0x0000000000009707 sys_settimeofday + 0x000000000000970d sys_umask + 0x000000000000977e release + 0x00000000000098bb sys_kill + 0x0000000000009af5 do_exit + 0x0000000000009d29 sys_exit + 0x0000000000009d42 sys_waitpid + 0x0000000000009f9a sys_sgetmask + 0x0000000000009fa6 sys_ssetmask + 0x0000000000009fd2 sys_sigpending + 0x0000000000009fd8 sys_sigsuspend + 0x000000000000a071 sys_signal + 0x000000000000a0f5 sys_sigaction + 0x000000000000a1ff do_signal + 0x000000000000a3eb kernel_mktime + .text 0x000000000000a530 0xb01 mm/mm.o + 0x000000000000a54f get_free_page + 0x000000000000a58b free_page + 0x000000000000a5fa free_page_tables + 0x000000000000a6f9 copy_page_tables + 0x000000000000a87a put_page + 0x000000000000a966 un_wp_page + 0x000000000000aa1e do_wp_page + 0x000000000000aa50 write_verify + 0x000000000000aaa9 get_empty_page + 0x000000000000ad2f do_no_page + 0x000000000000ae91 mem_init + 0x000000000000af05 calc_mem + 0x000000000000affa page_fault + .text 0x000000000000b031 0x8356 fs/fs.o + 0x000000000000b047 sys_ustat + 0x000000000000b04d sys_utime + 0x000000000000b0fa sys_access + 0x000000000000b1d6 sys_chdir + 0x000000000000b24a sys_chroot + 0x000000000000b2be sys_chmod + 0x000000000000b358 sys_chown + 0x000000000000b3d3 sys_open + 0x000000000000b676 sys_creat + 0x000000000000b699 sys_close + 0x000000000000b768 sys_lseek + 0x000000000000b87f sys_read + 0x000000000000ba72 sys_write + 0x000000000000bc6b invalidate_inodes + 0x000000000000bcda sync_inodes + 0x000000000000c11d bmap + 0x000000000000c140 create_block + 0x000000000000c163 iput + 0x000000000000c2d2 get_empty_inode + 0x000000000000c427 get_pipe_inode + 0x000000000000c49c iget + 0x000000000000c897 sys_sync + 0x000000000000c8fa sync_dev + 0x000000000000c9f3 invalidate_buffers + 0x000000000000ca65 check_disk_change + 0x000000000000cd33 get_hash_table + 0x000000000000cdb5 getblk + 0x000000000000cf53 brelse + 0x000000000000cf9c bread + 0x000000000000d021 bread_page + 0x000000000000d143 breada + 0x000000000000d238 buffer_init + 0x000000000000d3d9 get_super + 0x000000000000d448 put_super + 0x000000000000d85e sys_umount + 0x000000000000d9bf sys_mount + 0x000000000000db30 mount_root + 0x000000000000dd64 block_write + 0x000000000000deb6 block_read + 0x000000000000e221 rw_char + 0x000000000000e2b1 file_read + 0x000000000000e45c file_write + 0x000000000000e745 sys_stat + 0x000000000000e78f sys_lstat + 0x000000000000e7aa sys_fstat + 0x000000000000e807 sys_readlink + 0x000000000000e8b6 sys_uselib + 0x000000000000ed85 do_execve + 0x000000000000f826 do_execve2 + 0x000000000001042f read_pipe + 0x0000000000010585 write_pipe + 0x0000000000010704 sys_pipe + 0x00000000000110e3 namei + 0x00000000000111f9 open_namei + 0x000000000001154c sys_mknod + 0x000000000001177c sys_mkdir + 0x0000000000011d0b sys_rmdir + 0x0000000000012063 sys_unlink + 0x0000000000012304 sys_symlink + 0x000000000001230a sys_link + 0x0000000000012564 free_block + 0x00000000000126d6 new_block + 0x000000000001287a free_inode + 0x00000000000129e1 new_inode + 0x0000000000012c95 sys_dup2 + 0x0000000000012cbc sys_dup + 0x0000000000012cd7 sys_fcntl + 0x0000000000012e16 sys_ioctl + 0x0000000000013025 truncate + 0x000000000001315a sys_select + 0x0000000000013178 sys_getdents + 0x000000000001333e sys_sleep + 0x000000000001337b sys_something + 0x0000000000013381 sys_getcwd + .text 0x0000000000013387 0x46a kernel/blk_drv/blk_drv.a(ll_rw_blk.o) + 0x000000000001374a ll_rw_block + 0x00000000000137a3 blk_dev_init + .text 0x00000000000137f1 0xb9d kernel/blk_drv/blk_drv.a(floppy.o) + 0x00000000000138d7 floppy_deselect + 0x000000000001390e floppy_change + 0x0000000000013ccb setup_rw_floppy + 0x0000000000013f64 unexpected_floppy_interrupt + 0x000000000001433c floppy_init + .text 0x000000000001438e 0xc8f kernel/blk_drv/blk_drv.a(hd.o) + 0x0000000000014462 sys_setup + 0x0000000000014b11 unexpected_hd_interrupt + 0x0000000000014fa3 hd_init + .text 0x000000000001501d 0x50c kernel/blk_drv/blk_drv.a(ramdisk.o) + 0x0000000000015227 rd_init + 0x000000000001527d rd_load + .text 0x0000000000015529 0xcbb kernel/chr_drv/chr_drv.a(tty_io.o) + 0x000000000001554f tty_init + 0x0000000000015560 tty_intr + 0x000000000001566d wait_for_keypress + 0x0000000000015680 copy_to_cooked + 0x0000000000015c3b tty_read + 0x0000000000015fa9 tty_write + 0x00000000000161bb do_tty_interrupt + 0x00000000000161e3 chr_dev_init + .text 0x00000000000161e4 0x1283 kernel/chr_drv/chr_drv.a(console.o) + 0x0000000000016781 csi_m + 0x0000000000016b1b con_write + 0x00000000000171a9 con_init + 0x00000000000173e0 sysbeepstop + .text 0x0000000000017467 0x7e2 kernel/chr_drv/chr_drv.a(keyboard.2.o) + 0x000000000001746a keyboard_interrupt + .text 0x0000000000017c49 0x145 kernel/chr_drv/chr_drv.a(serial.o) + 0x0000000000017cbe rs_init + 0x0000000000017d41 rs_write + *fill* 0x0000000000017d8e 0x2 + .text 0x0000000000017d90 0xf7 kernel/chr_drv/chr_drv.a(rs_io.o) + 0x0000000000017d90 rs1_interrupt + 0x0000000000017d98 rs2_interrupt + .text 0x0000000000017e87 0x60f kernel/chr_drv/chr_drv.a(tty_ioctl.o) + 0x0000000000018198 tty_ioctl + .text 0x0000000000018496 0x111 kernel/math/math.a(math_emulate.o) + 0x00000000000184a4 math_emulate + 0x0000000000018587 math_error + .text 0x00000000000185a7 0x0 lib/lib.a(ctype.o) + .text 0x00000000000185a7 0x10 lib/lib.a(_exit.o) + 0x00000000000185a7 _exit + .text 0x00000000000185b7 0x49 lib/lib.a(open.o) + 0x00000000000185b7 open + .text 0x0000000000018600 0x37 lib/lib.a(close.o) + 0x0000000000018600 close + .text 0x0000000000018637 0x0 lib/lib.a(errno.o) + .text 0x0000000000018637 0x3d lib/lib.a(write.o) + 0x0000000000018637 write + .text 0x0000000000018674 0x37 lib/lib.a(dup.o) + 0x0000000000018674 dup + .text 0x00000000000186ab 0x2f lib/lib.a(setsid.o) + 0x00000000000186ab setsid + .text 0x00000000000186da 0x3d lib/lib.a(execve.o) + 0x00000000000186da execve + .text 0x0000000000018717 0x60 lib/lib.a(wait.o) + 0x0000000000018717 waitpid + 0x0000000000018754 wait + .text 0x0000000000018777 0x3dc lib/lib.a(string.o) + 0x0000000000018777 strcpy + 0x0000000000018793 strncpy + 0x00000000000187b8 strcat + 0x00000000000187e3 strncat + 0x0000000000018818 strcmp + 0x000000000001883f strncmp + 0x000000000001886d strchr + 0x000000000001889a strrchr + 0x00000000000188c9 strspn + 0x0000000000018906 strcspn + 0x0000000000018943 strpbrk + 0x000000000001897a strstr + 0x00000000000189b3 strlen + 0x00000000000189d6 strtok + 0x0000000000018a59 memcpy + 0x0000000000018a79 memmove + 0x0000000000018acd memcmp + 0x0000000000018af7 memchr + 0x0000000000018b2f memset + .text 0x0000000000018b53 0x36c lib/lib.a(malloc.o) + 0x0000000000018bbc malloc + 0x0000000000018d48 free_s *(.gnu.warning) .fini *(SORT(.fini)) - 0x000000000001829f PROVIDE (__etext, .) - 0x000000000001829f PROVIDE (_etext, .) - 0x000000000001829f PROVIDE (etext, .) + 0x0000000000018ebf PROVIDE (__etext, .) + 0x0000000000018ebf PROVIDE (_etext, .) + 0x0000000000018ebf PROVIDE (etext, .) -.rodata 0x00000000000182a0 0x14b7 +.rodata 0x0000000000018ec0 0x14cf *(.rodata .rodata.* .gnu.linkonce.r.*) - .rodata 0x00000000000182a0 0xad init/main.o - *fill* 0x000000000001834d 0x3 - .rodata 0x0000000000018350 0x438 kernel/kernel.o - .rodata 0x0000000000018788 0x18f mm/mm.o - *fill* 0x0000000000018917 0x1 - .rodata 0x0000000000018918 0x641 fs/fs.o - *fill* 0x0000000000018f59 0x3 - .rodata 0x0000000000018f5c 0x7a kernel/blk_drv/blk_drv.a(ll_rw_blk.o) - *fill* 0x0000000000018fd6 0x2 - .rodata 0x0000000000018fd8 0x133 kernel/blk_drv/blk_drv.a(floppy.o) - *fill* 0x000000000001910b 0x1 - .rodata 0x000000000001910c 0x19b kernel/blk_drv/blk_drv.a(hd.o) - *fill* 0x00000000000192a7 0x1 - .rodata 0x00000000000192a8 0x188 kernel/blk_drv/blk_drv.a(ramdisk.o) - .rodata 0x0000000000019430 0x17d kernel/chr_drv/chr_drv.a(console.o) - *fill* 0x00000000000195ad 0x3 - .rodata 0x00000000000195b0 0x80 kernel/chr_drv/chr_drv.a(tty_ioctl.o) - .rodata 0x0000000000019630 0x52 kernel/math/math.a(math_emulate.o) - *fill* 0x0000000000019682 0x2 - .rodata 0x0000000000019684 0xd3 lib/lib.a(malloc.o) + .rodata 0x0000000000018ec0 0xc9 init/main.o + *fill* 0x0000000000018f89 0x3 + .rodata 0x0000000000018f8c 0x438 kernel/kernel.o + .rodata 0x00000000000193c4 0x18f mm/mm.o + *fill* 0x0000000000019553 0x1 + .rodata 0x0000000000019554 0x640 fs/fs.o + .rodata 0x0000000000019b94 0x7a kernel/blk_drv/blk_drv.a(ll_rw_blk.o) + *fill* 0x0000000000019c0e 0x2 + .rodata 0x0000000000019c10 0x133 kernel/blk_drv/blk_drv.a(floppy.o) + *fill* 0x0000000000019d43 0x1 + .rodata 0x0000000000019d44 0x19b kernel/blk_drv/blk_drv.a(hd.o) + *fill* 0x0000000000019edf 0x1 + .rodata 0x0000000000019ee0 0x188 kernel/blk_drv/blk_drv.a(ramdisk.o) + .rodata 0x000000000001a068 0x17d kernel/chr_drv/chr_drv.a(console.o) + *fill* 0x000000000001a1e5 0x3 + .rodata 0x000000000001a1e8 0x80 kernel/chr_drv/chr_drv.a(tty_ioctl.o) + .rodata 0x000000000001a268 0x52 kernel/math/math.a(math_emulate.o) + *fill* 0x000000000001a2ba 0x2 + .rodata 0x000000000001a2bc 0xd3 lib/lib.a(malloc.o) .rodata1 *(.rodata1) @@ -555,52 +555,52 @@ LOAD lib/lib.a .eh_frame_hdr *(.eh_frame_hdr) -.eh_frame 0x0000000000019758 0x2b44 +.eh_frame 0x000000000001a390 0x2b98 *(.eh_frame) - .eh_frame 0x0000000000019758 0xf0 init/main.o - .eh_frame 0x0000000000019848 0xb04 kernel/kernel.o + .eh_frame 0x000000000001a390 0x108 init/main.o + .eh_frame 0x000000000001a498 0xb04 kernel/kernel.o 0xbf4 (size before relaxing) - .eh_frame 0x000000000001a34c 0x194 mm/mm.o + .eh_frame 0x000000000001af9c 0x194 mm/mm.o 0x1ac (size before relaxing) - .eh_frame 0x000000000001a4e0 0xe60 fs/fs.o - 0x1010 (size before relaxing) - .eh_frame 0x000000000001b340 0x98 kernel/blk_drv/blk_drv.a(ll_rw_blk.o) + .eh_frame 0x000000000001b130 0xe9c fs/fs.o + 0x104c (size before relaxing) + .eh_frame 0x000000000001bfcc 0x98 kernel/blk_drv/blk_drv.a(ll_rw_blk.o) 0xb0 (size before relaxing) - .eh_frame 0x000000000001b3d8 0x23c kernel/blk_drv/blk_drv.a(floppy.o) + .eh_frame 0x000000000001c064 0x23c kernel/blk_drv/blk_drv.a(floppy.o) 0x254 (size before relaxing) - .eh_frame 0x000000000001b614 0x1e8 kernel/blk_drv/blk_drv.a(hd.o) + .eh_frame 0x000000000001c2a0 0x1e8 kernel/blk_drv/blk_drv.a(hd.o) 0x200 (size before relaxing) - .eh_frame 0x000000000001b7fc 0xac kernel/blk_drv/blk_drv.a(ramdisk.o) + .eh_frame 0x000000000001c488 0xac kernel/blk_drv/blk_drv.a(ramdisk.o) 0xc4 (size before relaxing) - .eh_frame 0x000000000001b8a8 0x12c kernel/chr_drv/chr_drv.a(tty_io.o) + .eh_frame 0x000000000001c534 0x12c kernel/chr_drv/chr_drv.a(tty_io.o) 0x144 (size before relaxing) - .eh_frame 0x000000000001b9d4 0x2c0 kernel/chr_drv/chr_drv.a(console.o) + .eh_frame 0x000000000001c660 0x2c0 kernel/chr_drv/chr_drv.a(console.o) 0x2d8 (size before relaxing) - .eh_frame 0x000000000001bc94 0x54 kernel/chr_drv/chr_drv.a(serial.o) + .eh_frame 0x000000000001c920 0x54 kernel/chr_drv/chr_drv.a(serial.o) 0x6c (size before relaxing) - .eh_frame 0x000000000001bce8 0x148 kernel/chr_drv/chr_drv.a(tty_ioctl.o) + .eh_frame 0x000000000001c974 0x148 kernel/chr_drv/chr_drv.a(tty_ioctl.o) 0x160 (size before relaxing) - .eh_frame 0x000000000001be30 0x5c kernel/math/math.a(math_emulate.o) + .eh_frame 0x000000000001cabc 0x5c kernel/math/math.a(math_emulate.o) 0x74 (size before relaxing) - .eh_frame 0x000000000001be8c 0x1c lib/lib.a(_exit.o) + .eh_frame 0x000000000001cb18 0x1c lib/lib.a(_exit.o) 0x34 (size before relaxing) - .eh_frame 0x000000000001bea8 0x24 lib/lib.a(open.o) + .eh_frame 0x000000000001cb34 0x24 lib/lib.a(open.o) 0x3c (size before relaxing) - .eh_frame 0x000000000001becc 0x20 lib/lib.a(close.o) + .eh_frame 0x000000000001cb58 0x20 lib/lib.a(close.o) 0x38 (size before relaxing) - .eh_frame 0x000000000001beec 0x20 lib/lib.a(write.o) + .eh_frame 0x000000000001cb78 0x20 lib/lib.a(write.o) 0x38 (size before relaxing) - .eh_frame 0x000000000001bf0c 0x20 lib/lib.a(dup.o) + .eh_frame 0x000000000001cb98 0x20 lib/lib.a(dup.o) 0x38 (size before relaxing) - .eh_frame 0x000000000001bf2c 0x18 lib/lib.a(setsid.o) + .eh_frame 0x000000000001cbb8 0x18 lib/lib.a(setsid.o) 0x30 (size before relaxing) - .eh_frame 0x000000000001bf44 0x20 lib/lib.a(execve.o) + .eh_frame 0x000000000001cbd0 0x20 lib/lib.a(execve.o) 0x38 (size before relaxing) - .eh_frame 0x000000000001bf64 0x38 lib/lib.a(wait.o) + .eh_frame 0x000000000001cbf0 0x38 lib/lib.a(wait.o) 0x50 (size before relaxing) - .eh_frame 0x000000000001bf9c 0x2b0 lib/lib.a(string.o) + .eh_frame 0x000000000001cc28 0x2b0 lib/lib.a(string.o) 0x2c8 (size before relaxing) - .eh_frame 0x000000000001c24c 0x50 lib/lib.a(malloc.o) + .eh_frame 0x000000000001ced8 0x50 lib/lib.a(malloc.o) 0x68 (size before relaxing) .gcc_except_table @@ -608,7 +608,7 @@ LOAD lib/lib.a .exception_ranges *(.exception_ranges .exception_ranges*) - 0x000000000001c29c . = . + 0x000000000001cf28 . = . .eh_frame *(.eh_frame) @@ -626,22 +626,22 @@ LOAD lib/lib.a *(.tbss .tbss.* .gnu.linkonce.tb.*) *(.tcommon) -.preinit_array 0x000000000001c29c 0x0 - 0x000000000001c29c PROVIDE (__preinit_array_start, .) +.preinit_array 0x000000000001cf28 0x0 + 0x000000000001cf28 PROVIDE (__preinit_array_start, .) *(.preinit_array) - 0x000000000001c29c PROVIDE (__preinit_array_end, .) + 0x000000000001cf28 PROVIDE (__preinit_array_end, .) -.init_array 0x000000000001c29c 0x0 - 0x000000000001c29c PROVIDE (__init_array_start, .) +.init_array 0x000000000001cf28 0x0 + 0x000000000001cf28 PROVIDE (__init_array_start, .) *(SORT(.init_array.*) SORT(.ctors.*)) *(.init_array EXCLUDE_FILE(*crtend?.o *crtend.o *crtbegin?.o *crtbegin.o) .ctors) - 0x000000000001c29c PROVIDE (__init_array_end, .) + 0x000000000001cf28 PROVIDE (__init_array_end, .) -.fini_array 0x000000000001c29c 0x0 - 0x000000000001c29c PROVIDE (__fini_array_start, .) +.fini_array 0x000000000001cf28 0x0 + 0x000000000001cf28 PROVIDE (__fini_array_start, .) *(SORT(.fini_array.*) SORT(.dtors.*)) *(.fini_array EXCLUDE_FILE(*crtend?.o *crtend.o *crtbegin?.o *crtbegin.o) .dtors) - 0x000000000001c29c PROVIDE (__fini_array_end, .) + 0x000000000001cf28 PROVIDE (__fini_array_end, .) .ctors *crtbegin.o(.ctors) @@ -671,145 +671,145 @@ LOAD lib/lib.a *(.got) *(.igot) -.got.plt 0x000000000001c29c 0x0 +.got.plt 0x000000000001cf28 0x0 *(.got.plt) *(.igot.plt) .igot.plt 0x0000000000000000 0x0 boot/head.o -.data 0x000000000001c2a0 0x3b90 +.data 0x000000000001cf40 0x3b90 *(.data .data.* .gnu.linkonce.d.*) - .data 0x000000000001c2a0 0x0 boot/head.o - .data 0x000000000001c2a0 0x28 init/main.o - *fill* 0x000000000001c2c8 0x18 - .data 0x000000000001c2e0 0x1330 kernel/kernel.o - 0x000000000001c2e0 sys_call_table - 0x000000000001c450 NR_syscalls - 0x000000000001d460 current - 0x000000000001d480 task - 0x000000000001d580 stack_start - 0x000000000001d588 current_DOR - .data 0x000000000001d610 0x0 mm/mm.o - *fill* 0x000000000001d610 0x10 - .data 0x000000000001d620 0x60 fs/fs.o - 0x000000000001d624 start_buffer - .data 0x000000000001d680 0x0 kernel/blk_drv/blk_drv.a(ll_rw_blk.o) - .data 0x000000000001d680 0xcd kernel/blk_drv/blk_drv.a(floppy.o) - *fill* 0x000000000001d74d 0x3 - .data 0x000000000001d750 0x4 kernel/blk_drv/blk_drv.a(hd.o) - .data 0x000000000001d754 0x0 kernel/blk_drv/blk_drv.a(ramdisk.o) - *fill* 0x000000000001d754 0xc - .data 0x000000000001d760 0x2538 kernel/chr_drv/chr_drv.a(tty_io.o) - 0x000000000001d760 tty_table - 0x000000000001fc80 table_list - .data 0x000000000001fc98 0x1 kernel/chr_drv/chr_drv.a(console.o) - .data 0x000000000001fc99 0x0 kernel/chr_drv/chr_drv.a(keyboard.2.o) - .data 0x000000000001fc99 0x0 kernel/chr_drv/chr_drv.a(serial.o) - .data 0x000000000001fc99 0x0 kernel/chr_drv/chr_drv.a(rs_io.o) - *fill* 0x000000000001fc99 0x7 - .data 0x000000000001fca0 0x20 kernel/chr_drv/chr_drv.a(tty_ioctl.o) - .data 0x000000000001fcc0 0x0 kernel/math/math.a(math_emulate.o) - .data 0x000000000001fcc0 0x101 lib/lib.a(ctype.o) - 0x000000000001fcc0 _ctype - .data 0x000000000001fdc1 0x0 lib/lib.a(_exit.o) - .data 0x000000000001fdc1 0x0 lib/lib.a(open.o) - .data 0x000000000001fdc1 0x0 lib/lib.a(close.o) - .data 0x000000000001fdc1 0x0 lib/lib.a(errno.o) - .data 0x000000000001fdc1 0x0 lib/lib.a(write.o) - .data 0x000000000001fdc1 0x0 lib/lib.a(dup.o) - .data 0x000000000001fdc1 0x0 lib/lib.a(setsid.o) - .data 0x000000000001fdc1 0x0 lib/lib.a(execve.o) - .data 0x000000000001fdc1 0x0 lib/lib.a(wait.o) - .data 0x000000000001fdc1 0x0 lib/lib.a(string.o) - *fill* 0x000000000001fdc1 0x1f - .data 0x000000000001fde0 0x50 lib/lib.a(malloc.o) - 0x000000000001fde0 bucket_dir + .data 0x000000000001cf40 0x0 boot/head.o + .data 0x000000000001cf40 0x28 init/main.o + *fill* 0x000000000001cf68 0x18 + .data 0x000000000001cf80 0x1330 kernel/kernel.o + 0x000000000001cf80 sys_call_table + 0x000000000001d0f0 NR_syscalls + 0x000000000001e100 current + 0x000000000001e120 task + 0x000000000001e220 stack_start + 0x000000000001e228 current_DOR + .data 0x000000000001e2b0 0x0 mm/mm.o + *fill* 0x000000000001e2b0 0x10 + .data 0x000000000001e2c0 0x60 fs/fs.o + 0x000000000001e2c4 start_buffer + .data 0x000000000001e320 0x0 kernel/blk_drv/blk_drv.a(ll_rw_blk.o) + .data 0x000000000001e320 0xcd kernel/blk_drv/blk_drv.a(floppy.o) + *fill* 0x000000000001e3ed 0x3 + .data 0x000000000001e3f0 0x4 kernel/blk_drv/blk_drv.a(hd.o) + .data 0x000000000001e3f4 0x0 kernel/blk_drv/blk_drv.a(ramdisk.o) + *fill* 0x000000000001e3f4 0xc + .data 0x000000000001e400 0x2538 kernel/chr_drv/chr_drv.a(tty_io.o) + 0x000000000001e400 tty_table + 0x0000000000020920 table_list + .data 0x0000000000020938 0x1 kernel/chr_drv/chr_drv.a(console.o) + .data 0x0000000000020939 0x0 kernel/chr_drv/chr_drv.a(keyboard.2.o) + .data 0x0000000000020939 0x0 kernel/chr_drv/chr_drv.a(serial.o) + .data 0x0000000000020939 0x0 kernel/chr_drv/chr_drv.a(rs_io.o) + *fill* 0x0000000000020939 0x7 + .data 0x0000000000020940 0x20 kernel/chr_drv/chr_drv.a(tty_ioctl.o) + .data 0x0000000000020960 0x0 kernel/math/math.a(math_emulate.o) + .data 0x0000000000020960 0x101 lib/lib.a(ctype.o) + 0x0000000000020960 _ctype + .data 0x0000000000020a61 0x0 lib/lib.a(_exit.o) + .data 0x0000000000020a61 0x0 lib/lib.a(open.o) + .data 0x0000000000020a61 0x0 lib/lib.a(close.o) + .data 0x0000000000020a61 0x0 lib/lib.a(errno.o) + .data 0x0000000000020a61 0x0 lib/lib.a(write.o) + .data 0x0000000000020a61 0x0 lib/lib.a(dup.o) + .data 0x0000000000020a61 0x0 lib/lib.a(setsid.o) + .data 0x0000000000020a61 0x0 lib/lib.a(execve.o) + .data 0x0000000000020a61 0x0 lib/lib.a(wait.o) + .data 0x0000000000020a61 0x0 lib/lib.a(string.o) + *fill* 0x0000000000020a61 0x1f + .data 0x0000000000020a80 0x50 lib/lib.a(malloc.o) + 0x0000000000020a80 bucket_dir .data1 *(.data1) - 0x000000000001fe30 _edata = . - 0x000000000001fe30 PROVIDE (edata, .) - 0x000000000001fe30 . = . - 0x000000000001fe30 __bss_start = . + 0x0000000000020ad0 _edata = . + 0x0000000000020ad0 PROVIDE (edata, .) + 0x0000000000020ad0 . = . + 0x0000000000020ad0 __bss_start = . -.bss 0x000000000001fe40 0x44b0 +.bss 0x0000000000020ae0 0x44b0 *(.dynbss) *(.bss .bss.* .gnu.linkonce.b.*) - .bss 0x000000000001fe40 0x0 boot/head.o - .bss 0x000000000001fe40 0x40c init/main.o - *fill* 0x000000000002024c 0x14 - .bss 0x0000000000020260 0x760 kernel/kernel.o - 0x0000000000020260 jiffies - 0x0000000000020264 startup_time - 0x0000000000020268 last_task_used_math - 0x00000000000205a4 last_pid - .bss 0x00000000000209c0 0xf20 mm/mm.o - .bss 0x00000000000218e0 0x710 fs/fs.o - 0x00000000000218e0 inode_table - 0x0000000000021fe0 nr_buffers - 0x0000000000021fec ROOT_DEV - *fill* 0x0000000000021ff0 0x10 - .bss 0x0000000000022000 0x58 kernel/blk_drv/blk_drv.a(ll_rw_blk.o) - 0x0000000000022000 wait_for_request - 0x0000000000022020 blk_dev - .bss 0x0000000000022058 0x25 kernel/blk_drv/blk_drv.a(floppy.o) - 0x0000000000022058 do_floppy - 0x000000000002205c selected - 0x0000000000022060 wait_on_floppy_select - *fill* 0x000000000002207d 0x3 - .bss 0x0000000000022080 0xb0 kernel/blk_drv/blk_drv.a(hd.o) - 0x0000000000022080 do_hd - 0x00000000000220a0 hd_info - .bss 0x0000000000022130 0x4 kernel/blk_drv/blk_drv.a(ramdisk.o) - 0x0000000000022130 rd_length - .bss 0x0000000000022134 0x4 kernel/chr_drv/chr_drv.a(tty_io.o) - *fill* 0x0000000000022138 0x8 - .bss 0x0000000000022140 0xac kernel/chr_drv/chr_drv.a(console.o) - 0x0000000000022140 beepcount - .bss 0x00000000000221ec 0x0 kernel/chr_drv/chr_drv.a(keyboard.2.o) - .bss 0x00000000000221ec 0x0 kernel/chr_drv/chr_drv.a(serial.o) - .bss 0x00000000000221ec 0x0 kernel/chr_drv/chr_drv.a(rs_io.o) - .bss 0x00000000000221ec 0x0 kernel/chr_drv/chr_drv.a(tty_ioctl.o) - .bss 0x00000000000221ec 0x0 kernel/math/math.a(math_emulate.o) - .bss 0x00000000000221ec 0x0 lib/lib.a(ctype.o) - .bss 0x00000000000221ec 0x0 lib/lib.a(_exit.o) - .bss 0x00000000000221ec 0x0 lib/lib.a(open.o) - .bss 0x00000000000221ec 0x0 lib/lib.a(close.o) - .bss 0x00000000000221ec 0x0 lib/lib.a(errno.o) - .bss 0x00000000000221ec 0x0 lib/lib.a(write.o) - .bss 0x00000000000221ec 0x0 lib/lib.a(dup.o) - .bss 0x00000000000221ec 0x0 lib/lib.a(setsid.o) - .bss 0x00000000000221ec 0x0 lib/lib.a(execve.o) - .bss 0x00000000000221ec 0x0 lib/lib.a(wait.o) - .bss 0x00000000000221ec 0x0 lib/lib.a(string.o) - .bss 0x00000000000221ec 0x4 lib/lib.a(malloc.o) - 0x00000000000221ec free_bucket_desc + .bss 0x0000000000020ae0 0x0 boot/head.o + .bss 0x0000000000020ae0 0x40c init/main.o + *fill* 0x0000000000020eec 0x14 + .bss 0x0000000000020f00 0x760 kernel/kernel.o + 0x0000000000020f00 jiffies + 0x0000000000020f04 startup_time + 0x0000000000020f08 last_task_used_math + 0x0000000000021244 last_pid + .bss 0x0000000000021660 0xf20 mm/mm.o + .bss 0x0000000000022580 0x710 fs/fs.o + 0x0000000000022580 inode_table + 0x0000000000022c80 nr_buffers + 0x0000000000022c8c ROOT_DEV + *fill* 0x0000000000022c90 0x10 + .bss 0x0000000000022ca0 0x58 kernel/blk_drv/blk_drv.a(ll_rw_blk.o) + 0x0000000000022ca0 wait_for_request + 0x0000000000022cc0 blk_dev + .bss 0x0000000000022cf8 0x25 kernel/blk_drv/blk_drv.a(floppy.o) + 0x0000000000022cf8 do_floppy + 0x0000000000022cfc selected + 0x0000000000022d00 wait_on_floppy_select + *fill* 0x0000000000022d1d 0x3 + .bss 0x0000000000022d20 0xb0 kernel/blk_drv/blk_drv.a(hd.o) + 0x0000000000022d20 do_hd + 0x0000000000022d40 hd_info + .bss 0x0000000000022dd0 0x4 kernel/blk_drv/blk_drv.a(ramdisk.o) + 0x0000000000022dd0 rd_length + .bss 0x0000000000022dd4 0x4 kernel/chr_drv/chr_drv.a(tty_io.o) + *fill* 0x0000000000022dd8 0x8 + .bss 0x0000000000022de0 0xac kernel/chr_drv/chr_drv.a(console.o) + 0x0000000000022de0 beepcount + .bss 0x0000000000022e8c 0x0 kernel/chr_drv/chr_drv.a(keyboard.2.o) + .bss 0x0000000000022e8c 0x0 kernel/chr_drv/chr_drv.a(serial.o) + .bss 0x0000000000022e8c 0x0 kernel/chr_drv/chr_drv.a(rs_io.o) + .bss 0x0000000000022e8c 0x0 kernel/chr_drv/chr_drv.a(tty_ioctl.o) + .bss 0x0000000000022e8c 0x0 kernel/math/math.a(math_emulate.o) + .bss 0x0000000000022e8c 0x0 lib/lib.a(ctype.o) + .bss 0x0000000000022e8c 0x0 lib/lib.a(_exit.o) + .bss 0x0000000000022e8c 0x0 lib/lib.a(open.o) + .bss 0x0000000000022e8c 0x0 lib/lib.a(close.o) + .bss 0x0000000000022e8c 0x0 lib/lib.a(errno.o) + .bss 0x0000000000022e8c 0x0 lib/lib.a(write.o) + .bss 0x0000000000022e8c 0x0 lib/lib.a(dup.o) + .bss 0x0000000000022e8c 0x0 lib/lib.a(setsid.o) + .bss 0x0000000000022e8c 0x0 lib/lib.a(execve.o) + .bss 0x0000000000022e8c 0x0 lib/lib.a(wait.o) + .bss 0x0000000000022e8c 0x0 lib/lib.a(string.o) + .bss 0x0000000000022e8c 0x4 lib/lib.a(malloc.o) + 0x0000000000022e8c free_bucket_desc *(COMMON) - *fill* 0x00000000000221f0 0x10 - COMMON 0x0000000000022200 0x20 init/main.o - 0x0000000000022200 drive_info - COMMON 0x0000000000022220 0x1000 kernel/kernel.o - 0x0000000000022220 user_stack - COMMON 0x0000000000023220 0xc40 fs/fs.o - 0x0000000000023220 hash_table - 0x0000000000023700 super_block - 0x0000000000023a60 file_table - COMMON 0x0000000000023e60 0x480 kernel/blk_drv/blk_drv.a(ll_rw_blk.o) - 0x0000000000023e60 request - COMMON 0x00000000000242e0 0x4 kernel/blk_drv/blk_drv.a(ramdisk.o) - 0x00000000000242e0 rd_start - COMMON 0x00000000000242e4 0x1 lib/lib.a(ctype.o) - 0x00000000000242e4 _ctmp - *fill* 0x00000000000242e5 0x3 - COMMON 0x00000000000242e8 0x4 lib/lib.a(errno.o) - 0x00000000000242e8 errno - COMMON 0x00000000000242ec 0x4 lib/lib.a(string.o) - 0x00000000000242ec ___strtok - 0x00000000000242f0 . = ALIGN ((. != 0x0)?0x4:0x1) - 0x00000000000242f0 . = ALIGN (0x4) - 0x00000000000242f0 . = SEGMENT_START ("ldata-segment", .) - 0x00000000000242f0 . = ALIGN (0x4) - 0x00000000000242f0 _end = . - 0x00000000000242f0 PROVIDE (end, .) + *fill* 0x0000000000022e90 0x10 + COMMON 0x0000000000022ea0 0x20 init/main.o + 0x0000000000022ea0 drive_info + COMMON 0x0000000000022ec0 0x1000 kernel/kernel.o + 0x0000000000022ec0 user_stack + COMMON 0x0000000000023ec0 0xc40 fs/fs.o + 0x0000000000023ec0 hash_table + 0x00000000000243a0 super_block + 0x0000000000024700 file_table + COMMON 0x0000000000024b00 0x480 kernel/blk_drv/blk_drv.a(ll_rw_blk.o) + 0x0000000000024b00 request + COMMON 0x0000000000024f80 0x4 kernel/blk_drv/blk_drv.a(ramdisk.o) + 0x0000000000024f80 rd_start + COMMON 0x0000000000024f84 0x1 lib/lib.a(ctype.o) + 0x0000000000024f84 _ctmp + *fill* 0x0000000000024f85 0x3 + COMMON 0x0000000000024f88 0x4 lib/lib.a(errno.o) + 0x0000000000024f88 errno + COMMON 0x0000000000024f8c 0x4 lib/lib.a(string.o) + 0x0000000000024f8c ___strtok + 0x0000000000024f90 . = ALIGN ((. != 0x0)?0x4:0x1) + 0x0000000000024f90 . = ALIGN (0x4) + 0x0000000000024f90 . = SEGMENT_START ("ldata-segment", .) + 0x0000000000024f90 . = ALIGN (0x4) + 0x0000000000024f90 _end = . + 0x0000000000024f90 PROVIDE (end, .) .stab *(.stab) @@ -926,144 +926,144 @@ LOAD lib/lib.a .debug_pubnames *(.debug_pubnames) -.debug_info 0x0000000000000000 0x178f7 +.debug_info 0x0000000000000000 0x18131 *(.debug_info .gnu.linkonce.wi.*) - .debug_info 0x0000000000000000 0x553 init/main.o - .debug_info 0x0000000000000553 0x4cb6 kernel/kernel.o - .debug_info 0x0000000000005209 0xb2b mm/mm.o - .debug_info 0x0000000000005d34 0xac3f fs/fs.o - .debug_info 0x0000000000010973 0x932 kernel/blk_drv/blk_drv.a(ll_rw_blk.o) - .debug_info 0x00000000000112a5 0xc9f kernel/blk_drv/blk_drv.a(floppy.o) - .debug_info 0x0000000000011f44 0xd5f kernel/blk_drv/blk_drv.a(hd.o) - .debug_info 0x0000000000012ca3 0xad5 kernel/blk_drv/blk_drv.a(ramdisk.o) - .debug_info 0x0000000000013778 0xacd kernel/chr_drv/chr_drv.a(tty_io.o) - .debug_info 0x0000000000014245 0xdb0 kernel/chr_drv/chr_drv.a(console.o) - .debug_info 0x0000000000014ff5 0x85c kernel/chr_drv/chr_drv.a(serial.o) - .debug_info 0x0000000000015851 0xb47 kernel/chr_drv/chr_drv.a(tty_ioctl.o) - .debug_info 0x0000000000016398 0x7b5 kernel/math/math.a(math_emulate.o) - .debug_info 0x0000000000016b4d 0x66 lib/lib.a(ctype.o) - .debug_info 0x0000000000016bb3 0x77 lib/lib.a(_exit.o) - .debug_info 0x0000000000016c2a 0xd0 lib/lib.a(open.o) - .debug_info 0x0000000000016cfa 0x97 lib/lib.a(close.o) - .debug_info 0x0000000000016d91 0x36 lib/lib.a(errno.o) - .debug_info 0x0000000000016dc7 0xc9 lib/lib.a(write.o) - .debug_info 0x0000000000016e90 0x97 lib/lib.a(dup.o) - .debug_info 0x0000000000016f27 0x95 lib/lib.a(setsid.o) - .debug_info 0x0000000000016fbc 0xcb lib/lib.a(execve.o) - .debug_info 0x0000000000017087 0xed lib/lib.a(wait.o) - .debug_info 0x0000000000017174 0x55e lib/lib.a(string.o) - .debug_info 0x00000000000176d2 0x225 lib/lib.a(malloc.o) - -.debug_abbrev 0x0000000000000000 0x4694 + .debug_info 0x0000000000000000 0xb73 init/main.o + .debug_info 0x0000000000000b73 0x4cb6 kernel/kernel.o + .debug_info 0x0000000000005829 0xb2b mm/mm.o + .debug_info 0x0000000000006354 0xae59 fs/fs.o + .debug_info 0x00000000000111ad 0x932 kernel/blk_drv/blk_drv.a(ll_rw_blk.o) + .debug_info 0x0000000000011adf 0xc9f kernel/blk_drv/blk_drv.a(floppy.o) + .debug_info 0x000000000001277e 0xd5f kernel/blk_drv/blk_drv.a(hd.o) + .debug_info 0x00000000000134dd 0xad5 kernel/blk_drv/blk_drv.a(ramdisk.o) + .debug_info 0x0000000000013fb2 0xacd kernel/chr_drv/chr_drv.a(tty_io.o) + .debug_info 0x0000000000014a7f 0xdb0 kernel/chr_drv/chr_drv.a(console.o) + .debug_info 0x000000000001582f 0x85c kernel/chr_drv/chr_drv.a(serial.o) + .debug_info 0x000000000001608b 0xb47 kernel/chr_drv/chr_drv.a(tty_ioctl.o) + .debug_info 0x0000000000016bd2 0x7b5 kernel/math/math.a(math_emulate.o) + .debug_info 0x0000000000017387 0x66 lib/lib.a(ctype.o) + .debug_info 0x00000000000173ed 0x77 lib/lib.a(_exit.o) + .debug_info 0x0000000000017464 0xd0 lib/lib.a(open.o) + .debug_info 0x0000000000017534 0x97 lib/lib.a(close.o) + .debug_info 0x00000000000175cb 0x36 lib/lib.a(errno.o) + .debug_info 0x0000000000017601 0xc9 lib/lib.a(write.o) + .debug_info 0x00000000000176ca 0x97 lib/lib.a(dup.o) + .debug_info 0x0000000000017761 0x95 lib/lib.a(setsid.o) + .debug_info 0x00000000000177f6 0xcb lib/lib.a(execve.o) + .debug_info 0x00000000000178c1 0xed lib/lib.a(wait.o) + .debug_info 0x00000000000179ae 0x55e lib/lib.a(string.o) + .debug_info 0x0000000000017f0c 0x225 lib/lib.a(malloc.o) + +.debug_abbrev 0x0000000000000000 0x4768 *(.debug_abbrev) - .debug_abbrev 0x0000000000000000 0x1d3 init/main.o - .debug_abbrev 0x00000000000001d3 0xf63 kernel/kernel.o - .debug_abbrev 0x0000000000001136 0x20b mm/mm.o - .debug_abbrev 0x0000000000001341 0x1bb3 fs/fs.o - .debug_abbrev 0x0000000000002ef4 0x169 kernel/blk_drv/blk_drv.a(ll_rw_blk.o) - .debug_abbrev 0x000000000000305d 0x27d kernel/blk_drv/blk_drv.a(floppy.o) - .debug_abbrev 0x00000000000032da 0x23c kernel/blk_drv/blk_drv.a(hd.o) - .debug_abbrev 0x0000000000003516 0x1a8 kernel/blk_drv/blk_drv.a(ramdisk.o) - .debug_abbrev 0x00000000000036be 0x279 kernel/chr_drv/chr_drv.a(tty_io.o) - .debug_abbrev 0x0000000000003937 0x26b kernel/chr_drv/chr_drv.a(console.o) - .debug_abbrev 0x0000000000003ba2 0x175 kernel/chr_drv/chr_drv.a(serial.o) - .debug_abbrev 0x0000000000003d17 0x18d kernel/chr_drv/chr_drv.a(tty_ioctl.o) - .debug_abbrev 0x0000000000003ea4 0x163 kernel/math/math.a(math_emulate.o) - .debug_abbrev 0x0000000000004007 0x3e lib/lib.a(ctype.o) - .debug_abbrev 0x0000000000004045 0x51 lib/lib.a(_exit.o) - .debug_abbrev 0x0000000000004096 0x97 lib/lib.a(open.o) - .debug_abbrev 0x000000000000412d 0x75 lib/lib.a(close.o) - .debug_abbrev 0x00000000000041a2 0x2c lib/lib.a(errno.o) - .debug_abbrev 0x00000000000041ce 0xa1 lib/lib.a(write.o) - .debug_abbrev 0x000000000000426f 0x75 lib/lib.a(dup.o) - .debug_abbrev 0x00000000000042e4 0x73 lib/lib.a(setsid.o) - .debug_abbrev 0x0000000000004357 0x85 lib/lib.a(execve.o) - .debug_abbrev 0x00000000000043dc 0xb6 lib/lib.a(wait.o) - .debug_abbrev 0x0000000000004492 0xe9 lib/lib.a(string.o) - .debug_abbrev 0x000000000000457b 0x119 lib/lib.a(malloc.o) - -.debug_line 0x0000000000000000 0x47b9 + .debug_abbrev 0x0000000000000000 0x237 init/main.o + .debug_abbrev 0x0000000000000237 0xf63 kernel/kernel.o + .debug_abbrev 0x000000000000119a 0x20b mm/mm.o + .debug_abbrev 0x00000000000013a5 0x1c23 fs/fs.o + .debug_abbrev 0x0000000000002fc8 0x169 kernel/blk_drv/blk_drv.a(ll_rw_blk.o) + .debug_abbrev 0x0000000000003131 0x27d kernel/blk_drv/blk_drv.a(floppy.o) + .debug_abbrev 0x00000000000033ae 0x23c kernel/blk_drv/blk_drv.a(hd.o) + .debug_abbrev 0x00000000000035ea 0x1a8 kernel/blk_drv/blk_drv.a(ramdisk.o) + .debug_abbrev 0x0000000000003792 0x279 kernel/chr_drv/chr_drv.a(tty_io.o) + .debug_abbrev 0x0000000000003a0b 0x26b kernel/chr_drv/chr_drv.a(console.o) + .debug_abbrev 0x0000000000003c76 0x175 kernel/chr_drv/chr_drv.a(serial.o) + .debug_abbrev 0x0000000000003deb 0x18d kernel/chr_drv/chr_drv.a(tty_ioctl.o) + .debug_abbrev 0x0000000000003f78 0x163 kernel/math/math.a(math_emulate.o) + .debug_abbrev 0x00000000000040db 0x3e lib/lib.a(ctype.o) + .debug_abbrev 0x0000000000004119 0x51 lib/lib.a(_exit.o) + .debug_abbrev 0x000000000000416a 0x97 lib/lib.a(open.o) + .debug_abbrev 0x0000000000004201 0x75 lib/lib.a(close.o) + .debug_abbrev 0x0000000000004276 0x2c lib/lib.a(errno.o) + .debug_abbrev 0x00000000000042a2 0xa1 lib/lib.a(write.o) + .debug_abbrev 0x0000000000004343 0x75 lib/lib.a(dup.o) + .debug_abbrev 0x00000000000043b8 0x73 lib/lib.a(setsid.o) + .debug_abbrev 0x000000000000442b 0x85 lib/lib.a(execve.o) + .debug_abbrev 0x00000000000044b0 0xb6 lib/lib.a(wait.o) + .debug_abbrev 0x0000000000004566 0xe9 lib/lib.a(string.o) + .debug_abbrev 0x000000000000464f 0x119 lib/lib.a(malloc.o) + +.debug_line 0x0000000000000000 0x49b3 *(.debug_line .debug_line.* .debug_line_end) - .debug_line 0x0000000000000000 0x1a7 init/main.o - .debug_line 0x00000000000001a7 0xe86 kernel/kernel.o - .debug_line 0x000000000000102d 0x274 mm/mm.o - .debug_line 0x00000000000012a1 0x1d86 fs/fs.o - .debug_line 0x0000000000003027 0x197 kernel/blk_drv/blk_drv.a(ll_rw_blk.o) - .debug_line 0x00000000000031be 0x24c kernel/blk_drv/blk_drv.a(floppy.o) - .debug_line 0x000000000000340a 0x2bf kernel/blk_drv/blk_drv.a(hd.o) - .debug_line 0x00000000000036c9 0x160 kernel/blk_drv/blk_drv.a(ramdisk.o) - .debug_line 0x0000000000003829 0x33b kernel/chr_drv/chr_drv.a(tty_io.o) - .debug_line 0x0000000000003b64 0x3ab kernel/chr_drv/chr_drv.a(console.o) - .debug_line 0x0000000000003f0f 0xd9 kernel/chr_drv/chr_drv.a(serial.o) - .debug_line 0x0000000000003fe8 0x1db kernel/chr_drv/chr_drv.a(tty_ioctl.o) - .debug_line 0x00000000000041c3 0xe1 kernel/math/math.a(math_emulate.o) - .debug_line 0x00000000000042a4 0x28 lib/lib.a(ctype.o) - .debug_line 0x00000000000042cc 0x39 lib/lib.a(_exit.o) - .debug_line 0x0000000000004305 0x62 lib/lib.a(open.o) - .debug_line 0x0000000000004367 0x5c lib/lib.a(close.o) - .debug_line 0x00000000000043c3 0x28 lib/lib.a(errno.o) - .debug_line 0x00000000000043eb 0x76 lib/lib.a(write.o) - .debug_line 0x0000000000004461 0x5a lib/lib.a(dup.o) - .debug_line 0x00000000000044bb 0x77 lib/lib.a(setsid.o) - .debug_line 0x0000000000004532 0x5d lib/lib.a(execve.o) - .debug_line 0x000000000000458f 0x7a lib/lib.a(wait.o) - .debug_line 0x0000000000004609 0xc6 lib/lib.a(string.o) - .debug_line 0x00000000000046cf 0xea lib/lib.a(malloc.o) + .debug_line 0x0000000000000000 0x1e5 init/main.o + .debug_line 0x00000000000001e5 0xe86 kernel/kernel.o + .debug_line 0x000000000000106b 0x276 mm/mm.o + .debug_line 0x00000000000012e1 0x1f40 fs/fs.o + .debug_line 0x0000000000003221 0x197 kernel/blk_drv/blk_drv.a(ll_rw_blk.o) + .debug_line 0x00000000000033b8 0x24c kernel/blk_drv/blk_drv.a(floppy.o) + .debug_line 0x0000000000003604 0x2bf kernel/blk_drv/blk_drv.a(hd.o) + .debug_line 0x00000000000038c3 0x160 kernel/blk_drv/blk_drv.a(ramdisk.o) + .debug_line 0x0000000000003a23 0x33b kernel/chr_drv/chr_drv.a(tty_io.o) + .debug_line 0x0000000000003d5e 0x3ab kernel/chr_drv/chr_drv.a(console.o) + .debug_line 0x0000000000004109 0xd9 kernel/chr_drv/chr_drv.a(serial.o) + .debug_line 0x00000000000041e2 0x1db kernel/chr_drv/chr_drv.a(tty_ioctl.o) + .debug_line 0x00000000000043bd 0xe1 kernel/math/math.a(math_emulate.o) + .debug_line 0x000000000000449e 0x28 lib/lib.a(ctype.o) + .debug_line 0x00000000000044c6 0x39 lib/lib.a(_exit.o) + .debug_line 0x00000000000044ff 0x62 lib/lib.a(open.o) + .debug_line 0x0000000000004561 0x5c lib/lib.a(close.o) + .debug_line 0x00000000000045bd 0x28 lib/lib.a(errno.o) + .debug_line 0x00000000000045e5 0x76 lib/lib.a(write.o) + .debug_line 0x000000000000465b 0x5a lib/lib.a(dup.o) + .debug_line 0x00000000000046b5 0x77 lib/lib.a(setsid.o) + .debug_line 0x000000000000472c 0x5d lib/lib.a(execve.o) + .debug_line 0x0000000000004789 0x7a lib/lib.a(wait.o) + .debug_line 0x0000000000004803 0xc6 lib/lib.a(string.o) + .debug_line 0x00000000000048c9 0xea lib/lib.a(malloc.o) .debug_frame *(.debug_frame) -.debug_str 0x0000000000000000 0x217e +.debug_str 0x0000000000000000 0x2196 *(.debug_str) - .debug_str 0x0000000000000000 0x1bc init/main.o - 0x1fb (size before relaxing) - .debug_str 0x00000000000001bc 0xabc kernel/kernel.o + .debug_str 0x0000000000000000 0x3bd init/main.o + 0x460 (size before relaxing) + .debug_str 0x00000000000003bd 0x8c4 kernel/kernel.o 0x230a (size before relaxing) - .debug_str 0x0000000000000c78 0x181 mm/mm.o + .debug_str 0x0000000000000c81 0x181 mm/mm.o 0x4dc (size before relaxing) - .debug_str 0x0000000000000df9 0x994 fs/fs.o - 0x4e20 (size before relaxing) - .debug_str 0x000000000000178d 0xec kernel/blk_drv/blk_drv.a(ll_rw_blk.o) + .debug_str 0x0000000000000e02 0x9a3 fs/fs.o + 0x4e32 (size before relaxing) + .debug_str 0x00000000000017a5 0xec kernel/blk_drv/blk_drv.a(ll_rw_blk.o) 0x48d (size before relaxing) - .debug_str 0x0000000000001879 0x1cf kernel/blk_drv/blk_drv.a(floppy.o) + .debug_str 0x0000000000001891 0x1cf kernel/blk_drv/blk_drv.a(floppy.o) 0x66f (size before relaxing) - .debug_str 0x0000000000001a48 0x15e kernel/blk_drv/blk_drv.a(hd.o) + .debug_str 0x0000000000001a60 0x15e kernel/blk_drv/blk_drv.a(hd.o) 0x5e4 (size before relaxing) - .debug_str 0x0000000000001ba6 0x43 kernel/blk_drv/blk_drv.a(ramdisk.o) + .debug_str 0x0000000000001bbe 0x43 kernel/blk_drv/blk_drv.a(ramdisk.o) 0x586 (size before relaxing) - .debug_str 0x0000000000001be9 0xf7 kernel/chr_drv/chr_drv.a(tty_io.o) + .debug_str 0x0000000000001c01 0xf7 kernel/chr_drv/chr_drv.a(tty_io.o) 0x4df (size before relaxing) - .debug_str 0x0000000000001ce0 0x1b9 kernel/chr_drv/chr_drv.a(console.o) + .debug_str 0x0000000000001cf8 0x1b9 kernel/chr_drv/chr_drv.a(console.o) 0x5b3 (size before relaxing) - .debug_str 0x0000000000001e99 0x1a kernel/chr_drv/chr_drv.a(serial.o) + .debug_str 0x0000000000001eb1 0x1a kernel/chr_drv/chr_drv.a(serial.o) 0x3f8 (size before relaxing) - .debug_str 0x0000000000001eb3 0x8b kernel/chr_drv/chr_drv.a(tty_ioctl.o) + .debug_str 0x0000000000001ecb 0x8b kernel/chr_drv/chr_drv.a(tty_ioctl.o) 0x4a3 (size before relaxing) - .debug_str 0x0000000000001f3e 0x6c kernel/math/math.a(math_emulate.o) + .debug_str 0x0000000000001f56 0x6c kernel/math/math.a(math_emulate.o) 0x38e (size before relaxing) - .debug_str 0x0000000000001faa 0x89 lib/lib.a(ctype.o) + .debug_str 0x0000000000001fc2 0x89 lib/lib.a(ctype.o) 0xb2 (size before relaxing) - .debug_str 0x0000000000002033 0x8 lib/lib.a(_exit.o) + .debug_str 0x000000000000204b 0x8 lib/lib.a(_exit.o) 0xde (size before relaxing) .debug_str 0x0000000000000000 0x8 lib/lib.a(open.o) 0xee (size before relaxing) - .debug_str 0x000000000000203b 0x8 lib/lib.a(close.o) + .debug_str 0x0000000000002053 0x8 lib/lib.a(close.o) 0xe0 (size before relaxing) - .debug_str 0x0000000000002043 0x8 lib/lib.a(errno.o) + .debug_str 0x000000000000205b 0x8 lib/lib.a(errno.o) 0x8f (size before relaxing) .debug_str 0x0000000000000000 0x8 lib/lib.a(write.o) 0xec (size before relaxing) - .debug_str 0x000000000000204b 0x6 lib/lib.a(dup.o) + .debug_str 0x0000000000002063 0x6 lib/lib.a(dup.o) 0xd8 (size before relaxing) - .debug_str 0x0000000000002051 0x9 lib/lib.a(setsid.o) + .debug_str 0x0000000000002069 0x9 lib/lib.a(setsid.o) 0xe8 (size before relaxing) - .debug_str 0x000000000000205a 0x9 lib/lib.a(execve.o) + .debug_str 0x0000000000002072 0x9 lib/lib.a(execve.o) 0xf1 (size before relaxing) - .debug_str 0x0000000000002063 0x11 lib/lib.a(wait.o) + .debug_str 0x000000000000207b 0x11 lib/lib.a(wait.o) 0xfe (size before relaxing) - .debug_str 0x0000000000002074 0x93 lib/lib.a(string.o) + .debug_str 0x000000000000208c 0x93 lib/lib.a(string.o) 0x143 (size before relaxing) - .debug_str 0x0000000000002107 0x77 lib/lib.a(malloc.o) + .debug_str 0x000000000000211f 0x77 lib/lib.a(malloc.o) 0x15e (size before relaxing) .debug_loc diff --git a/linux-0.11-lab/cur/linux/execve2.patch b/linux-0.11-lab/cur/linux/execve2.patch new file mode 100644 index 0000000..7d99d4f --- /dev/null +++ b/linux-0.11-lab/cur/linux/execve2.patch @@ -0,0 +1,41 @@ +diff -Naur 0/linux/init/main.c 4/linux/init/main.c +--- 0/linux/init/main.c 2016-08-08 09:40:13.000000000 +0800 ++++ 4/linux/init/main.c 2021-07-06 14:16:56.000000000 +0800 +@@ -208,3 +208,9 @@ + } + _exit(0); /* NOTE! _exit, not exit() */ + } ++ ++void print_nr(int sid) ++{ ++ if (sid > 86) ++ printk(" --syscall: sid=%d, pid=%d\n", sid, current->pid); ++} +diff -Naur 0/linux/kernel/system_call.s 4/linux/kernel/system_call.s +--- 0/linux/kernel/system_call.s 2015-09-03 20:21:09.000000000 +0800 ++++ 4/linux/kernel/system_call.s 2021-07-06 14:18:56.000000000 +0800 +@@ -91,6 +91,11 @@ + mov %dx,%es + movl $0x17,%edx # fs points to local data space + mov %dx,%fs ++ ++ pushl %eax #by wyj ++ call print_nr ++ popl %eax ++ + call sys_call_table(,%eax,4) + pushl %eax + movl current,%eax +diff -Naur 0/linux/mm/memory.c 4/linux/mm/memory.c +--- 0/linux/mm/memory.c 2015-09-04 15:24:20.000000000 +0800 ++++ 4/linux/mm/memory.c 2021-07-06 14:21:45.000000000 +0800 +@@ -370,6 +370,9 @@ + unsigned long page; + int block,i; + ++ if (current->pid > 5) ++ printk(" --do_no_page: address=%x, pid=%d\n", address, current->pid); ++ + address &= 0xfffff000; + tmp = address - current->start_code; + if (!current->executable || tmp >= current->end_data) { diff --git a/linux-0.11-lab/cur/linux/fs/exec.c b/linux-0.11-lab/cur/linux/fs/exec.c index 2ff220e..2a64408 100644 --- a/linux-0.11-lab/cur/linux/fs/exec.c +++ b/linux-0.11-lab/cur/linux/fs/exec.c @@ -357,3 +357,229 @@ exec_error1: free_page(page[i]); return(retval); } + + + + + + + + + + + + + +static inline volatile void oom(void) +{ + printk("out of memory\n\r"); + do_exit(SIGSEGV); +} +int do_execve2(unsigned long * eip,long tmp,char * filename, + char ** argv, char ** envp) +{ + struct m_inode * inode; + struct buffer_head * bh; + struct exec ex; + unsigned long page[MAX_ARG_PAGES]; + int i,argc,envc; + int e_uid, e_gid; + int retval; + int sh_bang = 0; + unsigned long p=PAGE_SIZE*MAX_ARG_PAGES-4;/*Save environment variables and parameters*/ + + if ((0xffff & eip[1]) != 0x000f)/*Check if it's a kernel code snippet*/ + panic("execve called from supervisor mode"); + for (i=0 ; ii_mode)) { /* must be regular file */ + retval = -EACCES; + goto exec_error2; + } + i = inode->i_mode; + e_uid = (i & S_ISUID) ? inode->i_uid : current->euid; + e_gid = (i & S_ISGID) ? inode->i_gid : current->egid; + if (current->euid == inode->i_uid) + i >>= 6; + else if (current->egid == inode->i_gid) + i >>= 3; + if (!(i & 1) && + !((inode->i_mode & 0111) && suser())) { + retval = -ENOEXEC; + goto exec_error2; + } + if (!(bh = bread(inode->i_dev,inode->i_zone[0]))) { + retval = -EACCES; + goto exec_error2; + } + ex = *((struct exec *) bh->b_data); /* read exec-header */ + if ((bh->b_data[0] == '#') && (bh->b_data[1] == '!') && (!sh_bang)) { + /* + * This section does the #! interpretation. + * Sorta complicated, but hopefully it will work. -TYT + */ + + char buf[1023], *cp, *interp, *i_name, *i_arg; + unsigned long old_fs; + + strncpy(buf, bh->b_data+2, 1022); + brelse(bh); + iput(inode); + buf[1022] = '\0'; + if (cp = strchr(buf, '\n')) { + *cp = '\0'; + for (cp = buf; (*cp == ' ') || (*cp == '\t'); cp++); + } + if (!cp || *cp == '\0') { + retval = -ENOEXEC; /* No interpreter name found */ + goto exec_error1; + } + interp = i_name = cp; + i_arg = 0; + for ( ; *cp && (*cp != ' ') && (*cp != '\t'); cp++) { + if (*cp == '/') + i_name = cp+1; + } + if (*cp) { + *cp++ = '\0'; + i_arg = cp; + } + /* + * OK, we've parsed out the interpreter name and + * (optional) argument. + */ + if (sh_bang++ == 0) { + p = copy_strings(envc, envp, page, p, 0); + p = copy_strings(--argc, argv+1, page, p, 0); + } + /* + * Splice in (1) the interpreter's name for argv[0] + * (2) (optional) argument to interpreter + * (3) filename of shell script + * + * This is done in reverse order, because of how the + * user environment and arguments are stored. + */ + p = copy_strings(1, &filename, page, p, 1); + argc++; + if (i_arg) { + p = copy_strings(1, &i_arg, page, p, 2); + argc++; + } + p = copy_strings(1, &i_name, page, p, 2); + argc++; + if (!p) { + retval = -ENOMEM; + goto exec_error1; + } + /* + * OK, now restart the process with the interpreter's inode. + */ + old_fs = get_fs(); + set_fs(get_ds()); + if (!(inode=namei(interp))) { /* get executables inode */ + set_fs(old_fs); + retval = -ENOENT; + goto exec_error1; + } + set_fs(old_fs); + goto restart_interp; + } + brelse(bh); + if (N_MAGIC(ex) != ZMAGIC || ex.a_trsize || ex.a_drsize || + ex.a_text+ex.a_data+ex.a_bss>0x3000000 || + inode->i_size < ex.a_text+ex.a_data+ex.a_syms+N_TXTOFF(ex)) { + retval = -ENOEXEC; + goto exec_error2; + } + if (N_TXTOFF(ex) != BLOCK_SIZE) { + printk("%s: N_TXTOFF != BLOCK_SIZE. See a.out.h.", filename); + retval = -ENOEXEC; + goto exec_error2; + } + if (!sh_bang) { + p = copy_strings(envc,envp,page,p,0); + p = copy_strings(argc,argv,page,p,0); + if (!p) { + retval = -ENOMEM; + goto exec_error2; + } + } +/* OK, This is the point of no return */ + if (current->executable) + iput(current->executable); + current->executable = inode; + for (i=0 ; i<32 ; i++) + current->sigaction[i].sa_handler = NULL; + for (i=0 ; iclose_on_exec>>i)&1) + sys_close(i); + current->close_on_exec = 0; + free_page_tables(get_base(current->ldt[1]),get_limit(0x0f)); + free_page_tables(get_base(current->ldt[2]),get_limit(0x17)); + + + if (last_task_used_math == current) + last_task_used_math = NULL; + current->used_math = 0; + p += change_ldt(ex.a_text,page)-MAX_ARG_PAGES*PAGE_SIZE; + p = (unsigned long) create_tables((char *)p,argc,envc); + current->brk = ex.a_bss + + (current->end_data = ex.a_data + + (current->end_code = ex.a_text)); + current->start_stack = p & 0xfffff000; + current->euid = e_uid; + current->egid = e_gid; + + + + /*we should write here*/ + /*we clean the page before we load the page*/ + /*new*/ + + + unsigned long address,tmp1,page_judge; + int nr[4]; + int block,j; + address=current->start_code&0xfffff000; + tmp1=0; + /*brk is the length of code+data snippet*/ + for(;address<=current->start_code+current->brk;address+=4096,tmp1=page+4096) + { + if (!(page_judge = get_free_page())) + oom(); + /* remember that 1 block is used for header */ + block = 1 + tmp1/BLOCK_SIZE; + for (j=0 ; j<4 ; block++,j++) + nr[j] = bmap(current->executable,block); + bread_page(page_judge,current->executable->i_dev,nr); + if (!put_page(page_judge,address))/*do not get the page ,free it*/ + { + free_page(page_judge); + oom(); + } + + } + + + /*end*/ + i = ex.a_text+ex.a_data; + while (i&0xfff) + put_fs_byte(0,(char *) (i++)); + eip[0] = ex.a_entry; /* eip, magic happens :-) */ + eip[3] = p; /* stack pointer */ + /*printk("\nover\n");*/ + return 0; +exec_error2: + iput(inode); +exec_error1: + for (i=0 ; ii_mode)) { /* must be regular file */ - retval = -EACCES; - goto exec_error2; - } - i = inode->i_mode; - e_uid = (i & S_ISUID) ? inode->i_uid : current->euid; - e_gid = (i & S_ISGID) ? inode->i_gid : current->egid; - if (current->euid == inode->i_uid) - i >>= 6; - else if (current->egid == inode->i_gid) - i >>= 3; - if (!(i & 1) && - !((inode->i_mode & 0111) && suser())) { - retval = -ENOEXEC; - goto exec_error2; - } - if (!(bh = bread(inode->i_dev,inode->i_zone[0]))) { - retval = -EACCES; - goto exec_error2; - } - ex = *((struct exec *) bh->b_data); /* read exec-header */ - if ((bh->b_data[0] == '#') && (bh->b_data[1] == '!') && (!sh_bang)) { - /* - * This section does the #! interpretation. - * Sorta complicated, but hopefully it will work. -TYT - */ - - char buf[1023], *cp, *interp, *i_name, *i_arg; - unsigned long old_fs; - - strncpy(buf, bh->b_data+2, 1022); - brelse(bh); - iput(inode); - buf[1022] = '\0'; - if (cp = strchr(buf, '\n')) { - *cp = '\0'; - for (cp = buf; (*cp == ' ') || (*cp == '\t'); cp++); - } - if (!cp || *cp == '\0') { - retval = -ENOEXEC; /* No interpreter name found */ - goto exec_error1; - } - interp = i_name = cp; - i_arg = 0; - for ( ; *cp && (*cp != ' ') && (*cp != '\t'); cp++) { - if (*cp == '/') - i_name = cp+1; - } - if (*cp) { - *cp++ = '\0'; - i_arg = cp; - } - /* - * OK, we've parsed out the interpreter name and - * (optional) argument. - */ - if (sh_bang++ == 0) { - p = copy_strings(envc, envp, page, p, 0); - p = copy_strings(--argc, argv+1, page, p, 0); - } - /* - * Splice in (1) the interpreter's name for argv[0] - * (2) (optional) argument to interpreter - * (3) filename of shell script - * - * This is done in reverse order, because of how the - * user environment and arguments are stored. - */ - p = copy_strings(1, &filename, page, p, 1); - argc++; - if (i_arg) { - p = copy_strings(1, &i_arg, page, p, 2); - argc++; - } - p = copy_strings(1, &i_name, page, p, 2); - argc++; - if (!p) { - retval = -ENOMEM; - goto exec_error1; - } - /* - * OK, now restart the process with the interpreter's inode. - */ - old_fs = get_fs(); - set_fs(get_ds()); - if (!(inode=namei(interp))) { /* get executables inode */ - set_fs(old_fs); - retval = -ENOENT; - goto exec_error1; - } - set_fs(old_fs); - goto restart_interp; - } - brelse(bh); - if (N_MAGIC(ex) != ZMAGIC || ex.a_trsize || ex.a_drsize || - ex.a_text+ex.a_data+ex.a_bss>0x3000000 || - inode->i_size < ex.a_text+ex.a_data+ex.a_syms+N_TXTOFF(ex)) { - retval = -ENOEXEC; - goto exec_error2; - } - if (N_TXTOFF(ex) != BLOCK_SIZE) { - printk("%s: N_TXTOFF != BLOCK_SIZE. See a.out.h.", filename); - retval = -ENOEXEC; - goto exec_error2; - } - if (!sh_bang) { - p = copy_strings(envc,envp,page,p,0); - p = copy_strings(argc,argv,page,p,0); - if (!p) { - retval = -ENOMEM; - goto exec_error2; - } - } -/* OK, This is the point of no return */ - if (current->executable) - iput(current->executable); - current->executable = inode; - for (i=0 ; i<32 ; i++) - current->sigaction[i].sa_handler = NULL; - for (i=0 ; iclose_on_exec>>i)&1) - sys_close(i); - current->close_on_exec = 0; - free_page_tables(get_base(current->ldt[1]),get_limit(0x0f)); - free_page_tables(get_base(current->ldt[2]),get_limit(0x17)); - - /*we should rewrite here*/ - - - - - - /**/ - if (last_task_used_math == current) - last_task_used_math = NULL; - current->used_math = 0; - p += change_ldt(ex.a_text,page)-MAX_ARG_PAGES*PAGE_SIZE; - p = (unsigned long) create_tables((char *)p,argc,envc); - current->brk = ex.a_bss + - (current->end_data = ex.a_data + - (current->end_code = ex.a_text)); - current->start_stack = p & 0xfffff000; - current->euid = e_uid; - current->egid = e_gid; - i = ex.a_text+ex.a_data; - while (i&0xfff) - put_fs_byte(0,(char *) (i++)); - eip[0] = ex.a_entry; /* eip, magic happens :-) */ - eip[3] = p; /* stack pointer */ - return 0; -exec_error2: - iput(inode); -exec_error1: - for (i=0 ; i 86) + printk(" --syscall: sid=%d, pid=%d\n", sid, current->pid); +} diff --git a/linux-0.11-lab/cur/linux/init/main.o b/linux-0.11-lab/cur/linux/init/main.o index 4bc3a0c..a02f483 100644 Binary files a/linux-0.11-lab/cur/linux/init/main.o and b/linux-0.11-lab/cur/linux/init/main.o differ diff --git a/linux-0.11-lab/cur/linux/kernel/blk_drv/blk_drv.a b/linux-0.11-lab/cur/linux/kernel/blk_drv/blk_drv.a index e8e4d74..6c65063 100644 Binary files a/linux-0.11-lab/cur/linux/kernel/blk_drv/blk_drv.a and b/linux-0.11-lab/cur/linux/kernel/blk_drv/blk_drv.a differ diff --git a/linux-0.11-lab/cur/linux/kernel/chr_drv/chr_drv.a b/linux-0.11-lab/cur/linux/kernel/chr_drv/chr_drv.a index 4129926..703da3d 100644 Binary files a/linux-0.11-lab/cur/linux/kernel/chr_drv/chr_drv.a and b/linux-0.11-lab/cur/linux/kernel/chr_drv/chr_drv.a differ diff --git a/linux-0.11-lab/cur/linux/kernel/kernel.o b/linux-0.11-lab/cur/linux/kernel/kernel.o index a893998..4ce869b 100644 Binary files a/linux-0.11-lab/cur/linux/kernel/kernel.o and b/linux-0.11-lab/cur/linux/kernel/kernel.o differ diff --git a/linux-0.11-lab/cur/linux/kernel/math/math.a b/linux-0.11-lab/cur/linux/kernel/math/math.a index 3517c21..0a3031f 100644 Binary files a/linux-0.11-lab/cur/linux/kernel/math/math.a and b/linux-0.11-lab/cur/linux/kernel/math/math.a differ diff --git a/linux-0.11-lab/cur/linux/kernel/system_call.o b/linux-0.11-lab/cur/linux/kernel/system_call.o index 839a1f3..7f18738 100644 Binary files a/linux-0.11-lab/cur/linux/kernel/system_call.o and b/linux-0.11-lab/cur/linux/kernel/system_call.o differ diff --git a/linux-0.11-lab/cur/linux/kernel/system_call.s b/linux-0.11-lab/cur/linux/kernel/system_call.s index f3eae7d..d0ad716 100644 --- a/linux-0.11-lab/cur/linux/kernel/system_call.s +++ b/linux-0.11-lab/cur/linux/kernel/system_call.s @@ -64,7 +64,7 @@ nr_system_calls = 92 /* 72 the number of system*/ * Ok, I get parallel printer interrupts while using the floppy for some * strange reason. Urgel. Now I just ignore them. */ -.globl system_call,sys_fork,timer_interrupt,sys_execve +.globl system_call,sys_fork,timer_interrupt,sys_execve,sys_execve2 .globl hd_interrupt,floppy_interrupt,parallel_interrupt .globl device_not_available, coprocessor_error @@ -91,6 +91,11 @@ system_call: mov %dx,%es movl $0x17,%edx # fs points to local data space mov %dx,%fs + + pushl %eax #by wyj + call print_nr + popl %eax + call sys_call_table(,%eax,4) pushl %eax movl current,%eax diff --git a/linux-0.11-lab/cur/linux/lib/lib.a b/linux-0.11-lab/cur/linux/lib/lib.a index 73b59df..4e247e9 100644 Binary files a/linux-0.11-lab/cur/linux/lib/lib.a and b/linux-0.11-lab/cur/linux/lib/lib.a differ diff --git a/linux-0.11-lab/cur/linux/mm/memory.c b/linux-0.11-lab/cur/linux/mm/memory.c index 0ffa375..0815683 100644 --- a/linux-0.11-lab/cur/linux/mm/memory.c +++ b/linux-0.11-lab/cur/linux/mm/memory.c @@ -370,6 +370,9 @@ void do_no_page(unsigned long error_code,unsigned long address) unsigned long page; int block,i; + /*if (current->pid > 5) + printk(" --do_no_page: address=%x, pid=%d\n", address, current->pid);*/ + address &= 0xfffff000; tmp = address - current->start_code; if (!current->executable || tmp >= current->end_data) { diff --git a/linux-0.11-lab/cur/linux/mm/memory.o b/linux-0.11-lab/cur/linux/mm/memory.o index b462585..80fc8d8 100644 Binary files a/linux-0.11-lab/cur/linux/mm/memory.o and b/linux-0.11-lab/cur/linux/mm/memory.o differ diff --git a/linux-0.11-lab/cur/linux/mm/mm.o b/linux-0.11-lab/cur/linux/mm/mm.o index 557b72d..f194e3a 100644 Binary files a/linux-0.11-lab/cur/linux/mm/mm.o and b/linux-0.11-lab/cur/linux/mm/mm.o differ diff --git a/linux-0.11-lab/cur/linux/tools/system b/linux-0.11-lab/cur/linux/tools/system index 1379a96..cacac55 100644 Binary files a/linux-0.11-lab/cur/linux/tools/system and b/linux-0.11-lab/cur/linux/tools/system differ diff --git a/linux-0.11-lab/images/rootimage-0.11 b/linux-0.11-lab/images/rootimage-0.11 index 58cb4cd..e04d2f4 100644 Binary files a/linux-0.11-lab/images/rootimage-0.11 and b/linux-0.11-lab/images/rootimage-0.11 differ diff --git a/linux-0.11-lab/images/rootimage-0.11.lock b/linux-0.11-lab/images/rootimage-0.11.lock deleted file mode 100644 index e69de29..0000000