#include #include int x ; //__attribute__((section("section_name"))); //__attribute__((section("CODE_f"))) int f(char *s) { x = atoi(s); } extern char __text_start; extern char __text_end; extern char __bss_start; extern char __bss_end; //__attribute__((section("CODE_main"))) int main(int argc, char **argv) { int var; if (argc == 2) f(argv[1]); printf("> text: %p-%p\n", &__text_start, &__text_end); printf("> bss: %p-%p\n", &__bss_start, &__bss_end); printf("> var: %p\n", &var); printf("> x: %d\n", x); printf("> D: %lx\n", ((void *) f) - ((void *) main)); printf("> f: %lx\n", ((long int) f)); printf("> main: %lx\n", ((long int) main)); }