Skip to content

LTO related task #1701

@zhouguangyuan0718

Description

@zhouguangyuan0718

Progress

With #1694, for esp32/hello demo:

elf size bin size
base 28972 2320
lto 27956 1408

The difference

no these symbols in lto:_kill,_lseek,_open,_read,_sbrk,_write,pthread_setcancelstate,strcmp,__getreent, __sf, strcmp, _open, _close, _read, _write, _lseek, _sbrk, _fstat, _getpid, _kill, pthread_setcancelstate, _impure_data, _impure_ptr, __retarget_lock_init, __retarget_lock_init_recursive, __retarget_lock_close, __retarget_lock_close_recursive, __retarget_lock_acquire, __retarget_lock_release, __retarget_lock_try_acquire, __retarget_lock_try_acquire_recursive, __lock___sfp_recursive_mutex, __lock___malloc_recursive_mutex, __lock___env_recursive_mutex, __lock___tz_mutex, __lock___dd_hash_mutex, __lock___arc4random_mutex, __lock___at_quick_exit_mutex

differences of symbols:

Details
符号 base(type/bind/size) lto(type/bind/size)
__atexit OBJECT/GLOBAL/4 OBJECT/GLOBAL/4
__atexit0 OBJECT/GLOBAL/140 OBJECT/LOCAL/140
__atexit_recursive_mutex OBJECT/GLOBAL/4 OBJECT/GLOBAL/4
__bss_start NOTYPE/GLOBAL/0 NOTYPE/GLOBAL/0
__call_exitprocs FUNC/GLOBAL/183 FUNC/GLOBAL/183
__clibrary_init FUNC/GLOBAL/37 FUNC/GLOBAL/37
__env OBJECT/GLOBAL/4 OBJECT/LOCAL/4
__getreent FUNC/WEAK/8 -
__llgo_argc OBJECT/GLOBAL/4 OBJECT/LOCAL/4
__llgo_argv OBJECT/GLOBAL/4 OBJECT/LOCAL/4
__lock___arc4random_mutex OBJECT/GLOBAL/1 -
__lock___at_quick_exit_mutex OBJECT/GLOBAL/1 -
__lock___atexit_recursive_mutex OBJECT/GLOBAL/1 OBJECT/GLOBAL/1
__lock___dd_hash_mutex OBJECT/GLOBAL/1 -
__lock___env_recursive_mutex OBJECT/GLOBAL/1 -
__lock___malloc_recursive_mutex OBJECT/GLOBAL/1 -
__lock___sfp_recursive_mutex OBJECT/GLOBAL/1 -
__lock___tz_mutex OBJECT/GLOBAL/1 -
__memmap_init NOTYPE/WEAK/0 NOTYPE/WEAK/0
__memset_aux NOTYPE/LOCAL/0 NOTYPE/LOCAL/0
__on_exit_args NOTYPE/WEAK/0 NOTYPE/WEAK/0
__progname OBJECT/GLOBAL/4 OBJECT/LOCAL/4
__register_exitproc FUNC/GLOBAL/116 FUNC/GLOBAL/116
__retarget_lock_acquire FUNC/GLOBAL/5 -
__retarget_lock_acquire_recursive FUNC/GLOBAL/5 FUNC/GLOBAL/5
__retarget_lock_close FUNC/GLOBAL/5 -
__retarget_lock_close_recursive FUNC/GLOBAL/5 -
__retarget_lock_init FUNC/GLOBAL/5 -
__retarget_lock_init_recursive FUNC/GLOBAL/5 -
__retarget_lock_release FUNC/GLOBAL/5 -
__retarget_lock_release_recursive FUNC/GLOBAL/5 FUNC/GLOBAL/5
__retarget_lock_try_acquire FUNC/GLOBAL/7 -
__retarget_lock_try_acquire_recursive FUNC/GLOBAL/7 -
__semihosting_init NOTYPE/WEAK/0 NOTYPE/WEAK/0
__sf OBJECT/GLOBAL/312 -
__sim_call FUNC/GLOBAL/0 FUNC/GLOBAL/0
__stack NOTYPE/GLOBAL/0 NOTYPE/GLOBAL/0
__stack_chk_guard - OBJECT/GLOBAL/4
__stack_chk_init - FUNC/LOCAL/20
__stdio_exit_handler OBJECT/GLOBAL/4 OBJECT/GLOBAL/4
_close FUNC/WEAK/7 -
_data_start NOTYPE/GLOBAL/0 NOTYPE/GLOBAL/0
_ebss NOTYPE/GLOBAL/0 NOTYPE/GLOBAL/0
_edata NOTYPE/GLOBAL/0 NOTYPE/GLOBAL/0
_end NOTYPE/GLOBAL/0 NOTYPE/GLOBAL/0
_exit FUNC/WEAK/25 FUNC/WEAK/25
_fini NOTYPE/WEAK/0 NOTYPE/WEAK/0
_fstat FUNC/WEAK/21 -
_getpid FUNC/WEAK/7 -
_globals_end NOTYPE/GLOBAL/0 NOTYPE/GLOBAL/0
_globals_start NOTYPE/GLOBAL/0 NOTYPE/GLOBAL/0
_heapEnd NOTYPE/GLOBAL/0 NOTYPE/GLOBAL/0
_heapStart NOTYPE/GLOBAL/0 NOTYPE/GLOBAL/0
_impure_data OBJECT/GLOBAL/240 -
_impure_ptr OBJECT/GLOBAL/4 -
_init NOTYPE/WEAK/0 NOTYPE/WEAK/0
_kill FUNC/WEAK/7 -
_lseek FUNC/WEAK/7 -
_open FUNC/WEAK/57 -
_read FUNC/WEAK/7 -
_sbrk FUNC/WEAK/24 -
_sbrk.heap_end OBJECT/LOCAL/4 -
_sbss NOTYPE/GLOBAL/0 NOTYPE/GLOBAL/0
_stack_end NOTYPE/GLOBAL/0 NOTYPE/GLOBAL/0
_stack_top NOTYPE/GLOBAL/0 NOTYPE/GLOBAL/0
_start NOTYPE/GLOBAL/105 NOTYPE/GLOBAL/105
_start_argc NOTYPE/WEAK/0 NOTYPE/WEAK/0
_start_argv NOTYPE/WEAK/0 NOTYPE/WEAK/0
_start_envp NOTYPE/WEAK/0 NOTYPE/WEAK/0
_start_null NOTYPE/LOCAL/0 NOTYPE/LOCAL/0
_write FUNC/WEAK/41 -
atexit FUNC/GLOBAL/21 FUNC/GLOBAL/21
board_init FUNC/GLOBAL/16 FUNC/GLOBAL/16
board_uart_write_char FUNC/GLOBAL/40 FUNC/GLOBAL/40
command-line-arguments.init FUNC/GLOBAL/19 FUNC/GLOBAL/19
command-line-arguments.init$guard OBJECT/GLOBAL/1 OBJECT/LOCAL/1
command-line-arguments.main FUNC/GLOBAL/27 FUNC/GLOBAL/27
command-line-arguments.myprint FUNC/GLOBAL/34 FUNC/LOCAL/34
end NOTYPE/GLOBAL/0 NOTYPE/GLOBAL/0
environ OBJECT/GLOBAL/4 OBJECT/GLOBAL/4
exit FUNC/GLOBAL/32 FUNC/GLOBAL/32
main FUNC/GLOBAL/35 FUNC/GLOBAL/35
memset FUNC/GLOBAL/87 FUNC/GLOBAL/87
pthread_setcancelstate FUNC/WEAK/7 -
runtime.init FUNC/WEAK/5 FUNC/LOCAL/5
sleep FUNC/GLOBAL/0 FUNC/GLOBAL/0
strcmp FUNC/GLOBAL/315 -
strlen FUNC/GLOBAL/110 FUNC/GLOBAL/110
usleep FUNC/GLOBAL/0 FUNC/GLOBAL/0

Metadata

Metadata

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions