以下是用nds32be-elf-nm 所產生出nm檔的片段.
Code:
10043010 000000fa T mm_lba_write
100430d0 00000040 T washer_get_clean_lb
10043108 00000056 T calculate_max_dirty_cache_lb
1004315c 000000ae T find_out_max_cnt_eidx_4all
1004320c 000000d8 T find_out_max_cnt_eidx_in_lb
100432dc 000001ac T flush_eidx_pages_in_cache
1004346c 000000bc T move_lmpb_to_d_entry
10043520 00000068 T logger_bg_flush_page_cache
10043578 00000042 T logger_clear_page_cache
100435a8 000001b8 T clean_up_cache
10043734 0000025c T cleanup_with_spare_lb
10043968 00000236 T fill_lmpb
10043b74 0000044e T wlsa_write
10043f54 T _end_block12
第一欄是function 的address, 第二欄是function size.
但是這個 size 欄位似乎有問題, 因為address + size != next address.
gcc compiler 最佳化option 是 Os, linker option 則加上mrelax .
但是如果把mrelax 拿掉, 其nm檔中的address 及 size 欄位就正確了.
似乎是mrelax會影響nm檔的計算??