int | |
bar () | |
{ | |
return 3; | |
} | |
#pragma weak hide_original_foo | |
int | |
hide_original_foo () | |
{ | |
return 1 + bar (); | |
} | |
#pragma weak hide_old_foo | |
int | |
hide_old_foo () | |
{ | |
return 10 + bar(); | |
} | |
#pragma weak hide_old_foo1 | |
int | |
hide_old_foo1 () | |
{ | |
return 100 + bar (); | |
} | |
#pragma weak hide_new_foo | |
int | |
hide_new_foo () | |
{ | |
return 1000 + bar (); | |
} | |
__asm__(".symver hide_original_foo,show_foo@"); | |
__asm__(".symver hide_old_foo,show_foo@VERS_1.1"); | |
__asm__(".symver hide_old_foo1,show_foo@VERS_1.2"); | |
__asm__(".symver hide_new_foo,show_foo@@VERS_2.0"); |