diff --git a/linux-0.11-lab/0/linux - 快捷方式.lnk b/linux-0.11-lab/0/linux - 快捷方式.lnk new file mode 100644 index 0000000..ee7f322 Binary files /dev/null and b/linux-0.11-lab/0/linux - 快捷方式.lnk differ diff --git a/linux-0.11-lab/0/linux/Image b/linux-0.11-lab/0/linux/Image index 9869a43..f7ca375 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 6e469c2..03379b8 100644 --- a/linux-0.11-lab/0/linux/System.map +++ b/linux-0.11-lab/0/linux/System.map @@ -297,280 +297,291 @@ 00012348 t free_dind 000123e7 T truncate 0001251c T sys_select -00012522 t lock_buffer -0001254f t unlock_buffer -00012741 t make_request -000128e5 T ll_rw_block -0001293e T blk_dev_init -0001298c t unlock_buffer -000129c1 t end_request -00012a72 T floppy_deselect -00012aa9 T floppy_change -00012b2f t setup_DMA -00012be5 t output_byte -00012c5b t result -00012d18 t bad_flp_intr -00012d77 t rw_interrupt -00012e66 T setup_rw_floppy -00012f27 t seek_interrupt -00012f80 t transfer -000130b5 t recal_interrupt -000130ff T unexpected_floppy_interrupt -00013144 t recalibrate_floppy -000131a6 t reset_interrupt -000131eb t reset_floppy -00013268 t floppy_on_interrupt -000132d3 t do_fd_request -000134d7 T floppy_init -00013529 t unlock_buffer -0001355e t end_request -000135fd T sys_setup -000139b0 t controller_ready -00013a44 t hd_out -00013b31 t drive_busy -00013b97 t reset_controller -00013c14 t reset_hd -00013cac T unexpected_hd_interrupt -00013cbf t bad_rw_intr -00013cfd t read_intr -00013e23 t recal_intr -00013e3d t do_hd_request -0001413e T hd_init -000141b8 t unlock_buffer -000141ed t end_request -0001428c t do_rd_request -000143c2 T rd_init -00014418 T rd_load -000146c4 t get_fs_byte -000146d2 t put_fs_byte -000146ea T tty_init -000146fb T tty_intr -0001476f t sleep_if_empty -000147a7 t sleep_if_full -0001481b T copy_to_cooked -00014dd6 T tty_read -00015144 T tty_write -00015356 T do_tty_interrupt -0001537e T chr_dev_init -0001537f t gotoxy -000153cd t set_origin -00015433 t scrup -00015623 t scrdown -0001571a t lf -00015750 t ri -00015786 t cr -000157a7 t del -000157d9 t csi_J -0001586a t csi_K -0001591c T csi_m -00015983 t set_cursor -000159e9 t respond -00015a41 t insert_char -00015aa4 t insert_line -00015ae8 t delete_char -00015b46 t delete_line -00015b8a t csi_at -00015bc8 t csi_L -00015c06 t csi_P -00015c44 t csi_M -00015c82 t save_cur -00015c97 t restore_cur -00015cb6 T con_write -00016344 T con_init -0001657b T sysbeepstop -000165a4 t sysbeep -00016602 t mode -00016603 t leds -00016604 t e0 -00016605 T keyboard_interrupt -0001662e t e0_e1 -00016659 t set_e0 -00016662 t set_e1 -0001666b t put_queue -000166a4 t ctrl -000166bc t unctrl -000166c0 t unalt -000166d6 t lshift -000166de t unlshift -000166e6 t rshift -000166ee t unrshift -000166f6 t caps -00016718 t set_leds -0001672e t uncaps -00016736 t scroll -0001673f t num -00016748 t cursor -00016768 t cur2 -00016791 t cur -0001679d t ok_cur -000167ab t num_table -000167b8 t cur_table -000167c5 t func -000167e2 t ok_func -000167f5 t end_func -000167f6 t func_table -00016826 t key_map -00016887 t shift_map -00016949 t do_self -000169b1 t none -000169b2 t minus -000169c7 t key_table -00016dc7 t kb_wait -00016dd0 t reboot -00016de2 t die -00016de4 t init -00016e59 T rs_init -00016edc T rs_write -00016f2c T rs1_interrupt -00016f34 T rs2_interrupt -00016f39 t rs_int -00016f50 t rep_int -00016f6d t end -00016f7b t jmp_table -00016f8c t modem_status -00016f94 t line_status -00016f9c t read_char -00017023 t get_fs_byte -00017031 t get_fs_long -00017047 t put_fs_byte -0001705f t put_fs_long -0001706b t change_speed -000170e9 t flush -000170fb t send_break -000170fc t get_termios -00017158 t set_termios -000171a8 t get_termio -00017270 t set_termio -00017334 T tty_ioctl -00017632 t get_fs_byte -00017640 T math_emulate -00017723 T math_error -00017743 T _exit -00017753 T open -0001779c T close -00017810 T dup -00017847 T setsid -00017876 T execve -00017913 T strcpy -0001792f T strncpy -00017954 T strcat -0001797f T strncat -000179b4 T strcmp -000179db T strncmp -00017a09 T strchr -00017a36 T strrchr -00017a65 T strspn -00017aa2 T strcspn -00017adf T strpbrk -00017b16 T strstr -00017b4f T strlen -00017b72 T strtok -00017bf5 T memcpy -00017c15 T memmove -00017c69 T memcmp -00017c93 T memchr -00017ccb T memset -0001bb48 d envp_rc -0001bb5c d envp -0001bb80 D sys_call_table -0001bcdc D NR_syscalls -0001bce0 d init_task -0001cce0 D current -0001cd00 D task -0001ce00 D stack_start -0001ce08 D current_DOR -0001ce20 d thisname.1955 -0001ce60 d month -0001cea0 d last_inode.1935 -0001cea4 D start_buffer -0001cec0 d crw_table -0001cee0 d ioctl_table -0001cf00 d floppy_type -0001cfc0 d cur_spec1 -0001cfc4 d cur_rate -0001cfc8 d floppy -0001cfcc d current_track -0001cfd0 d callable.1844 -0001cfe0 D tty_table -0001f500 D table_list -0001f520 d quotient -0001f540 D _ctype -0001f641 B __bss_start -0001f641 D _edata -0001f660 b printbuf -0001fa60 b memory_end -0001fa64 b buffer_memory_end -0001fa68 b main_memory_start -0001fa80 B jiffies -0001fa84 B startup_time -0001fa88 B last_task_used_math -0001fa9c b mon_timer -0001faac b moff_timer -0001fac0 b timer_list -0001fdc0 b next_timer -0001fdc4 B last_pid -0001fde0 b buf -000201e0 b HIGH_MEMORY -00020200 b mem_map -00021100 B inode_table -00021800 B nr_buffers -00021804 b free_list -00021808 b buffer_wait -0002180c B ROOT_DEV -00021840 B blk_dev -00021878 B do_floppy -0002187c B selected -00021884 b recalibrate -00021888 b reset -0002188c b seek -00021890 b reply_buffer -00021897 b current_drive -00021898 b sector -00021899 b head -0002189a b track -0002189b b seek_track -0002189c b command -000218a0 B do_hd -000218c0 B hd_info -000218f0 b recalibrate -000218f4 b reset -000218f8 b NR_HD -00021900 b hd -00021950 B rd_length -00021954 b cr_flag.1923 -00021960 B beepcount -00021964 b video_type -00021968 b video_num_columns -0002196c b video_size_row -00021970 b video_num_lines -00021974 b video_page -00021978 b video_mem_start -0002197c b video_mem_end -00021980 b video_port_reg -00021982 b video_port_val -00021984 b video_erase_char -00021988 b origin -0002198c b scr_end -00021990 b pos -00021994 b x -00021998 b y -0002199c b top -000219a0 b bottom -000219a4 b state -000219a8 b npar -000219c0 b par -00021a00 b ques -00021a04 b saved_x -00021a08 b saved_y -00021a20 B drive_info -00021a40 B user_stack -00022a40 B hash_table -00022f20 B super_block -00023280 B file_table -00023680 B request -00023b00 B rd_start -00023b04 B _ctmp -00023b08 B errno -00023b0c B ___strtok -00023b10 B end -00023b10 B _end +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 diff --git a/linux-0.11-lab/0/linux/System.map.2 b/linux-0.11-lab/0/linux/System.map.2 index 44e841e..4dc1598 100644 --- a/linux-0.11-lab/0/linux/System.map.2 +++ b/linux-0.11-lab/0/linux/System.map.2 @@ -32,7 +32,8 @@ lib/lib.a(dup.o) init/main.o (dup) lib/lib.a(setsid.o) init/main.o (setsid) lib/lib.a(execve.o) init/main.o (execve) lib/lib.a(wait.o) init/main.o (wait) -lib/lib.a(string.o) fs/fs.o (strncpy) +lib/lib.a(string.o) fs/fs.o (strcpy) +lib/lib.a(malloc.o) fs/fs.o (malloc) 分配公共符号 公共符号 大小 文件 @@ -98,6 +99,8 @@ Discarded input sections 0x0000000000000000 0x0 lib/lib.a(wait.o) .note.GNU-stack 0x0000000000000000 0x0 lib/lib.a(string.o) + .note.GNU-stack + 0x0000000000000000 0x0 lib/lib.a(malloc.o) 内存配置 @@ -202,7 +205,7 @@ LOAD lib/lib.a *(.iplt) .iplt 0x0000000000000000 0x0 boot/head.o -.text 0x0000000000000000 0x17cef +.text 0x0000000000000000 0x1829f *(.text.unlikely .text.*_unlikely .text.unlikely.*) *(.text.exit .text.exit.*) *(.text.startup .text.startup.*) @@ -354,7 +357,7 @@ LOAD lib/lib.a 0x000000000000ae49 mem_init 0x000000000000aebd calc_mem 0x000000000000afb2 page_fault - .text 0x000000000000afe9 0x7539 fs/fs.o + .text 0x000000000000afe9 0x777e fs/fs.o 0x000000000000afff sys_ustat 0x000000000000b005 sys_utime 0x000000000000b0b2 sys_access @@ -424,116 +427,127 @@ LOAD lib/lib.a 0x00000000000121d8 sys_ioctl 0x00000000000123e7 truncate 0x000000000001251c sys_select - .text 0x0000000000012522 0x46a kernel/blk_drv/blk_drv.a(ll_rw_blk.o) - 0x00000000000128e5 ll_rw_block - 0x000000000001293e blk_dev_init - .text 0x000000000001298c 0xb9d kernel/blk_drv/blk_drv.a(floppy.o) - 0x0000000000012a72 floppy_deselect - 0x0000000000012aa9 floppy_change - 0x0000000000012e66 setup_rw_floppy - 0x00000000000130ff unexpected_floppy_interrupt - 0x00000000000134d7 floppy_init - .text 0x0000000000013529 0xc8f kernel/blk_drv/blk_drv.a(hd.o) - 0x00000000000135fd sys_setup - 0x0000000000013cac unexpected_hd_interrupt - 0x000000000001413e hd_init - .text 0x00000000000141b8 0x50c kernel/blk_drv/blk_drv.a(ramdisk.o) - 0x00000000000143c2 rd_init - 0x0000000000014418 rd_load - .text 0x00000000000146c4 0xcbb kernel/chr_drv/chr_drv.a(tty_io.o) - 0x00000000000146ea tty_init - 0x00000000000146fb tty_intr - 0x0000000000014808 wait_for_keypress - 0x000000000001481b copy_to_cooked - 0x0000000000014dd6 tty_read - 0x0000000000015144 tty_write - 0x0000000000015356 do_tty_interrupt - 0x000000000001537e chr_dev_init - .text 0x000000000001537f 0x1283 kernel/chr_drv/chr_drv.a(console.o) - 0x000000000001591c csi_m - 0x0000000000015cb6 con_write - 0x0000000000016344 con_init - 0x000000000001657b sysbeepstop - .text 0x0000000000016602 0x7e2 kernel/chr_drv/chr_drv.a(keyboard.2.o) - 0x0000000000016605 keyboard_interrupt - .text 0x0000000000016de4 0x145 kernel/chr_drv/chr_drv.a(serial.o) - 0x0000000000016e59 rs_init - 0x0000000000016edc rs_write - *fill* 0x0000000000016f29 0x3 - .text 0x0000000000016f2c 0xf7 kernel/chr_drv/chr_drv.a(rs_io.o) - 0x0000000000016f2c rs1_interrupt - 0x0000000000016f34 rs2_interrupt - .text 0x0000000000017023 0x60f kernel/chr_drv/chr_drv.a(tty_ioctl.o) - 0x0000000000017334 tty_ioctl - .text 0x0000000000017632 0x111 kernel/math/math.a(math_emulate.o) - 0x0000000000017640 math_emulate - 0x0000000000017723 math_error - .text 0x0000000000017743 0x0 lib/lib.a(ctype.o) - .text 0x0000000000017743 0x10 lib/lib.a(_exit.o) - 0x0000000000017743 _exit - .text 0x0000000000017753 0x49 lib/lib.a(open.o) - 0x0000000000017753 open - .text 0x000000000001779c 0x37 lib/lib.a(close.o) - 0x000000000001779c close - .text 0x00000000000177d3 0x0 lib/lib.a(errno.o) - .text 0x00000000000177d3 0x3d lib/lib.a(write.o) - 0x00000000000177d3 write - .text 0x0000000000017810 0x37 lib/lib.a(dup.o) - 0x0000000000017810 dup - .text 0x0000000000017847 0x2f lib/lib.a(setsid.o) - 0x0000000000017847 setsid - .text 0x0000000000017876 0x3d lib/lib.a(execve.o) - 0x0000000000017876 execve - .text 0x00000000000178b3 0x60 lib/lib.a(wait.o) - 0x00000000000178b3 waitpid - 0x00000000000178f0 wait - .text 0x0000000000017913 0x3dc lib/lib.a(string.o) - 0x0000000000017913 strcpy - 0x000000000001792f strncpy - 0x0000000000017954 strcat - 0x000000000001797f strncat - 0x00000000000179b4 strcmp - 0x00000000000179db strncmp - 0x0000000000017a09 strchr - 0x0000000000017a36 strrchr - 0x0000000000017a65 strspn - 0x0000000000017aa2 strcspn - 0x0000000000017adf strpbrk - 0x0000000000017b16 strstr - 0x0000000000017b4f strlen - 0x0000000000017b72 strtok - 0x0000000000017bf5 memcpy - 0x0000000000017c15 memmove - 0x0000000000017c69 memcmp - 0x0000000000017c93 memchr - 0x0000000000017ccb memset + 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 *(.gnu.warning) .fini *(SORT(.fini)) - 0x0000000000017cef PROVIDE (__etext, .) - 0x0000000000017cef PROVIDE (_etext, .) - 0x0000000000017cef PROVIDE (etext, .) + 0x000000000001829f PROVIDE (__etext, .) + 0x000000000001829f PROVIDE (_etext, .) + 0x000000000001829f PROVIDE (etext, .) -.rodata 0x0000000000017cf0 0x13ca +.rodata 0x00000000000182a0 0x14b7 *(.rodata .rodata.* .gnu.linkonce.r.*) - .rodata 0x0000000000017cf0 0xad init/main.o - *fill* 0x0000000000017d9d 0x3 - .rodata 0x0000000000017da0 0x438 kernel/kernel.o - .rodata 0x00000000000181d8 0x18f mm/mm.o - *fill* 0x0000000000018367 0x1 - .rodata 0x0000000000018368 0x62c fs/fs.o - .rodata 0x0000000000018994 0x7a kernel/blk_drv/blk_drv.a(ll_rw_blk.o) - *fill* 0x0000000000018a0e 0x2 - .rodata 0x0000000000018a10 0x133 kernel/blk_drv/blk_drv.a(floppy.o) - *fill* 0x0000000000018b43 0x1 - .rodata 0x0000000000018b44 0x19b kernel/blk_drv/blk_drv.a(hd.o) - *fill* 0x0000000000018cdf 0x1 - .rodata 0x0000000000018ce0 0x188 kernel/blk_drv/blk_drv.a(ramdisk.o) - .rodata 0x0000000000018e68 0x17d kernel/chr_drv/chr_drv.a(console.o) - *fill* 0x0000000000018fe5 0x3 - .rodata 0x0000000000018fe8 0x80 kernel/chr_drv/chr_drv.a(tty_ioctl.o) - .rodata 0x0000000000019068 0x52 kernel/math/math.a(math_emulate.o) + .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) .rodata1 *(.rodata1) @@ -541,58 +555,60 @@ LOAD lib/lib.a .eh_frame_hdr *(.eh_frame_hdr) -.eh_frame 0x00000000000190bc 0x2a6c +.eh_frame 0x0000000000019758 0x2b44 *(.eh_frame) - .eh_frame 0x00000000000190bc 0xf0 init/main.o - .eh_frame 0x00000000000191ac 0xb04 kernel/kernel.o + .eh_frame 0x0000000000019758 0xf0 init/main.o + .eh_frame 0x0000000000019848 0xb04 kernel/kernel.o 0xbf4 (size before relaxing) - .eh_frame 0x0000000000019cb0 0x194 mm/mm.o + .eh_frame 0x000000000001a34c 0x194 mm/mm.o 0x1ac (size before relaxing) - .eh_frame 0x0000000000019e44 0xdd8 fs/fs.o - 0xf70 (size before relaxing) - .eh_frame 0x000000000001ac1c 0x98 kernel/blk_drv/blk_drv.a(ll_rw_blk.o) + .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) 0xb0 (size before relaxing) - .eh_frame 0x000000000001acb4 0x23c kernel/blk_drv/blk_drv.a(floppy.o) + .eh_frame 0x000000000001b3d8 0x23c kernel/blk_drv/blk_drv.a(floppy.o) 0x254 (size before relaxing) - .eh_frame 0x000000000001aef0 0x1e8 kernel/blk_drv/blk_drv.a(hd.o) + .eh_frame 0x000000000001b614 0x1e8 kernel/blk_drv/blk_drv.a(hd.o) 0x200 (size before relaxing) - .eh_frame 0x000000000001b0d8 0xac kernel/blk_drv/blk_drv.a(ramdisk.o) + .eh_frame 0x000000000001b7fc 0xac kernel/blk_drv/blk_drv.a(ramdisk.o) 0xc4 (size before relaxing) - .eh_frame 0x000000000001b184 0x12c kernel/chr_drv/chr_drv.a(tty_io.o) + .eh_frame 0x000000000001b8a8 0x12c kernel/chr_drv/chr_drv.a(tty_io.o) 0x144 (size before relaxing) - .eh_frame 0x000000000001b2b0 0x2c0 kernel/chr_drv/chr_drv.a(console.o) + .eh_frame 0x000000000001b9d4 0x2c0 kernel/chr_drv/chr_drv.a(console.o) 0x2d8 (size before relaxing) - .eh_frame 0x000000000001b570 0x54 kernel/chr_drv/chr_drv.a(serial.o) + .eh_frame 0x000000000001bc94 0x54 kernel/chr_drv/chr_drv.a(serial.o) 0x6c (size before relaxing) - .eh_frame 0x000000000001b5c4 0x148 kernel/chr_drv/chr_drv.a(tty_ioctl.o) + .eh_frame 0x000000000001bce8 0x148 kernel/chr_drv/chr_drv.a(tty_ioctl.o) 0x160 (size before relaxing) - .eh_frame 0x000000000001b70c 0x5c kernel/math/math.a(math_emulate.o) + .eh_frame 0x000000000001be30 0x5c kernel/math/math.a(math_emulate.o) 0x74 (size before relaxing) - .eh_frame 0x000000000001b768 0x1c lib/lib.a(_exit.o) + .eh_frame 0x000000000001be8c 0x1c lib/lib.a(_exit.o) 0x34 (size before relaxing) - .eh_frame 0x000000000001b784 0x24 lib/lib.a(open.o) + .eh_frame 0x000000000001bea8 0x24 lib/lib.a(open.o) 0x3c (size before relaxing) - .eh_frame 0x000000000001b7a8 0x20 lib/lib.a(close.o) + .eh_frame 0x000000000001becc 0x20 lib/lib.a(close.o) 0x38 (size before relaxing) - .eh_frame 0x000000000001b7c8 0x20 lib/lib.a(write.o) + .eh_frame 0x000000000001beec 0x20 lib/lib.a(write.o) 0x38 (size before relaxing) - .eh_frame 0x000000000001b7e8 0x20 lib/lib.a(dup.o) + .eh_frame 0x000000000001bf0c 0x20 lib/lib.a(dup.o) 0x38 (size before relaxing) - .eh_frame 0x000000000001b808 0x18 lib/lib.a(setsid.o) + .eh_frame 0x000000000001bf2c 0x18 lib/lib.a(setsid.o) 0x30 (size before relaxing) - .eh_frame 0x000000000001b820 0x20 lib/lib.a(execve.o) + .eh_frame 0x000000000001bf44 0x20 lib/lib.a(execve.o) 0x38 (size before relaxing) - .eh_frame 0x000000000001b840 0x38 lib/lib.a(wait.o) + .eh_frame 0x000000000001bf64 0x38 lib/lib.a(wait.o) 0x50 (size before relaxing) - .eh_frame 0x000000000001b878 0x2b0 lib/lib.a(string.o) + .eh_frame 0x000000000001bf9c 0x2b0 lib/lib.a(string.o) 0x2c8 (size before relaxing) + .eh_frame 0x000000000001c24c 0x50 lib/lib.a(malloc.o) + 0x68 (size before relaxing) .gcc_except_table *(.gcc_except_table .gcc_except_table.*) .exception_ranges *(.exception_ranges .exception_ranges*) - 0x000000000001bb28 . = . + 0x000000000001c29c . = . .eh_frame *(.eh_frame) @@ -610,22 +626,22 @@ LOAD lib/lib.a *(.tbss .tbss.* .gnu.linkonce.tb.*) *(.tcommon) -.preinit_array 0x000000000001bb28 0x0 - 0x000000000001bb28 PROVIDE (__preinit_array_start, .) +.preinit_array 0x000000000001c29c 0x0 + 0x000000000001c29c PROVIDE (__preinit_array_start, .) *(.preinit_array) - 0x000000000001bb28 PROVIDE (__preinit_array_end, .) + 0x000000000001c29c PROVIDE (__preinit_array_end, .) -.init_array 0x000000000001bb28 0x0 - 0x000000000001bb28 PROVIDE (__init_array_start, .) +.init_array 0x000000000001c29c 0x0 + 0x000000000001c29c PROVIDE (__init_array_start, .) *(SORT(.init_array.*) SORT(.ctors.*)) *(.init_array EXCLUDE_FILE(*crtend?.o *crtend.o *crtbegin?.o *crtbegin.o) .ctors) - 0x000000000001bb28 PROVIDE (__init_array_end, .) + 0x000000000001c29c PROVIDE (__init_array_end, .) -.fini_array 0x000000000001bb28 0x0 - 0x000000000001bb28 PROVIDE (__fini_array_start, .) +.fini_array 0x000000000001c29c 0x0 + 0x000000000001c29c PROVIDE (__fini_array_start, .) *(SORT(.fini_array.*) SORT(.dtors.*)) *(.fini_array EXCLUDE_FILE(*crtend?.o *crtend.o *crtbegin?.o *crtbegin.o) .dtors) - 0x000000000001bb28 PROVIDE (__fini_array_end, .) + 0x000000000001c29c PROVIDE (__fini_array_end, .) .ctors *crtbegin.o(.ctors) @@ -655,140 +671,145 @@ LOAD lib/lib.a *(.got) *(.igot) -.got.plt 0x000000000001bb28 0x0 +.got.plt 0x000000000001c29c 0x0 *(.got.plt) *(.igot.plt) .igot.plt 0x0000000000000000 0x0 boot/head.o -.data 0x000000000001bb40 0x3b01 +.data 0x000000000001c2a0 0x3b90 *(.data .data.* .gnu.linkonce.d.*) - .data 0x000000000001bb40 0x0 boot/head.o - .data 0x000000000001bb40 0x28 init/main.o - *fill* 0x000000000001bb68 0x18 - .data 0x000000000001bb80 0x1310 kernel/kernel.o - 0x000000000001bb80 sys_call_table - 0x000000000001bcdc NR_syscalls - 0x000000000001cce0 current - 0x000000000001cd00 task - 0x000000000001ce00 stack_start - 0x000000000001ce08 current_DOR - .data 0x000000000001ce90 0x0 mm/mm.o - *fill* 0x000000000001ce90 0x10 - .data 0x000000000001cea0 0x60 fs/fs.o - 0x000000000001cea4 start_buffer - .data 0x000000000001cf00 0x0 kernel/blk_drv/blk_drv.a(ll_rw_blk.o) - .data 0x000000000001cf00 0xcd kernel/blk_drv/blk_drv.a(floppy.o) - *fill* 0x000000000001cfcd 0x3 - .data 0x000000000001cfd0 0x4 kernel/blk_drv/blk_drv.a(hd.o) - .data 0x000000000001cfd4 0x0 kernel/blk_drv/blk_drv.a(ramdisk.o) - *fill* 0x000000000001cfd4 0xc - .data 0x000000000001cfe0 0x2538 kernel/chr_drv/chr_drv.a(tty_io.o) - 0x000000000001cfe0 tty_table - 0x000000000001f500 table_list - .data 0x000000000001f518 0x1 kernel/chr_drv/chr_drv.a(console.o) - .data 0x000000000001f519 0x0 kernel/chr_drv/chr_drv.a(keyboard.2.o) - .data 0x000000000001f519 0x0 kernel/chr_drv/chr_drv.a(serial.o) - .data 0x000000000001f519 0x0 kernel/chr_drv/chr_drv.a(rs_io.o) - *fill* 0x000000000001f519 0x7 - .data 0x000000000001f520 0x20 kernel/chr_drv/chr_drv.a(tty_ioctl.o) - .data 0x000000000001f540 0x0 kernel/math/math.a(math_emulate.o) - .data 0x000000000001f540 0x101 lib/lib.a(ctype.o) - 0x000000000001f540 _ctype - .data 0x000000000001f641 0x0 lib/lib.a(_exit.o) - .data 0x000000000001f641 0x0 lib/lib.a(open.o) - .data 0x000000000001f641 0x0 lib/lib.a(close.o) - .data 0x000000000001f641 0x0 lib/lib.a(errno.o) - .data 0x000000000001f641 0x0 lib/lib.a(write.o) - .data 0x000000000001f641 0x0 lib/lib.a(dup.o) - .data 0x000000000001f641 0x0 lib/lib.a(setsid.o) - .data 0x000000000001f641 0x0 lib/lib.a(execve.o) - .data 0x000000000001f641 0x0 lib/lib.a(wait.o) - .data 0x000000000001f641 0x0 lib/lib.a(string.o) + .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 .data1 *(.data1) - 0x000000000001f641 _edata = . - 0x000000000001f641 PROVIDE (edata, .) - 0x000000000001f641 . = . - 0x000000000001f641 __bss_start = . + 0x000000000001fe30 _edata = . + 0x000000000001fe30 PROVIDE (edata, .) + 0x000000000001fe30 . = . + 0x000000000001fe30 __bss_start = . -.bss 0x000000000001f660 0x44b0 +.bss 0x000000000001fe40 0x44b0 *(.dynbss) *(.bss .bss.* .gnu.linkonce.b.*) - .bss 0x000000000001f660 0x0 boot/head.o - .bss 0x000000000001f660 0x40c init/main.o - *fill* 0x000000000001fa6c 0x14 - .bss 0x000000000001fa80 0x760 kernel/kernel.o - 0x000000000001fa80 jiffies - 0x000000000001fa84 startup_time - 0x000000000001fa88 last_task_used_math - 0x000000000001fdc4 last_pid - .bss 0x00000000000201e0 0xf20 mm/mm.o - .bss 0x0000000000021100 0x710 fs/fs.o - 0x0000000000021100 inode_table - 0x0000000000021800 nr_buffers - 0x000000000002180c ROOT_DEV - *fill* 0x0000000000021810 0x10 - .bss 0x0000000000021820 0x58 kernel/blk_drv/blk_drv.a(ll_rw_blk.o) - 0x0000000000021820 wait_for_request - 0x0000000000021840 blk_dev - .bss 0x0000000000021878 0x25 kernel/blk_drv/blk_drv.a(floppy.o) - 0x0000000000021878 do_floppy - 0x000000000002187c selected - 0x0000000000021880 wait_on_floppy_select - *fill* 0x000000000002189d 0x3 - .bss 0x00000000000218a0 0xb0 kernel/blk_drv/blk_drv.a(hd.o) - 0x00000000000218a0 do_hd - 0x00000000000218c0 hd_info - .bss 0x0000000000021950 0x4 kernel/blk_drv/blk_drv.a(ramdisk.o) - 0x0000000000021950 rd_length - .bss 0x0000000000021954 0x4 kernel/chr_drv/chr_drv.a(tty_io.o) - *fill* 0x0000000000021958 0x8 - .bss 0x0000000000021960 0xac kernel/chr_drv/chr_drv.a(console.o) - 0x0000000000021960 beepcount - .bss 0x0000000000021a0c 0x0 kernel/chr_drv/chr_drv.a(keyboard.2.o) - .bss 0x0000000000021a0c 0x0 kernel/chr_drv/chr_drv.a(serial.o) - .bss 0x0000000000021a0c 0x0 kernel/chr_drv/chr_drv.a(rs_io.o) - .bss 0x0000000000021a0c 0x0 kernel/chr_drv/chr_drv.a(tty_ioctl.o) - .bss 0x0000000000021a0c 0x0 kernel/math/math.a(math_emulate.o) - .bss 0x0000000000021a0c 0x0 lib/lib.a(ctype.o) - .bss 0x0000000000021a0c 0x0 lib/lib.a(_exit.o) - .bss 0x0000000000021a0c 0x0 lib/lib.a(open.o) - .bss 0x0000000000021a0c 0x0 lib/lib.a(close.o) - .bss 0x0000000000021a0c 0x0 lib/lib.a(errno.o) - .bss 0x0000000000021a0c 0x0 lib/lib.a(write.o) - .bss 0x0000000000021a0c 0x0 lib/lib.a(dup.o) - .bss 0x0000000000021a0c 0x0 lib/lib.a(setsid.o) - .bss 0x0000000000021a0c 0x0 lib/lib.a(execve.o) - .bss 0x0000000000021a0c 0x0 lib/lib.a(wait.o) - .bss 0x0000000000021a0c 0x0 lib/lib.a(string.o) + .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 *(COMMON) - *fill* 0x0000000000021a0c 0x14 - COMMON 0x0000000000021a20 0x20 init/main.o - 0x0000000000021a20 drive_info - COMMON 0x0000000000021a40 0x1000 kernel/kernel.o - 0x0000000000021a40 user_stack - COMMON 0x0000000000022a40 0xc40 fs/fs.o - 0x0000000000022a40 hash_table - 0x0000000000022f20 super_block - 0x0000000000023280 file_table - COMMON 0x0000000000023680 0x480 kernel/blk_drv/blk_drv.a(ll_rw_blk.o) - 0x0000000000023680 request - COMMON 0x0000000000023b00 0x4 kernel/blk_drv/blk_drv.a(ramdisk.o) - 0x0000000000023b00 rd_start - COMMON 0x0000000000023b04 0x1 lib/lib.a(ctype.o) - 0x0000000000023b04 _ctmp - *fill* 0x0000000000023b05 0x3 - COMMON 0x0000000000023b08 0x4 lib/lib.a(errno.o) - 0x0000000000023b08 errno - COMMON 0x0000000000023b0c 0x4 lib/lib.a(string.o) - 0x0000000000023b0c ___strtok - 0x0000000000023b10 . = ALIGN ((. != 0x0)?0x4:0x1) - 0x0000000000023b10 . = ALIGN (0x4) - 0x0000000000023b10 . = SEGMENT_START ("ldata-segment", .) - 0x0000000000023b10 . = ALIGN (0x4) - 0x0000000000023b10 _end = . - 0x0000000000023b10 PROVIDE (end, .) + *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, .) .stab *(.stab) @@ -814,7 +835,7 @@ LOAD lib/lib.a 0x2a (size before relaxing) .comment 0x0000000000000000 0x1a4 kernel/kernel.o .comment 0x0000000000000000 0x2a mm/mm.o - .comment 0x0000000000000000 0x2f4 fs/fs.o + .comment 0x0000000000000000 0x31e fs/fs.o .comment 0x0000000000000000 0x2a kernel/blk_drv/blk_drv.a(ll_rw_blk.o) .comment 0x0000000000000000 0x2a kernel/blk_drv/blk_drv.a(floppy.o) .comment 0x0000000000000000 0x2a kernel/blk_drv/blk_drv.a(hd.o) @@ -835,6 +856,7 @@ LOAD lib/lib.a .comment 0x0000000000000000 0x2a lib/lib.a(execve.o) .comment 0x0000000000000000 0x2a lib/lib.a(wait.o) .comment 0x0000000000000000 0x2a lib/lib.a(string.o) + .comment 0x0000000000000000 0x2a lib/lib.a(malloc.o) .debug *(.debug) @@ -848,7 +870,7 @@ LOAD lib/lib.a .debug_sfnames *(.debug_sfnames) -.debug_aranges 0x0000000000000000 0x628 +.debug_aranges 0x0000000000000000 0x668 *(.debug_aranges) .debug_aranges 0x0000000000000000 0x20 init/main.o @@ -857,185 +879,192 @@ LOAD lib/lib.a .debug_aranges 0x0000000000000160 0x20 mm/mm.o .debug_aranges - 0x0000000000000180 0x238 fs/fs.o + 0x0000000000000180 0x258 fs/fs.o + .debug_aranges + 0x00000000000003d8 0x20 kernel/blk_drv/blk_drv.a(ll_rw_blk.o) .debug_aranges - 0x00000000000003b8 0x20 kernel/blk_drv/blk_drv.a(ll_rw_blk.o) + 0x00000000000003f8 0x20 kernel/blk_drv/blk_drv.a(floppy.o) .debug_aranges - 0x00000000000003d8 0x20 kernel/blk_drv/blk_drv.a(floppy.o) + 0x0000000000000418 0x20 kernel/blk_drv/blk_drv.a(hd.o) .debug_aranges - 0x00000000000003f8 0x20 kernel/blk_drv/blk_drv.a(hd.o) + 0x0000000000000438 0x20 kernel/blk_drv/blk_drv.a(ramdisk.o) .debug_aranges - 0x0000000000000418 0x20 kernel/blk_drv/blk_drv.a(ramdisk.o) + 0x0000000000000458 0x20 kernel/chr_drv/chr_drv.a(tty_io.o) .debug_aranges - 0x0000000000000438 0x20 kernel/chr_drv/chr_drv.a(tty_io.o) + 0x0000000000000478 0x20 kernel/chr_drv/chr_drv.a(console.o) .debug_aranges - 0x0000000000000458 0x20 kernel/chr_drv/chr_drv.a(console.o) + 0x0000000000000498 0x20 kernel/chr_drv/chr_drv.a(serial.o) .debug_aranges - 0x0000000000000478 0x20 kernel/chr_drv/chr_drv.a(serial.o) + 0x00000000000004b8 0x20 kernel/chr_drv/chr_drv.a(tty_ioctl.o) .debug_aranges - 0x0000000000000498 0x20 kernel/chr_drv/chr_drv.a(tty_ioctl.o) + 0x00000000000004d8 0x20 kernel/math/math.a(math_emulate.o) .debug_aranges - 0x00000000000004b8 0x20 kernel/math/math.a(math_emulate.o) + 0x00000000000004f8 0x18 lib/lib.a(ctype.o) .debug_aranges - 0x00000000000004d8 0x18 lib/lib.a(ctype.o) + 0x0000000000000510 0x20 lib/lib.a(_exit.o) .debug_aranges - 0x00000000000004f0 0x20 lib/lib.a(_exit.o) + 0x0000000000000530 0x20 lib/lib.a(open.o) .debug_aranges - 0x0000000000000510 0x20 lib/lib.a(open.o) + 0x0000000000000550 0x20 lib/lib.a(close.o) .debug_aranges - 0x0000000000000530 0x20 lib/lib.a(close.o) + 0x0000000000000570 0x18 lib/lib.a(errno.o) .debug_aranges - 0x0000000000000550 0x18 lib/lib.a(errno.o) + 0x0000000000000588 0x20 lib/lib.a(write.o) .debug_aranges - 0x0000000000000568 0x20 lib/lib.a(write.o) + 0x00000000000005a8 0x20 lib/lib.a(dup.o) .debug_aranges - 0x0000000000000588 0x20 lib/lib.a(dup.o) + 0x00000000000005c8 0x20 lib/lib.a(setsid.o) .debug_aranges - 0x00000000000005a8 0x20 lib/lib.a(setsid.o) + 0x00000000000005e8 0x20 lib/lib.a(execve.o) .debug_aranges - 0x00000000000005c8 0x20 lib/lib.a(execve.o) + 0x0000000000000608 0x20 lib/lib.a(wait.o) .debug_aranges - 0x00000000000005e8 0x20 lib/lib.a(wait.o) + 0x0000000000000628 0x20 lib/lib.a(string.o) .debug_aranges - 0x0000000000000608 0x20 lib/lib.a(string.o) + 0x0000000000000648 0x20 lib/lib.a(malloc.o) .debug_pubnames *(.debug_pubnames) -.debug_info 0x0000000000000000 0x16d23 +.debug_info 0x0000000000000000 0x178f7 *(.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 0xa290 fs/fs.o - .debug_info 0x000000000000ffc4 0x932 kernel/blk_drv/blk_drv.a(ll_rw_blk.o) - .debug_info 0x00000000000108f6 0xc9f kernel/blk_drv/blk_drv.a(floppy.o) - .debug_info 0x0000000000011595 0xd5f kernel/blk_drv/blk_drv.a(hd.o) - .debug_info 0x00000000000122f4 0xad5 kernel/blk_drv/blk_drv.a(ramdisk.o) - .debug_info 0x0000000000012dc9 0xacd kernel/chr_drv/chr_drv.a(tty_io.o) - .debug_info 0x0000000000013896 0xdb0 kernel/chr_drv/chr_drv.a(console.o) - .debug_info 0x0000000000014646 0x85c kernel/chr_drv/chr_drv.a(serial.o) - .debug_info 0x0000000000014ea2 0xb47 kernel/chr_drv/chr_drv.a(tty_ioctl.o) - .debug_info 0x00000000000159e9 0x7b5 kernel/math/math.a(math_emulate.o) - .debug_info 0x000000000001619e 0x66 lib/lib.a(ctype.o) - .debug_info 0x0000000000016204 0x77 lib/lib.a(_exit.o) - .debug_info 0x000000000001627b 0xd0 lib/lib.a(open.o) - .debug_info 0x000000000001634b 0x97 lib/lib.a(close.o) - .debug_info 0x00000000000163e2 0x36 lib/lib.a(errno.o) - .debug_info 0x0000000000016418 0xc9 lib/lib.a(write.o) - .debug_info 0x00000000000164e1 0x97 lib/lib.a(dup.o) - .debug_info 0x0000000000016578 0x95 lib/lib.a(setsid.o) - .debug_info 0x000000000001660d 0xcb lib/lib.a(execve.o) - .debug_info 0x00000000000166d8 0xed lib/lib.a(wait.o) - .debug_info 0x00000000000167c5 0x55e lib/lib.a(string.o) - -.debug_abbrev 0x0000000000000000 0x43b9 + .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_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 0x19f1 fs/fs.o - .debug_abbrev 0x0000000000002d32 0x169 kernel/blk_drv/blk_drv.a(ll_rw_blk.o) - .debug_abbrev 0x0000000000002e9b 0x27d kernel/blk_drv/blk_drv.a(floppy.o) - .debug_abbrev 0x0000000000003118 0x23c kernel/blk_drv/blk_drv.a(hd.o) - .debug_abbrev 0x0000000000003354 0x1a8 kernel/blk_drv/blk_drv.a(ramdisk.o) - .debug_abbrev 0x00000000000034fc 0x279 kernel/chr_drv/chr_drv.a(tty_io.o) - .debug_abbrev 0x0000000000003775 0x26b kernel/chr_drv/chr_drv.a(console.o) - .debug_abbrev 0x00000000000039e0 0x175 kernel/chr_drv/chr_drv.a(serial.o) - .debug_abbrev 0x0000000000003b55 0x18d kernel/chr_drv/chr_drv.a(tty_ioctl.o) - .debug_abbrev 0x0000000000003ce2 0x163 kernel/math/math.a(math_emulate.o) - .debug_abbrev 0x0000000000003e45 0x3e lib/lib.a(ctype.o) - .debug_abbrev 0x0000000000003e83 0x51 lib/lib.a(_exit.o) - .debug_abbrev 0x0000000000003ed4 0x97 lib/lib.a(open.o) - .debug_abbrev 0x0000000000003f6b 0x75 lib/lib.a(close.o) - .debug_abbrev 0x0000000000003fe0 0x2c lib/lib.a(errno.o) - .debug_abbrev 0x000000000000400c 0xa1 lib/lib.a(write.o) - .debug_abbrev 0x00000000000040ad 0x75 lib/lib.a(dup.o) - .debug_abbrev 0x0000000000004122 0x73 lib/lib.a(setsid.o) - .debug_abbrev 0x0000000000004195 0x85 lib/lib.a(execve.o) - .debug_abbrev 0x000000000000421a 0xb6 lib/lib.a(wait.o) - .debug_abbrev 0x00000000000042d0 0xe9 lib/lib.a(string.o) - -.debug_line 0x0000000000000000 0x4599 + .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_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 0x1c50 fs/fs.o - .debug_line 0x0000000000002ef1 0x197 kernel/blk_drv/blk_drv.a(ll_rw_blk.o) - .debug_line 0x0000000000003088 0x24c kernel/blk_drv/blk_drv.a(floppy.o) - .debug_line 0x00000000000032d4 0x2bf kernel/blk_drv/blk_drv.a(hd.o) - .debug_line 0x0000000000003593 0x160 kernel/blk_drv/blk_drv.a(ramdisk.o) - .debug_line 0x00000000000036f3 0x33b kernel/chr_drv/chr_drv.a(tty_io.o) - .debug_line 0x0000000000003a2e 0x3ab kernel/chr_drv/chr_drv.a(console.o) - .debug_line 0x0000000000003dd9 0xd9 kernel/chr_drv/chr_drv.a(serial.o) - .debug_line 0x0000000000003eb2 0x1db kernel/chr_drv/chr_drv.a(tty_ioctl.o) - .debug_line 0x000000000000408d 0xe1 kernel/math/math.a(math_emulate.o) - .debug_line 0x000000000000416e 0x28 lib/lib.a(ctype.o) - .debug_line 0x0000000000004196 0x39 lib/lib.a(_exit.o) - .debug_line 0x00000000000041cf 0x62 lib/lib.a(open.o) - .debug_line 0x0000000000004231 0x5c lib/lib.a(close.o) - .debug_line 0x000000000000428d 0x28 lib/lib.a(errno.o) - .debug_line 0x00000000000042b5 0x76 lib/lib.a(write.o) - .debug_line 0x000000000000432b 0x5a lib/lib.a(dup.o) - .debug_line 0x0000000000004385 0x77 lib/lib.a(setsid.o) - .debug_line 0x00000000000043fc 0x5d lib/lib.a(execve.o) - .debug_line 0x0000000000004459 0x7a lib/lib.a(wait.o) - .debug_line 0x00000000000044d3 0xc6 lib/lib.a(string.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_frame *(.debug_frame) -.debug_str 0x0000000000000000 0x2093 +.debug_str 0x0000000000000000 0x217e *(.debug_str) - .debug_str 0x0000000000000000 0x1c0 init/main.o - 0x1ff (size before relaxing) - .debug_str 0x00000000000001c0 0xac0 kernel/kernel.o - 0x2332 (size before relaxing) - .debug_str 0x0000000000000c80 0x185 mm/mm.o - 0x4e0 (size before relaxing) - .debug_str 0x0000000000000e05 0x904 fs/fs.o - 0x49ab (size before relaxing) - .debug_str 0x0000000000001709 0xf0 kernel/blk_drv/blk_drv.a(ll_rw_blk.o) - 0x491 (size before relaxing) - .debug_str 0x00000000000017f9 0x1cf kernel/blk_drv/blk_drv.a(floppy.o) - 0x673 (size before relaxing) - .debug_str 0x00000000000019c8 0x15e kernel/blk_drv/blk_drv.a(hd.o) - 0x5e8 (size before relaxing) - .debug_str 0x0000000000001b26 0x43 kernel/blk_drv/blk_drv.a(ramdisk.o) - 0x58a (size before relaxing) - .debug_str 0x0000000000001b69 0xfb kernel/chr_drv/chr_drv.a(tty_io.o) - 0x4e3 (size before relaxing) - .debug_str 0x0000000000001c64 0x1b9 kernel/chr_drv/chr_drv.a(console.o) - 0x5b7 (size before relaxing) - .debug_str 0x0000000000001e1d 0x1a kernel/chr_drv/chr_drv.a(serial.o) - 0x3fc (size before relaxing) - .debug_str 0x0000000000001e37 0x8b kernel/chr_drv/chr_drv.a(tty_ioctl.o) - 0x4a7 (size before relaxing) - .debug_str 0x0000000000001ec2 0x70 kernel/math/math.a(math_emulate.o) - 0x392 (size before relaxing) - .debug_str 0x0000000000001f32 0x8d lib/lib.a(ctype.o) - 0xb6 (size before relaxing) - .debug_str 0x0000000000001fbf 0x8 lib/lib.a(_exit.o) - 0xe2 (size before relaxing) + .debug_str 0x0000000000000000 0x1bc init/main.o + 0x1fb (size before relaxing) + .debug_str 0x00000000000001bc 0xabc kernel/kernel.o + 0x230a (size before relaxing) + .debug_str 0x0000000000000c78 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) + 0x48d (size before relaxing) + .debug_str 0x0000000000001879 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) + 0x5e4 (size before relaxing) + .debug_str 0x0000000000001ba6 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) + 0x4df (size before relaxing) + .debug_str 0x0000000000001ce0 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) + 0x3f8 (size before relaxing) + .debug_str 0x0000000000001eb3 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) + 0x38e (size before relaxing) + .debug_str 0x0000000000001faa 0x89 lib/lib.a(ctype.o) + 0xb2 (size before relaxing) + .debug_str 0x0000000000002033 0x8 lib/lib.a(_exit.o) + 0xde (size before relaxing) .debug_str 0x0000000000000000 0x8 lib/lib.a(open.o) - 0xf2 (size before relaxing) - .debug_str 0x0000000000001fc7 0x8 lib/lib.a(close.o) - 0xe4 (size before relaxing) - .debug_str 0x0000000000001fcf 0x8 lib/lib.a(errno.o) - 0x93 (size before relaxing) + 0xee (size before relaxing) + .debug_str 0x000000000000203b 0x8 lib/lib.a(close.o) + 0xe0 (size before relaxing) + .debug_str 0x0000000000002043 0x8 lib/lib.a(errno.o) + 0x8f (size before relaxing) .debug_str 0x0000000000000000 0x8 lib/lib.a(write.o) - 0xf0 (size before relaxing) - .debug_str 0x0000000000001fd7 0x6 lib/lib.a(dup.o) - 0xdc (size before relaxing) - .debug_str 0x0000000000001fdd 0x9 lib/lib.a(setsid.o) 0xec (size before relaxing) - .debug_str 0x0000000000001fe6 0x9 lib/lib.a(execve.o) - 0xf5 (size before relaxing) - .debug_str 0x0000000000001fef 0x11 lib/lib.a(wait.o) - 0x102 (size before relaxing) - .debug_str 0x0000000000002000 0x93 lib/lib.a(string.o) - 0x147 (size before relaxing) + .debug_str 0x000000000000204b 0x6 lib/lib.a(dup.o) + 0xd8 (size before relaxing) + .debug_str 0x0000000000002051 0x9 lib/lib.a(setsid.o) + 0xe8 (size before relaxing) + .debug_str 0x000000000000205a 0x9 lib/lib.a(execve.o) + 0xf1 (size before relaxing) + .debug_str 0x0000000000002063 0x11 lib/lib.a(wait.o) + 0xfe (size before relaxing) + .debug_str 0x0000000000002074 0x93 lib/lib.a(string.o) + 0x143 (size before relaxing) + .debug_str 0x0000000000002107 0x77 lib/lib.a(malloc.o) + 0x15e (size before relaxing) .debug_loc *(.debug_loc) diff --git a/linux-0.11-lab/0/linux/fs/Makefile b/linux-0.11-lab/0/linux/fs/Makefile index 970acd4..b2f4186 100644 --- a/linux-0.11-lab/0/linux/fs/Makefile +++ b/linux-0.11-lab/0/linux/fs/Makefile @@ -18,7 +18,7 @@ CPP =gcc -E -nostdinc -I../include OBJS= open.o read_write.o inode.o file_table.o buffer.o super.o \ block_dev.o char_dev.o file_dev.o stat.o exec.o pipe.o namei.o \ - bitmap.o fcntl.o ioctl.o truncate.o select.o + bitmap.o fcntl.o ioctl.o truncate.o select.o mysystem_call.o fs.o: $(OBJS) $(LD) -r -o fs.o $(OBJS) diff --git a/linux-0.11-lab/0/linux/fs/bitmap.o b/linux-0.11-lab/0/linux/fs/bitmap.o index 501d3c5..e2ff6c8 100644 Binary files a/linux-0.11-lab/0/linux/fs/bitmap.o and b/linux-0.11-lab/0/linux/fs/bitmap.o differ diff --git a/linux-0.11-lab/0/linux/fs/block_dev.o b/linux-0.11-lab/0/linux/fs/block_dev.o index e5e9334..cdf7331 100644 Binary files a/linux-0.11-lab/0/linux/fs/block_dev.o and b/linux-0.11-lab/0/linux/fs/block_dev.o differ diff --git a/linux-0.11-lab/0/linux/fs/buffer.o b/linux-0.11-lab/0/linux/fs/buffer.o index d59a1f3..fc558af 100644 Binary files a/linux-0.11-lab/0/linux/fs/buffer.o and b/linux-0.11-lab/0/linux/fs/buffer.o differ diff --git a/linux-0.11-lab/0/linux/fs/char_dev.o b/linux-0.11-lab/0/linux/fs/char_dev.o index 2977060..c7f8402 100644 Binary files a/linux-0.11-lab/0/linux/fs/char_dev.o and b/linux-0.11-lab/0/linux/fs/char_dev.o differ diff --git a/linux-0.11-lab/0/linux/fs/exec.o b/linux-0.11-lab/0/linux/fs/exec.o index 1619956..01a6ee3 100644 Binary files a/linux-0.11-lab/0/linux/fs/exec.o and b/linux-0.11-lab/0/linux/fs/exec.o differ diff --git a/linux-0.11-lab/0/linux/fs/fcntl.o b/linux-0.11-lab/0/linux/fs/fcntl.o index 17a6eca..c82831d 100644 Binary files a/linux-0.11-lab/0/linux/fs/fcntl.o and b/linux-0.11-lab/0/linux/fs/fcntl.o differ diff --git a/linux-0.11-lab/0/linux/fs/file_dev.o b/linux-0.11-lab/0/linux/fs/file_dev.o index e1ba8a5..0882992 100644 Binary files a/linux-0.11-lab/0/linux/fs/file_dev.o and b/linux-0.11-lab/0/linux/fs/file_dev.o differ diff --git a/linux-0.11-lab/0/linux/fs/file_table.o b/linux-0.11-lab/0/linux/fs/file_table.o index 422bcb3..e0db34e 100644 Binary files a/linux-0.11-lab/0/linux/fs/file_table.o and b/linux-0.11-lab/0/linux/fs/file_table.o differ diff --git a/linux-0.11-lab/0/linux/fs/fs.o b/linux-0.11-lab/0/linux/fs/fs.o index 86ce3ba..70b16bb 100644 Binary files a/linux-0.11-lab/0/linux/fs/fs.o and b/linux-0.11-lab/0/linux/fs/fs.o differ diff --git a/linux-0.11-lab/0/linux/fs/inode.o b/linux-0.11-lab/0/linux/fs/inode.o index dd67bfa..37ed3bd 100644 Binary files a/linux-0.11-lab/0/linux/fs/inode.o and b/linux-0.11-lab/0/linux/fs/inode.o differ diff --git a/linux-0.11-lab/0/linux/fs/ioctl.o b/linux-0.11-lab/0/linux/fs/ioctl.o index 1f1f33c..c5a5b15 100644 Binary files a/linux-0.11-lab/0/linux/fs/ioctl.o and b/linux-0.11-lab/0/linux/fs/ioctl.o differ diff --git a/linux-0.11-lab/0/linux/fs/mysystem_call.c b/linux-0.11-lab/0/linux/fs/mysystem_call.c new file mode 100644 index 0000000..1347b15 --- /dev/null +++ b/linux-0.11-lab/0/linux/fs/mysystem_call.c @@ -0,0 +1,290 @@ +#define __LIBRARY__ +#include +#include +#include +#include +#include + +#include +#include +#include +#include + +#include + +#define BUF_MAX 4096 +#define DIRBUF 8192 +#define NAME_MAX 14 + +struct dirent { + long d_ino; + off_t d_off; + unsigned short d_reclen; + char d_name[NAME_MAX+1]; +}; + +/*参数count指定该缓冲区的大小*/ +int sys_getdents(unsigned int fd,struct linux_dirent *dirp,unsigned int count) +{ + if(!count)return -1;/*count is zero*/ + if(fd>=NR_OPEN)return -EINVAL;/*fd is over range*/ + + struct file *file; + struct m_inode * inode; + int ret; + struct buffer_head *hd; + struct dir_entry *de; + struct dirent * temp; + char * buf; + int desize,ldsize,i,ldi; + + file=current->filp[fd]; + if(!file)return ENOTDIR;/*the file is not exist or not file*/ + ldsize = sizeof(struct dirent); + desize = sizeof(struct dir_entry); + inode = file ->f_inode; + temp = (struct dirent *)malloc(ldsize);/* //the inter veriable */ + buf = (char*)malloc(ldsize); + + /*get the inode's bread*/ + hd = bread(inode->i_dev , inode->i_zone[0]); + + ldi=0; + ret=0; + + for (;reti_size;ret += desize){ + if (ldi >= count-ldsize) + break; /* full */ + de = (struct dir_entry *)(hd->b_data + ret);/* de is set to the current dir_entry */ + if (!de -> inode )/* to skip if there is no data in de */ + continue; + /*To write, copying current dirent, */ + temp->d_ino = de->inode; + temp->d_off = 0; + temp->d_reclen = ldsize; + strcpy(temp->d_name,de->name); + + + /* by put_fs_byte to write back data to the usr */ + memcpy(buf, temp, ldsize); + for (i=0;i < ldsize;i++){ + put_fs_byte(*(buf+i), ((char*)dirp)+i+ldi); + } + /* memcpy(temp, buf, ldsize); */ + ldi += ldsize; + } + return ldi; +} + + +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; + + if ((0xffff & eip[1]) != 0x000f) + 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)); + + /*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>PANIC<< POWER button turned off. -143594175000i[CPU0 ] CPU is in protected mode (active) -143594175000i[CPU0 ] CS.mode = 32 bit -143594175000i[CPU0 ] SS.mode = 32 bit -143594175000i[CPU0 ] EFER = 0x00000000 -143594175000i[CPU0 ] | EAX=00000000 EBX=00090080 ECX=000055f0 EDX=00000017 -143594175000i[CPU0 ] | ESP=0001cc8c EBP=00022a2c ESI=000900a0 EDI=00021a40 -143594175000i[CPU0 ] | IOPL=0 id vip vif ac vm rf nt of df IF tf sf zf af pf cf -143594175000i[CPU0 ] | SEG sltr(index|ti|rpl) base limit G D -143594175000i[CPU0 ] | CS:0008( 0001| 0| 0) 00000000 00ffffff 1 1 -143594175000i[CPU0 ] | DS:0010( 0002| 0| 0) 00000000 00ffffff 1 1 -143594175000i[CPU0 ] | SS:0010( 0002| 0| 0) 00000000 00ffffff 1 1 -143594175000i[CPU0 ] | ES:0010( 0002| 0| 0) 00000000 00ffffff 1 1 -143594175000i[CPU0 ] | FS:0017( 0002| 1| 3) 00000000 0009ffff 1 1 -143594175000i[CPU0 ] | GS:0017( 0002| 1| 3) 00000000 0009ffff 1 1 -143594175000i[CPU0 ] | EIP=00006dad (00006dad) -143594175000i[CPU0 ] | CR0=0x8000001b CR2=0x08038000 -143594175000i[CPU0 ] | CR3=0x00000000 CR4=0x00000000 -143594175000i[CPU0 ] 0x00006dad>> jnbe .-166 (0x00006d0d) : 0F875AFFFFFF -143594175000i[CMOS ] Last time is 1655706082 (Mon Jun 20 07:21:22 2022) -143594175000i[XGUI ] Exit -143594175000i[ ] restoring default signal behavior -143594175000i[SIM ] quit_sim called with exit code 1 diff --git a/linux-0.11-lab/cur/linux - 快捷方式.lnk b/linux-0.11-lab/cur/linux - 快捷方式.lnk new file mode 100644 index 0000000..ee7f322 Binary files /dev/null and b/linux-0.11-lab/cur/linux - 快捷方式.lnk differ diff --git a/linux-0.11-lab/cur/linux/Image b/linux-0.11-lab/cur/linux/Image index 9869a43..f7ca375 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 6e469c2..03379b8 100644 --- a/linux-0.11-lab/cur/linux/System.map +++ b/linux-0.11-lab/cur/linux/System.map @@ -297,280 +297,291 @@ 00012348 t free_dind 000123e7 T truncate 0001251c T sys_select -00012522 t lock_buffer -0001254f t unlock_buffer -00012741 t make_request -000128e5 T ll_rw_block -0001293e T blk_dev_init -0001298c t unlock_buffer -000129c1 t end_request -00012a72 T floppy_deselect -00012aa9 T floppy_change -00012b2f t setup_DMA -00012be5 t output_byte -00012c5b t result -00012d18 t bad_flp_intr -00012d77 t rw_interrupt -00012e66 T setup_rw_floppy -00012f27 t seek_interrupt -00012f80 t transfer -000130b5 t recal_interrupt -000130ff T unexpected_floppy_interrupt -00013144 t recalibrate_floppy -000131a6 t reset_interrupt -000131eb t reset_floppy -00013268 t floppy_on_interrupt -000132d3 t do_fd_request -000134d7 T floppy_init -00013529 t unlock_buffer -0001355e t end_request -000135fd T sys_setup -000139b0 t controller_ready -00013a44 t hd_out -00013b31 t drive_busy -00013b97 t reset_controller -00013c14 t reset_hd -00013cac T unexpected_hd_interrupt -00013cbf t bad_rw_intr -00013cfd t read_intr -00013e23 t recal_intr -00013e3d t do_hd_request -0001413e T hd_init -000141b8 t unlock_buffer -000141ed t end_request -0001428c t do_rd_request -000143c2 T rd_init -00014418 T rd_load -000146c4 t get_fs_byte -000146d2 t put_fs_byte -000146ea T tty_init -000146fb T tty_intr -0001476f t sleep_if_empty -000147a7 t sleep_if_full -0001481b T copy_to_cooked -00014dd6 T tty_read -00015144 T tty_write -00015356 T do_tty_interrupt -0001537e T chr_dev_init -0001537f t gotoxy -000153cd t set_origin -00015433 t scrup -00015623 t scrdown -0001571a t lf -00015750 t ri -00015786 t cr -000157a7 t del -000157d9 t csi_J -0001586a t csi_K -0001591c T csi_m -00015983 t set_cursor -000159e9 t respond -00015a41 t insert_char -00015aa4 t insert_line -00015ae8 t delete_char -00015b46 t delete_line -00015b8a t csi_at -00015bc8 t csi_L -00015c06 t csi_P -00015c44 t csi_M -00015c82 t save_cur -00015c97 t restore_cur -00015cb6 T con_write -00016344 T con_init -0001657b T sysbeepstop -000165a4 t sysbeep -00016602 t mode -00016603 t leds -00016604 t e0 -00016605 T keyboard_interrupt -0001662e t e0_e1 -00016659 t set_e0 -00016662 t set_e1 -0001666b t put_queue -000166a4 t ctrl -000166bc t unctrl -000166c0 t unalt -000166d6 t lshift -000166de t unlshift -000166e6 t rshift -000166ee t unrshift -000166f6 t caps -00016718 t set_leds -0001672e t uncaps -00016736 t scroll -0001673f t num -00016748 t cursor -00016768 t cur2 -00016791 t cur -0001679d t ok_cur -000167ab t num_table -000167b8 t cur_table -000167c5 t func -000167e2 t ok_func -000167f5 t end_func -000167f6 t func_table -00016826 t key_map -00016887 t shift_map -00016949 t do_self -000169b1 t none -000169b2 t minus -000169c7 t key_table -00016dc7 t kb_wait -00016dd0 t reboot -00016de2 t die -00016de4 t init -00016e59 T rs_init -00016edc T rs_write -00016f2c T rs1_interrupt -00016f34 T rs2_interrupt -00016f39 t rs_int -00016f50 t rep_int -00016f6d t end -00016f7b t jmp_table -00016f8c t modem_status -00016f94 t line_status -00016f9c t read_char -00017023 t get_fs_byte -00017031 t get_fs_long -00017047 t put_fs_byte -0001705f t put_fs_long -0001706b t change_speed -000170e9 t flush -000170fb t send_break -000170fc t get_termios -00017158 t set_termios -000171a8 t get_termio -00017270 t set_termio -00017334 T tty_ioctl -00017632 t get_fs_byte -00017640 T math_emulate -00017723 T math_error -00017743 T _exit -00017753 T open -0001779c T close -00017810 T dup -00017847 T setsid -00017876 T execve -00017913 T strcpy -0001792f T strncpy -00017954 T strcat -0001797f T strncat -000179b4 T strcmp -000179db T strncmp -00017a09 T strchr -00017a36 T strrchr -00017a65 T strspn -00017aa2 T strcspn -00017adf T strpbrk -00017b16 T strstr -00017b4f T strlen -00017b72 T strtok -00017bf5 T memcpy -00017c15 T memmove -00017c69 T memcmp -00017c93 T memchr -00017ccb T memset -0001bb48 d envp_rc -0001bb5c d envp -0001bb80 D sys_call_table -0001bcdc D NR_syscalls -0001bce0 d init_task -0001cce0 D current -0001cd00 D task -0001ce00 D stack_start -0001ce08 D current_DOR -0001ce20 d thisname.1955 -0001ce60 d month -0001cea0 d last_inode.1935 -0001cea4 D start_buffer -0001cec0 d crw_table -0001cee0 d ioctl_table -0001cf00 d floppy_type -0001cfc0 d cur_spec1 -0001cfc4 d cur_rate -0001cfc8 d floppy -0001cfcc d current_track -0001cfd0 d callable.1844 -0001cfe0 D tty_table -0001f500 D table_list -0001f520 d quotient -0001f540 D _ctype -0001f641 B __bss_start -0001f641 D _edata -0001f660 b printbuf -0001fa60 b memory_end -0001fa64 b buffer_memory_end -0001fa68 b main_memory_start -0001fa80 B jiffies -0001fa84 B startup_time -0001fa88 B last_task_used_math -0001fa9c b mon_timer -0001faac b moff_timer -0001fac0 b timer_list -0001fdc0 b next_timer -0001fdc4 B last_pid -0001fde0 b buf -000201e0 b HIGH_MEMORY -00020200 b mem_map -00021100 B inode_table -00021800 B nr_buffers -00021804 b free_list -00021808 b buffer_wait -0002180c B ROOT_DEV -00021840 B blk_dev -00021878 B do_floppy -0002187c B selected -00021884 b recalibrate -00021888 b reset -0002188c b seek -00021890 b reply_buffer -00021897 b current_drive -00021898 b sector -00021899 b head -0002189a b track -0002189b b seek_track -0002189c b command -000218a0 B do_hd -000218c0 B hd_info -000218f0 b recalibrate -000218f4 b reset -000218f8 b NR_HD -00021900 b hd -00021950 B rd_length -00021954 b cr_flag.1923 -00021960 B beepcount -00021964 b video_type -00021968 b video_num_columns -0002196c b video_size_row -00021970 b video_num_lines -00021974 b video_page -00021978 b video_mem_start -0002197c b video_mem_end -00021980 b video_port_reg -00021982 b video_port_val -00021984 b video_erase_char -00021988 b origin -0002198c b scr_end -00021990 b pos -00021994 b x -00021998 b y -0002199c b top -000219a0 b bottom -000219a4 b state -000219a8 b npar -000219c0 b par -00021a00 b ques -00021a04 b saved_x -00021a08 b saved_y -00021a20 B drive_info -00021a40 B user_stack -00022a40 B hash_table -00022f20 B super_block -00023280 B file_table -00023680 B request -00023b00 B rd_start -00023b04 B _ctmp -00023b08 B errno -00023b0c B ___strtok -00023b10 B end -00023b10 B _end +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 diff --git a/linux-0.11-lab/cur/linux/System.map.2 b/linux-0.11-lab/cur/linux/System.map.2 index 44e841e..4dc1598 100644 --- a/linux-0.11-lab/cur/linux/System.map.2 +++ b/linux-0.11-lab/cur/linux/System.map.2 @@ -32,7 +32,8 @@ lib/lib.a(dup.o) init/main.o (dup) lib/lib.a(setsid.o) init/main.o (setsid) lib/lib.a(execve.o) init/main.o (execve) lib/lib.a(wait.o) init/main.o (wait) -lib/lib.a(string.o) fs/fs.o (strncpy) +lib/lib.a(string.o) fs/fs.o (strcpy) +lib/lib.a(malloc.o) fs/fs.o (malloc) 分配公共符号 公共符号 大小 文件 @@ -98,6 +99,8 @@ Discarded input sections 0x0000000000000000 0x0 lib/lib.a(wait.o) .note.GNU-stack 0x0000000000000000 0x0 lib/lib.a(string.o) + .note.GNU-stack + 0x0000000000000000 0x0 lib/lib.a(malloc.o) 内存配置 @@ -202,7 +205,7 @@ LOAD lib/lib.a *(.iplt) .iplt 0x0000000000000000 0x0 boot/head.o -.text 0x0000000000000000 0x17cef +.text 0x0000000000000000 0x1829f *(.text.unlikely .text.*_unlikely .text.unlikely.*) *(.text.exit .text.exit.*) *(.text.startup .text.startup.*) @@ -354,7 +357,7 @@ LOAD lib/lib.a 0x000000000000ae49 mem_init 0x000000000000aebd calc_mem 0x000000000000afb2 page_fault - .text 0x000000000000afe9 0x7539 fs/fs.o + .text 0x000000000000afe9 0x777e fs/fs.o 0x000000000000afff sys_ustat 0x000000000000b005 sys_utime 0x000000000000b0b2 sys_access @@ -424,116 +427,127 @@ LOAD lib/lib.a 0x00000000000121d8 sys_ioctl 0x00000000000123e7 truncate 0x000000000001251c sys_select - .text 0x0000000000012522 0x46a kernel/blk_drv/blk_drv.a(ll_rw_blk.o) - 0x00000000000128e5 ll_rw_block - 0x000000000001293e blk_dev_init - .text 0x000000000001298c 0xb9d kernel/blk_drv/blk_drv.a(floppy.o) - 0x0000000000012a72 floppy_deselect - 0x0000000000012aa9 floppy_change - 0x0000000000012e66 setup_rw_floppy - 0x00000000000130ff unexpected_floppy_interrupt - 0x00000000000134d7 floppy_init - .text 0x0000000000013529 0xc8f kernel/blk_drv/blk_drv.a(hd.o) - 0x00000000000135fd sys_setup - 0x0000000000013cac unexpected_hd_interrupt - 0x000000000001413e hd_init - .text 0x00000000000141b8 0x50c kernel/blk_drv/blk_drv.a(ramdisk.o) - 0x00000000000143c2 rd_init - 0x0000000000014418 rd_load - .text 0x00000000000146c4 0xcbb kernel/chr_drv/chr_drv.a(tty_io.o) - 0x00000000000146ea tty_init - 0x00000000000146fb tty_intr - 0x0000000000014808 wait_for_keypress - 0x000000000001481b copy_to_cooked - 0x0000000000014dd6 tty_read - 0x0000000000015144 tty_write - 0x0000000000015356 do_tty_interrupt - 0x000000000001537e chr_dev_init - .text 0x000000000001537f 0x1283 kernel/chr_drv/chr_drv.a(console.o) - 0x000000000001591c csi_m - 0x0000000000015cb6 con_write - 0x0000000000016344 con_init - 0x000000000001657b sysbeepstop - .text 0x0000000000016602 0x7e2 kernel/chr_drv/chr_drv.a(keyboard.2.o) - 0x0000000000016605 keyboard_interrupt - .text 0x0000000000016de4 0x145 kernel/chr_drv/chr_drv.a(serial.o) - 0x0000000000016e59 rs_init - 0x0000000000016edc rs_write - *fill* 0x0000000000016f29 0x3 - .text 0x0000000000016f2c 0xf7 kernel/chr_drv/chr_drv.a(rs_io.o) - 0x0000000000016f2c rs1_interrupt - 0x0000000000016f34 rs2_interrupt - .text 0x0000000000017023 0x60f kernel/chr_drv/chr_drv.a(tty_ioctl.o) - 0x0000000000017334 tty_ioctl - .text 0x0000000000017632 0x111 kernel/math/math.a(math_emulate.o) - 0x0000000000017640 math_emulate - 0x0000000000017723 math_error - .text 0x0000000000017743 0x0 lib/lib.a(ctype.o) - .text 0x0000000000017743 0x10 lib/lib.a(_exit.o) - 0x0000000000017743 _exit - .text 0x0000000000017753 0x49 lib/lib.a(open.o) - 0x0000000000017753 open - .text 0x000000000001779c 0x37 lib/lib.a(close.o) - 0x000000000001779c close - .text 0x00000000000177d3 0x0 lib/lib.a(errno.o) - .text 0x00000000000177d3 0x3d lib/lib.a(write.o) - 0x00000000000177d3 write - .text 0x0000000000017810 0x37 lib/lib.a(dup.o) - 0x0000000000017810 dup - .text 0x0000000000017847 0x2f lib/lib.a(setsid.o) - 0x0000000000017847 setsid - .text 0x0000000000017876 0x3d lib/lib.a(execve.o) - 0x0000000000017876 execve - .text 0x00000000000178b3 0x60 lib/lib.a(wait.o) - 0x00000000000178b3 waitpid - 0x00000000000178f0 wait - .text 0x0000000000017913 0x3dc lib/lib.a(string.o) - 0x0000000000017913 strcpy - 0x000000000001792f strncpy - 0x0000000000017954 strcat - 0x000000000001797f strncat - 0x00000000000179b4 strcmp - 0x00000000000179db strncmp - 0x0000000000017a09 strchr - 0x0000000000017a36 strrchr - 0x0000000000017a65 strspn - 0x0000000000017aa2 strcspn - 0x0000000000017adf strpbrk - 0x0000000000017b16 strstr - 0x0000000000017b4f strlen - 0x0000000000017b72 strtok - 0x0000000000017bf5 memcpy - 0x0000000000017c15 memmove - 0x0000000000017c69 memcmp - 0x0000000000017c93 memchr - 0x0000000000017ccb memset + 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 *(.gnu.warning) .fini *(SORT(.fini)) - 0x0000000000017cef PROVIDE (__etext, .) - 0x0000000000017cef PROVIDE (_etext, .) - 0x0000000000017cef PROVIDE (etext, .) + 0x000000000001829f PROVIDE (__etext, .) + 0x000000000001829f PROVIDE (_etext, .) + 0x000000000001829f PROVIDE (etext, .) -.rodata 0x0000000000017cf0 0x13ca +.rodata 0x00000000000182a0 0x14b7 *(.rodata .rodata.* .gnu.linkonce.r.*) - .rodata 0x0000000000017cf0 0xad init/main.o - *fill* 0x0000000000017d9d 0x3 - .rodata 0x0000000000017da0 0x438 kernel/kernel.o - .rodata 0x00000000000181d8 0x18f mm/mm.o - *fill* 0x0000000000018367 0x1 - .rodata 0x0000000000018368 0x62c fs/fs.o - .rodata 0x0000000000018994 0x7a kernel/blk_drv/blk_drv.a(ll_rw_blk.o) - *fill* 0x0000000000018a0e 0x2 - .rodata 0x0000000000018a10 0x133 kernel/blk_drv/blk_drv.a(floppy.o) - *fill* 0x0000000000018b43 0x1 - .rodata 0x0000000000018b44 0x19b kernel/blk_drv/blk_drv.a(hd.o) - *fill* 0x0000000000018cdf 0x1 - .rodata 0x0000000000018ce0 0x188 kernel/blk_drv/blk_drv.a(ramdisk.o) - .rodata 0x0000000000018e68 0x17d kernel/chr_drv/chr_drv.a(console.o) - *fill* 0x0000000000018fe5 0x3 - .rodata 0x0000000000018fe8 0x80 kernel/chr_drv/chr_drv.a(tty_ioctl.o) - .rodata 0x0000000000019068 0x52 kernel/math/math.a(math_emulate.o) + .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) .rodata1 *(.rodata1) @@ -541,58 +555,60 @@ LOAD lib/lib.a .eh_frame_hdr *(.eh_frame_hdr) -.eh_frame 0x00000000000190bc 0x2a6c +.eh_frame 0x0000000000019758 0x2b44 *(.eh_frame) - .eh_frame 0x00000000000190bc 0xf0 init/main.o - .eh_frame 0x00000000000191ac 0xb04 kernel/kernel.o + .eh_frame 0x0000000000019758 0xf0 init/main.o + .eh_frame 0x0000000000019848 0xb04 kernel/kernel.o 0xbf4 (size before relaxing) - .eh_frame 0x0000000000019cb0 0x194 mm/mm.o + .eh_frame 0x000000000001a34c 0x194 mm/mm.o 0x1ac (size before relaxing) - .eh_frame 0x0000000000019e44 0xdd8 fs/fs.o - 0xf70 (size before relaxing) - .eh_frame 0x000000000001ac1c 0x98 kernel/blk_drv/blk_drv.a(ll_rw_blk.o) + .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) 0xb0 (size before relaxing) - .eh_frame 0x000000000001acb4 0x23c kernel/blk_drv/blk_drv.a(floppy.o) + .eh_frame 0x000000000001b3d8 0x23c kernel/blk_drv/blk_drv.a(floppy.o) 0x254 (size before relaxing) - .eh_frame 0x000000000001aef0 0x1e8 kernel/blk_drv/blk_drv.a(hd.o) + .eh_frame 0x000000000001b614 0x1e8 kernel/blk_drv/blk_drv.a(hd.o) 0x200 (size before relaxing) - .eh_frame 0x000000000001b0d8 0xac kernel/blk_drv/blk_drv.a(ramdisk.o) + .eh_frame 0x000000000001b7fc 0xac kernel/blk_drv/blk_drv.a(ramdisk.o) 0xc4 (size before relaxing) - .eh_frame 0x000000000001b184 0x12c kernel/chr_drv/chr_drv.a(tty_io.o) + .eh_frame 0x000000000001b8a8 0x12c kernel/chr_drv/chr_drv.a(tty_io.o) 0x144 (size before relaxing) - .eh_frame 0x000000000001b2b0 0x2c0 kernel/chr_drv/chr_drv.a(console.o) + .eh_frame 0x000000000001b9d4 0x2c0 kernel/chr_drv/chr_drv.a(console.o) 0x2d8 (size before relaxing) - .eh_frame 0x000000000001b570 0x54 kernel/chr_drv/chr_drv.a(serial.o) + .eh_frame 0x000000000001bc94 0x54 kernel/chr_drv/chr_drv.a(serial.o) 0x6c (size before relaxing) - .eh_frame 0x000000000001b5c4 0x148 kernel/chr_drv/chr_drv.a(tty_ioctl.o) + .eh_frame 0x000000000001bce8 0x148 kernel/chr_drv/chr_drv.a(tty_ioctl.o) 0x160 (size before relaxing) - .eh_frame 0x000000000001b70c 0x5c kernel/math/math.a(math_emulate.o) + .eh_frame 0x000000000001be30 0x5c kernel/math/math.a(math_emulate.o) 0x74 (size before relaxing) - .eh_frame 0x000000000001b768 0x1c lib/lib.a(_exit.o) + .eh_frame 0x000000000001be8c 0x1c lib/lib.a(_exit.o) 0x34 (size before relaxing) - .eh_frame 0x000000000001b784 0x24 lib/lib.a(open.o) + .eh_frame 0x000000000001bea8 0x24 lib/lib.a(open.o) 0x3c (size before relaxing) - .eh_frame 0x000000000001b7a8 0x20 lib/lib.a(close.o) + .eh_frame 0x000000000001becc 0x20 lib/lib.a(close.o) 0x38 (size before relaxing) - .eh_frame 0x000000000001b7c8 0x20 lib/lib.a(write.o) + .eh_frame 0x000000000001beec 0x20 lib/lib.a(write.o) 0x38 (size before relaxing) - .eh_frame 0x000000000001b7e8 0x20 lib/lib.a(dup.o) + .eh_frame 0x000000000001bf0c 0x20 lib/lib.a(dup.o) 0x38 (size before relaxing) - .eh_frame 0x000000000001b808 0x18 lib/lib.a(setsid.o) + .eh_frame 0x000000000001bf2c 0x18 lib/lib.a(setsid.o) 0x30 (size before relaxing) - .eh_frame 0x000000000001b820 0x20 lib/lib.a(execve.o) + .eh_frame 0x000000000001bf44 0x20 lib/lib.a(execve.o) 0x38 (size before relaxing) - .eh_frame 0x000000000001b840 0x38 lib/lib.a(wait.o) + .eh_frame 0x000000000001bf64 0x38 lib/lib.a(wait.o) 0x50 (size before relaxing) - .eh_frame 0x000000000001b878 0x2b0 lib/lib.a(string.o) + .eh_frame 0x000000000001bf9c 0x2b0 lib/lib.a(string.o) 0x2c8 (size before relaxing) + .eh_frame 0x000000000001c24c 0x50 lib/lib.a(malloc.o) + 0x68 (size before relaxing) .gcc_except_table *(.gcc_except_table .gcc_except_table.*) .exception_ranges *(.exception_ranges .exception_ranges*) - 0x000000000001bb28 . = . + 0x000000000001c29c . = . .eh_frame *(.eh_frame) @@ -610,22 +626,22 @@ LOAD lib/lib.a *(.tbss .tbss.* .gnu.linkonce.tb.*) *(.tcommon) -.preinit_array 0x000000000001bb28 0x0 - 0x000000000001bb28 PROVIDE (__preinit_array_start, .) +.preinit_array 0x000000000001c29c 0x0 + 0x000000000001c29c PROVIDE (__preinit_array_start, .) *(.preinit_array) - 0x000000000001bb28 PROVIDE (__preinit_array_end, .) + 0x000000000001c29c PROVIDE (__preinit_array_end, .) -.init_array 0x000000000001bb28 0x0 - 0x000000000001bb28 PROVIDE (__init_array_start, .) +.init_array 0x000000000001c29c 0x0 + 0x000000000001c29c PROVIDE (__init_array_start, .) *(SORT(.init_array.*) SORT(.ctors.*)) *(.init_array EXCLUDE_FILE(*crtend?.o *crtend.o *crtbegin?.o *crtbegin.o) .ctors) - 0x000000000001bb28 PROVIDE (__init_array_end, .) + 0x000000000001c29c PROVIDE (__init_array_end, .) -.fini_array 0x000000000001bb28 0x0 - 0x000000000001bb28 PROVIDE (__fini_array_start, .) +.fini_array 0x000000000001c29c 0x0 + 0x000000000001c29c PROVIDE (__fini_array_start, .) *(SORT(.fini_array.*) SORT(.dtors.*)) *(.fini_array EXCLUDE_FILE(*crtend?.o *crtend.o *crtbegin?.o *crtbegin.o) .dtors) - 0x000000000001bb28 PROVIDE (__fini_array_end, .) + 0x000000000001c29c PROVIDE (__fini_array_end, .) .ctors *crtbegin.o(.ctors) @@ -655,140 +671,145 @@ LOAD lib/lib.a *(.got) *(.igot) -.got.plt 0x000000000001bb28 0x0 +.got.plt 0x000000000001c29c 0x0 *(.got.plt) *(.igot.plt) .igot.plt 0x0000000000000000 0x0 boot/head.o -.data 0x000000000001bb40 0x3b01 +.data 0x000000000001c2a0 0x3b90 *(.data .data.* .gnu.linkonce.d.*) - .data 0x000000000001bb40 0x0 boot/head.o - .data 0x000000000001bb40 0x28 init/main.o - *fill* 0x000000000001bb68 0x18 - .data 0x000000000001bb80 0x1310 kernel/kernel.o - 0x000000000001bb80 sys_call_table - 0x000000000001bcdc NR_syscalls - 0x000000000001cce0 current - 0x000000000001cd00 task - 0x000000000001ce00 stack_start - 0x000000000001ce08 current_DOR - .data 0x000000000001ce90 0x0 mm/mm.o - *fill* 0x000000000001ce90 0x10 - .data 0x000000000001cea0 0x60 fs/fs.o - 0x000000000001cea4 start_buffer - .data 0x000000000001cf00 0x0 kernel/blk_drv/blk_drv.a(ll_rw_blk.o) - .data 0x000000000001cf00 0xcd kernel/blk_drv/blk_drv.a(floppy.o) - *fill* 0x000000000001cfcd 0x3 - .data 0x000000000001cfd0 0x4 kernel/blk_drv/blk_drv.a(hd.o) - .data 0x000000000001cfd4 0x0 kernel/blk_drv/blk_drv.a(ramdisk.o) - *fill* 0x000000000001cfd4 0xc - .data 0x000000000001cfe0 0x2538 kernel/chr_drv/chr_drv.a(tty_io.o) - 0x000000000001cfe0 tty_table - 0x000000000001f500 table_list - .data 0x000000000001f518 0x1 kernel/chr_drv/chr_drv.a(console.o) - .data 0x000000000001f519 0x0 kernel/chr_drv/chr_drv.a(keyboard.2.o) - .data 0x000000000001f519 0x0 kernel/chr_drv/chr_drv.a(serial.o) - .data 0x000000000001f519 0x0 kernel/chr_drv/chr_drv.a(rs_io.o) - *fill* 0x000000000001f519 0x7 - .data 0x000000000001f520 0x20 kernel/chr_drv/chr_drv.a(tty_ioctl.o) - .data 0x000000000001f540 0x0 kernel/math/math.a(math_emulate.o) - .data 0x000000000001f540 0x101 lib/lib.a(ctype.o) - 0x000000000001f540 _ctype - .data 0x000000000001f641 0x0 lib/lib.a(_exit.o) - .data 0x000000000001f641 0x0 lib/lib.a(open.o) - .data 0x000000000001f641 0x0 lib/lib.a(close.o) - .data 0x000000000001f641 0x0 lib/lib.a(errno.o) - .data 0x000000000001f641 0x0 lib/lib.a(write.o) - .data 0x000000000001f641 0x0 lib/lib.a(dup.o) - .data 0x000000000001f641 0x0 lib/lib.a(setsid.o) - .data 0x000000000001f641 0x0 lib/lib.a(execve.o) - .data 0x000000000001f641 0x0 lib/lib.a(wait.o) - .data 0x000000000001f641 0x0 lib/lib.a(string.o) + .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 .data1 *(.data1) - 0x000000000001f641 _edata = . - 0x000000000001f641 PROVIDE (edata, .) - 0x000000000001f641 . = . - 0x000000000001f641 __bss_start = . + 0x000000000001fe30 _edata = . + 0x000000000001fe30 PROVIDE (edata, .) + 0x000000000001fe30 . = . + 0x000000000001fe30 __bss_start = . -.bss 0x000000000001f660 0x44b0 +.bss 0x000000000001fe40 0x44b0 *(.dynbss) *(.bss .bss.* .gnu.linkonce.b.*) - .bss 0x000000000001f660 0x0 boot/head.o - .bss 0x000000000001f660 0x40c init/main.o - *fill* 0x000000000001fa6c 0x14 - .bss 0x000000000001fa80 0x760 kernel/kernel.o - 0x000000000001fa80 jiffies - 0x000000000001fa84 startup_time - 0x000000000001fa88 last_task_used_math - 0x000000000001fdc4 last_pid - .bss 0x00000000000201e0 0xf20 mm/mm.o - .bss 0x0000000000021100 0x710 fs/fs.o - 0x0000000000021100 inode_table - 0x0000000000021800 nr_buffers - 0x000000000002180c ROOT_DEV - *fill* 0x0000000000021810 0x10 - .bss 0x0000000000021820 0x58 kernel/blk_drv/blk_drv.a(ll_rw_blk.o) - 0x0000000000021820 wait_for_request - 0x0000000000021840 blk_dev - .bss 0x0000000000021878 0x25 kernel/blk_drv/blk_drv.a(floppy.o) - 0x0000000000021878 do_floppy - 0x000000000002187c selected - 0x0000000000021880 wait_on_floppy_select - *fill* 0x000000000002189d 0x3 - .bss 0x00000000000218a0 0xb0 kernel/blk_drv/blk_drv.a(hd.o) - 0x00000000000218a0 do_hd - 0x00000000000218c0 hd_info - .bss 0x0000000000021950 0x4 kernel/blk_drv/blk_drv.a(ramdisk.o) - 0x0000000000021950 rd_length - .bss 0x0000000000021954 0x4 kernel/chr_drv/chr_drv.a(tty_io.o) - *fill* 0x0000000000021958 0x8 - .bss 0x0000000000021960 0xac kernel/chr_drv/chr_drv.a(console.o) - 0x0000000000021960 beepcount - .bss 0x0000000000021a0c 0x0 kernel/chr_drv/chr_drv.a(keyboard.2.o) - .bss 0x0000000000021a0c 0x0 kernel/chr_drv/chr_drv.a(serial.o) - .bss 0x0000000000021a0c 0x0 kernel/chr_drv/chr_drv.a(rs_io.o) - .bss 0x0000000000021a0c 0x0 kernel/chr_drv/chr_drv.a(tty_ioctl.o) - .bss 0x0000000000021a0c 0x0 kernel/math/math.a(math_emulate.o) - .bss 0x0000000000021a0c 0x0 lib/lib.a(ctype.o) - .bss 0x0000000000021a0c 0x0 lib/lib.a(_exit.o) - .bss 0x0000000000021a0c 0x0 lib/lib.a(open.o) - .bss 0x0000000000021a0c 0x0 lib/lib.a(close.o) - .bss 0x0000000000021a0c 0x0 lib/lib.a(errno.o) - .bss 0x0000000000021a0c 0x0 lib/lib.a(write.o) - .bss 0x0000000000021a0c 0x0 lib/lib.a(dup.o) - .bss 0x0000000000021a0c 0x0 lib/lib.a(setsid.o) - .bss 0x0000000000021a0c 0x0 lib/lib.a(execve.o) - .bss 0x0000000000021a0c 0x0 lib/lib.a(wait.o) - .bss 0x0000000000021a0c 0x0 lib/lib.a(string.o) + .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 *(COMMON) - *fill* 0x0000000000021a0c 0x14 - COMMON 0x0000000000021a20 0x20 init/main.o - 0x0000000000021a20 drive_info - COMMON 0x0000000000021a40 0x1000 kernel/kernel.o - 0x0000000000021a40 user_stack - COMMON 0x0000000000022a40 0xc40 fs/fs.o - 0x0000000000022a40 hash_table - 0x0000000000022f20 super_block - 0x0000000000023280 file_table - COMMON 0x0000000000023680 0x480 kernel/blk_drv/blk_drv.a(ll_rw_blk.o) - 0x0000000000023680 request - COMMON 0x0000000000023b00 0x4 kernel/blk_drv/blk_drv.a(ramdisk.o) - 0x0000000000023b00 rd_start - COMMON 0x0000000000023b04 0x1 lib/lib.a(ctype.o) - 0x0000000000023b04 _ctmp - *fill* 0x0000000000023b05 0x3 - COMMON 0x0000000000023b08 0x4 lib/lib.a(errno.o) - 0x0000000000023b08 errno - COMMON 0x0000000000023b0c 0x4 lib/lib.a(string.o) - 0x0000000000023b0c ___strtok - 0x0000000000023b10 . = ALIGN ((. != 0x0)?0x4:0x1) - 0x0000000000023b10 . = ALIGN (0x4) - 0x0000000000023b10 . = SEGMENT_START ("ldata-segment", .) - 0x0000000000023b10 . = ALIGN (0x4) - 0x0000000000023b10 _end = . - 0x0000000000023b10 PROVIDE (end, .) + *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, .) .stab *(.stab) @@ -814,7 +835,7 @@ LOAD lib/lib.a 0x2a (size before relaxing) .comment 0x0000000000000000 0x1a4 kernel/kernel.o .comment 0x0000000000000000 0x2a mm/mm.o - .comment 0x0000000000000000 0x2f4 fs/fs.o + .comment 0x0000000000000000 0x31e fs/fs.o .comment 0x0000000000000000 0x2a kernel/blk_drv/blk_drv.a(ll_rw_blk.o) .comment 0x0000000000000000 0x2a kernel/blk_drv/blk_drv.a(floppy.o) .comment 0x0000000000000000 0x2a kernel/blk_drv/blk_drv.a(hd.o) @@ -835,6 +856,7 @@ LOAD lib/lib.a .comment 0x0000000000000000 0x2a lib/lib.a(execve.o) .comment 0x0000000000000000 0x2a lib/lib.a(wait.o) .comment 0x0000000000000000 0x2a lib/lib.a(string.o) + .comment 0x0000000000000000 0x2a lib/lib.a(malloc.o) .debug *(.debug) @@ -848,7 +870,7 @@ LOAD lib/lib.a .debug_sfnames *(.debug_sfnames) -.debug_aranges 0x0000000000000000 0x628 +.debug_aranges 0x0000000000000000 0x668 *(.debug_aranges) .debug_aranges 0x0000000000000000 0x20 init/main.o @@ -857,185 +879,192 @@ LOAD lib/lib.a .debug_aranges 0x0000000000000160 0x20 mm/mm.o .debug_aranges - 0x0000000000000180 0x238 fs/fs.o + 0x0000000000000180 0x258 fs/fs.o + .debug_aranges + 0x00000000000003d8 0x20 kernel/blk_drv/blk_drv.a(ll_rw_blk.o) .debug_aranges - 0x00000000000003b8 0x20 kernel/blk_drv/blk_drv.a(ll_rw_blk.o) + 0x00000000000003f8 0x20 kernel/blk_drv/blk_drv.a(floppy.o) .debug_aranges - 0x00000000000003d8 0x20 kernel/blk_drv/blk_drv.a(floppy.o) + 0x0000000000000418 0x20 kernel/blk_drv/blk_drv.a(hd.o) .debug_aranges - 0x00000000000003f8 0x20 kernel/blk_drv/blk_drv.a(hd.o) + 0x0000000000000438 0x20 kernel/blk_drv/blk_drv.a(ramdisk.o) .debug_aranges - 0x0000000000000418 0x20 kernel/blk_drv/blk_drv.a(ramdisk.o) + 0x0000000000000458 0x20 kernel/chr_drv/chr_drv.a(tty_io.o) .debug_aranges - 0x0000000000000438 0x20 kernel/chr_drv/chr_drv.a(tty_io.o) + 0x0000000000000478 0x20 kernel/chr_drv/chr_drv.a(console.o) .debug_aranges - 0x0000000000000458 0x20 kernel/chr_drv/chr_drv.a(console.o) + 0x0000000000000498 0x20 kernel/chr_drv/chr_drv.a(serial.o) .debug_aranges - 0x0000000000000478 0x20 kernel/chr_drv/chr_drv.a(serial.o) + 0x00000000000004b8 0x20 kernel/chr_drv/chr_drv.a(tty_ioctl.o) .debug_aranges - 0x0000000000000498 0x20 kernel/chr_drv/chr_drv.a(tty_ioctl.o) + 0x00000000000004d8 0x20 kernel/math/math.a(math_emulate.o) .debug_aranges - 0x00000000000004b8 0x20 kernel/math/math.a(math_emulate.o) + 0x00000000000004f8 0x18 lib/lib.a(ctype.o) .debug_aranges - 0x00000000000004d8 0x18 lib/lib.a(ctype.o) + 0x0000000000000510 0x20 lib/lib.a(_exit.o) .debug_aranges - 0x00000000000004f0 0x20 lib/lib.a(_exit.o) + 0x0000000000000530 0x20 lib/lib.a(open.o) .debug_aranges - 0x0000000000000510 0x20 lib/lib.a(open.o) + 0x0000000000000550 0x20 lib/lib.a(close.o) .debug_aranges - 0x0000000000000530 0x20 lib/lib.a(close.o) + 0x0000000000000570 0x18 lib/lib.a(errno.o) .debug_aranges - 0x0000000000000550 0x18 lib/lib.a(errno.o) + 0x0000000000000588 0x20 lib/lib.a(write.o) .debug_aranges - 0x0000000000000568 0x20 lib/lib.a(write.o) + 0x00000000000005a8 0x20 lib/lib.a(dup.o) .debug_aranges - 0x0000000000000588 0x20 lib/lib.a(dup.o) + 0x00000000000005c8 0x20 lib/lib.a(setsid.o) .debug_aranges - 0x00000000000005a8 0x20 lib/lib.a(setsid.o) + 0x00000000000005e8 0x20 lib/lib.a(execve.o) .debug_aranges - 0x00000000000005c8 0x20 lib/lib.a(execve.o) + 0x0000000000000608 0x20 lib/lib.a(wait.o) .debug_aranges - 0x00000000000005e8 0x20 lib/lib.a(wait.o) + 0x0000000000000628 0x20 lib/lib.a(string.o) .debug_aranges - 0x0000000000000608 0x20 lib/lib.a(string.o) + 0x0000000000000648 0x20 lib/lib.a(malloc.o) .debug_pubnames *(.debug_pubnames) -.debug_info 0x0000000000000000 0x16d23 +.debug_info 0x0000000000000000 0x178f7 *(.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 0xa290 fs/fs.o - .debug_info 0x000000000000ffc4 0x932 kernel/blk_drv/blk_drv.a(ll_rw_blk.o) - .debug_info 0x00000000000108f6 0xc9f kernel/blk_drv/blk_drv.a(floppy.o) - .debug_info 0x0000000000011595 0xd5f kernel/blk_drv/blk_drv.a(hd.o) - .debug_info 0x00000000000122f4 0xad5 kernel/blk_drv/blk_drv.a(ramdisk.o) - .debug_info 0x0000000000012dc9 0xacd kernel/chr_drv/chr_drv.a(tty_io.o) - .debug_info 0x0000000000013896 0xdb0 kernel/chr_drv/chr_drv.a(console.o) - .debug_info 0x0000000000014646 0x85c kernel/chr_drv/chr_drv.a(serial.o) - .debug_info 0x0000000000014ea2 0xb47 kernel/chr_drv/chr_drv.a(tty_ioctl.o) - .debug_info 0x00000000000159e9 0x7b5 kernel/math/math.a(math_emulate.o) - .debug_info 0x000000000001619e 0x66 lib/lib.a(ctype.o) - .debug_info 0x0000000000016204 0x77 lib/lib.a(_exit.o) - .debug_info 0x000000000001627b 0xd0 lib/lib.a(open.o) - .debug_info 0x000000000001634b 0x97 lib/lib.a(close.o) - .debug_info 0x00000000000163e2 0x36 lib/lib.a(errno.o) - .debug_info 0x0000000000016418 0xc9 lib/lib.a(write.o) - .debug_info 0x00000000000164e1 0x97 lib/lib.a(dup.o) - .debug_info 0x0000000000016578 0x95 lib/lib.a(setsid.o) - .debug_info 0x000000000001660d 0xcb lib/lib.a(execve.o) - .debug_info 0x00000000000166d8 0xed lib/lib.a(wait.o) - .debug_info 0x00000000000167c5 0x55e lib/lib.a(string.o) - -.debug_abbrev 0x0000000000000000 0x43b9 + .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_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 0x19f1 fs/fs.o - .debug_abbrev 0x0000000000002d32 0x169 kernel/blk_drv/blk_drv.a(ll_rw_blk.o) - .debug_abbrev 0x0000000000002e9b 0x27d kernel/blk_drv/blk_drv.a(floppy.o) - .debug_abbrev 0x0000000000003118 0x23c kernel/blk_drv/blk_drv.a(hd.o) - .debug_abbrev 0x0000000000003354 0x1a8 kernel/blk_drv/blk_drv.a(ramdisk.o) - .debug_abbrev 0x00000000000034fc 0x279 kernel/chr_drv/chr_drv.a(tty_io.o) - .debug_abbrev 0x0000000000003775 0x26b kernel/chr_drv/chr_drv.a(console.o) - .debug_abbrev 0x00000000000039e0 0x175 kernel/chr_drv/chr_drv.a(serial.o) - .debug_abbrev 0x0000000000003b55 0x18d kernel/chr_drv/chr_drv.a(tty_ioctl.o) - .debug_abbrev 0x0000000000003ce2 0x163 kernel/math/math.a(math_emulate.o) - .debug_abbrev 0x0000000000003e45 0x3e lib/lib.a(ctype.o) - .debug_abbrev 0x0000000000003e83 0x51 lib/lib.a(_exit.o) - .debug_abbrev 0x0000000000003ed4 0x97 lib/lib.a(open.o) - .debug_abbrev 0x0000000000003f6b 0x75 lib/lib.a(close.o) - .debug_abbrev 0x0000000000003fe0 0x2c lib/lib.a(errno.o) - .debug_abbrev 0x000000000000400c 0xa1 lib/lib.a(write.o) - .debug_abbrev 0x00000000000040ad 0x75 lib/lib.a(dup.o) - .debug_abbrev 0x0000000000004122 0x73 lib/lib.a(setsid.o) - .debug_abbrev 0x0000000000004195 0x85 lib/lib.a(execve.o) - .debug_abbrev 0x000000000000421a 0xb6 lib/lib.a(wait.o) - .debug_abbrev 0x00000000000042d0 0xe9 lib/lib.a(string.o) - -.debug_line 0x0000000000000000 0x4599 + .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_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 0x1c50 fs/fs.o - .debug_line 0x0000000000002ef1 0x197 kernel/blk_drv/blk_drv.a(ll_rw_blk.o) - .debug_line 0x0000000000003088 0x24c kernel/blk_drv/blk_drv.a(floppy.o) - .debug_line 0x00000000000032d4 0x2bf kernel/blk_drv/blk_drv.a(hd.o) - .debug_line 0x0000000000003593 0x160 kernel/blk_drv/blk_drv.a(ramdisk.o) - .debug_line 0x00000000000036f3 0x33b kernel/chr_drv/chr_drv.a(tty_io.o) - .debug_line 0x0000000000003a2e 0x3ab kernel/chr_drv/chr_drv.a(console.o) - .debug_line 0x0000000000003dd9 0xd9 kernel/chr_drv/chr_drv.a(serial.o) - .debug_line 0x0000000000003eb2 0x1db kernel/chr_drv/chr_drv.a(tty_ioctl.o) - .debug_line 0x000000000000408d 0xe1 kernel/math/math.a(math_emulate.o) - .debug_line 0x000000000000416e 0x28 lib/lib.a(ctype.o) - .debug_line 0x0000000000004196 0x39 lib/lib.a(_exit.o) - .debug_line 0x00000000000041cf 0x62 lib/lib.a(open.o) - .debug_line 0x0000000000004231 0x5c lib/lib.a(close.o) - .debug_line 0x000000000000428d 0x28 lib/lib.a(errno.o) - .debug_line 0x00000000000042b5 0x76 lib/lib.a(write.o) - .debug_line 0x000000000000432b 0x5a lib/lib.a(dup.o) - .debug_line 0x0000000000004385 0x77 lib/lib.a(setsid.o) - .debug_line 0x00000000000043fc 0x5d lib/lib.a(execve.o) - .debug_line 0x0000000000004459 0x7a lib/lib.a(wait.o) - .debug_line 0x00000000000044d3 0xc6 lib/lib.a(string.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_frame *(.debug_frame) -.debug_str 0x0000000000000000 0x2093 +.debug_str 0x0000000000000000 0x217e *(.debug_str) - .debug_str 0x0000000000000000 0x1c0 init/main.o - 0x1ff (size before relaxing) - .debug_str 0x00000000000001c0 0xac0 kernel/kernel.o - 0x2332 (size before relaxing) - .debug_str 0x0000000000000c80 0x185 mm/mm.o - 0x4e0 (size before relaxing) - .debug_str 0x0000000000000e05 0x904 fs/fs.o - 0x49ab (size before relaxing) - .debug_str 0x0000000000001709 0xf0 kernel/blk_drv/blk_drv.a(ll_rw_blk.o) - 0x491 (size before relaxing) - .debug_str 0x00000000000017f9 0x1cf kernel/blk_drv/blk_drv.a(floppy.o) - 0x673 (size before relaxing) - .debug_str 0x00000000000019c8 0x15e kernel/blk_drv/blk_drv.a(hd.o) - 0x5e8 (size before relaxing) - .debug_str 0x0000000000001b26 0x43 kernel/blk_drv/blk_drv.a(ramdisk.o) - 0x58a (size before relaxing) - .debug_str 0x0000000000001b69 0xfb kernel/chr_drv/chr_drv.a(tty_io.o) - 0x4e3 (size before relaxing) - .debug_str 0x0000000000001c64 0x1b9 kernel/chr_drv/chr_drv.a(console.o) - 0x5b7 (size before relaxing) - .debug_str 0x0000000000001e1d 0x1a kernel/chr_drv/chr_drv.a(serial.o) - 0x3fc (size before relaxing) - .debug_str 0x0000000000001e37 0x8b kernel/chr_drv/chr_drv.a(tty_ioctl.o) - 0x4a7 (size before relaxing) - .debug_str 0x0000000000001ec2 0x70 kernel/math/math.a(math_emulate.o) - 0x392 (size before relaxing) - .debug_str 0x0000000000001f32 0x8d lib/lib.a(ctype.o) - 0xb6 (size before relaxing) - .debug_str 0x0000000000001fbf 0x8 lib/lib.a(_exit.o) - 0xe2 (size before relaxing) + .debug_str 0x0000000000000000 0x1bc init/main.o + 0x1fb (size before relaxing) + .debug_str 0x00000000000001bc 0xabc kernel/kernel.o + 0x230a (size before relaxing) + .debug_str 0x0000000000000c78 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) + 0x48d (size before relaxing) + .debug_str 0x0000000000001879 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) + 0x5e4 (size before relaxing) + .debug_str 0x0000000000001ba6 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) + 0x4df (size before relaxing) + .debug_str 0x0000000000001ce0 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) + 0x3f8 (size before relaxing) + .debug_str 0x0000000000001eb3 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) + 0x38e (size before relaxing) + .debug_str 0x0000000000001faa 0x89 lib/lib.a(ctype.o) + 0xb2 (size before relaxing) + .debug_str 0x0000000000002033 0x8 lib/lib.a(_exit.o) + 0xde (size before relaxing) .debug_str 0x0000000000000000 0x8 lib/lib.a(open.o) - 0xf2 (size before relaxing) - .debug_str 0x0000000000001fc7 0x8 lib/lib.a(close.o) - 0xe4 (size before relaxing) - .debug_str 0x0000000000001fcf 0x8 lib/lib.a(errno.o) - 0x93 (size before relaxing) + 0xee (size before relaxing) + .debug_str 0x000000000000203b 0x8 lib/lib.a(close.o) + 0xe0 (size before relaxing) + .debug_str 0x0000000000002043 0x8 lib/lib.a(errno.o) + 0x8f (size before relaxing) .debug_str 0x0000000000000000 0x8 lib/lib.a(write.o) - 0xf0 (size before relaxing) - .debug_str 0x0000000000001fd7 0x6 lib/lib.a(dup.o) - 0xdc (size before relaxing) - .debug_str 0x0000000000001fdd 0x9 lib/lib.a(setsid.o) 0xec (size before relaxing) - .debug_str 0x0000000000001fe6 0x9 lib/lib.a(execve.o) - 0xf5 (size before relaxing) - .debug_str 0x0000000000001fef 0x11 lib/lib.a(wait.o) - 0x102 (size before relaxing) - .debug_str 0x0000000000002000 0x93 lib/lib.a(string.o) - 0x147 (size before relaxing) + .debug_str 0x000000000000204b 0x6 lib/lib.a(dup.o) + 0xd8 (size before relaxing) + .debug_str 0x0000000000002051 0x9 lib/lib.a(setsid.o) + 0xe8 (size before relaxing) + .debug_str 0x000000000000205a 0x9 lib/lib.a(execve.o) + 0xf1 (size before relaxing) + .debug_str 0x0000000000002063 0x11 lib/lib.a(wait.o) + 0xfe (size before relaxing) + .debug_str 0x0000000000002074 0x93 lib/lib.a(string.o) + 0x143 (size before relaxing) + .debug_str 0x0000000000002107 0x77 lib/lib.a(malloc.o) + 0x15e (size before relaxing) .debug_loc *(.debug_loc) diff --git a/linux-0.11-lab/cur/linux/fs/Makefile b/linux-0.11-lab/cur/linux/fs/Makefile index 970acd4..b2f4186 100644 --- a/linux-0.11-lab/cur/linux/fs/Makefile +++ b/linux-0.11-lab/cur/linux/fs/Makefile @@ -18,7 +18,7 @@ CPP =gcc -E -nostdinc -I../include OBJS= open.o read_write.o inode.o file_table.o buffer.o super.o \ block_dev.o char_dev.o file_dev.o stat.o exec.o pipe.o namei.o \ - bitmap.o fcntl.o ioctl.o truncate.o select.o + bitmap.o fcntl.o ioctl.o truncate.o select.o mysystem_call.o fs.o: $(OBJS) $(LD) -r -o fs.o $(OBJS) diff --git a/linux-0.11-lab/cur/linux/fs/bitmap.o b/linux-0.11-lab/cur/linux/fs/bitmap.o index 501d3c5..e2ff6c8 100644 Binary files a/linux-0.11-lab/cur/linux/fs/bitmap.o and b/linux-0.11-lab/cur/linux/fs/bitmap.o differ diff --git a/linux-0.11-lab/cur/linux/fs/block_dev.o b/linux-0.11-lab/cur/linux/fs/block_dev.o index e5e9334..cdf7331 100644 Binary files a/linux-0.11-lab/cur/linux/fs/block_dev.o and b/linux-0.11-lab/cur/linux/fs/block_dev.o differ diff --git a/linux-0.11-lab/cur/linux/fs/buffer.o b/linux-0.11-lab/cur/linux/fs/buffer.o index d59a1f3..fc558af 100644 Binary files a/linux-0.11-lab/cur/linux/fs/buffer.o and b/linux-0.11-lab/cur/linux/fs/buffer.o differ diff --git a/linux-0.11-lab/cur/linux/fs/char_dev.o b/linux-0.11-lab/cur/linux/fs/char_dev.o index 2977060..c7f8402 100644 Binary files a/linux-0.11-lab/cur/linux/fs/char_dev.o and b/linux-0.11-lab/cur/linux/fs/char_dev.o differ diff --git a/linux-0.11-lab/cur/linux/fs/exec.o b/linux-0.11-lab/cur/linux/fs/exec.o index 1619956..01a6ee3 100644 Binary files a/linux-0.11-lab/cur/linux/fs/exec.o and b/linux-0.11-lab/cur/linux/fs/exec.o differ diff --git a/linux-0.11-lab/cur/linux/fs/fcntl.o b/linux-0.11-lab/cur/linux/fs/fcntl.o index 17a6eca..c82831d 100644 Binary files a/linux-0.11-lab/cur/linux/fs/fcntl.o and b/linux-0.11-lab/cur/linux/fs/fcntl.o differ diff --git a/linux-0.11-lab/cur/linux/fs/file_dev.o b/linux-0.11-lab/cur/linux/fs/file_dev.o index e1ba8a5..0882992 100644 Binary files a/linux-0.11-lab/cur/linux/fs/file_dev.o and b/linux-0.11-lab/cur/linux/fs/file_dev.o differ diff --git a/linux-0.11-lab/cur/linux/fs/file_table.o b/linux-0.11-lab/cur/linux/fs/file_table.o index 422bcb3..e0db34e 100644 Binary files a/linux-0.11-lab/cur/linux/fs/file_table.o and b/linux-0.11-lab/cur/linux/fs/file_table.o differ diff --git a/linux-0.11-lab/cur/linux/fs/fs.o b/linux-0.11-lab/cur/linux/fs/fs.o index 86ce3ba..70b16bb 100644 Binary files a/linux-0.11-lab/cur/linux/fs/fs.o and b/linux-0.11-lab/cur/linux/fs/fs.o differ diff --git a/linux-0.11-lab/cur/linux/fs/inode.o b/linux-0.11-lab/cur/linux/fs/inode.o index dd67bfa..37ed3bd 100644 Binary files a/linux-0.11-lab/cur/linux/fs/inode.o and b/linux-0.11-lab/cur/linux/fs/inode.o differ diff --git a/linux-0.11-lab/cur/linux/fs/ioctl.o b/linux-0.11-lab/cur/linux/fs/ioctl.o index 1f1f33c..c5a5b15 100644 Binary files a/linux-0.11-lab/cur/linux/fs/ioctl.o and b/linux-0.11-lab/cur/linux/fs/ioctl.o differ diff --git a/linux-0.11-lab/cur/linux/fs/mysystem_call.c b/linux-0.11-lab/cur/linux/fs/mysystem_call.c new file mode 100644 index 0000000..1347b15 --- /dev/null +++ b/linux-0.11-lab/cur/linux/fs/mysystem_call.c @@ -0,0 +1,290 @@ +#define __LIBRARY__ +#include +#include +#include +#include +#include + +#include +#include +#include +#include + +#include + +#define BUF_MAX 4096 +#define DIRBUF 8192 +#define NAME_MAX 14 + +struct dirent { + long d_ino; + off_t d_off; + unsigned short d_reclen; + char d_name[NAME_MAX+1]; +}; + +/*参数count指定该缓冲区的大小*/ +int sys_getdents(unsigned int fd,struct linux_dirent *dirp,unsigned int count) +{ + if(!count)return -1;/*count is zero*/ + if(fd>=NR_OPEN)return -EINVAL;/*fd is over range*/ + + struct file *file; + struct m_inode * inode; + int ret; + struct buffer_head *hd; + struct dir_entry *de; + struct dirent * temp; + char * buf; + int desize,ldsize,i,ldi; + + file=current->filp[fd]; + if(!file)return ENOTDIR;/*the file is not exist or not file*/ + ldsize = sizeof(struct dirent); + desize = sizeof(struct dir_entry); + inode = file ->f_inode; + temp = (struct dirent *)malloc(ldsize);/* //the inter veriable */ + buf = (char*)malloc(ldsize); + + /*get the inode's bread*/ + hd = bread(inode->i_dev , inode->i_zone[0]); + + ldi=0; + ret=0; + + for (;reti_size;ret += desize){ + if (ldi >= count-ldsize) + break; /* full */ + de = (struct dir_entry *)(hd->b_data + ret);/* de is set to the current dir_entry */ + if (!de -> inode )/* to skip if there is no data in de */ + continue; + /*To write, copying current dirent, */ + temp->d_ino = de->inode; + temp->d_off = 0; + temp->d_reclen = ldsize; + strcpy(temp->d_name,de->name); + + + /* by put_fs_byte to write back data to the usr */ + memcpy(buf, temp, ldsize); + for (i=0;i < ldsize;i++){ + put_fs_byte(*(buf+i), ((char*)dirp)+i+ldi); + } + /* memcpy(temp, buf, ldsize); */ + ldi += ldsize; + } + return ldi; +} + + +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; + + if ((0xffff & eip[1]) != 0x000f) + 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)); + + /*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