프로그램 사용/gcc
링커 스크립트를 이용한 변수 값 할당
구차니
2026. 3. 13. 15:33
링커 스크립트에서 만든 변수를
c에서 끌어오려면 extern 을 해주면 계산된 값이 불려온다.
| SECTIONS { /* Starts at LOADER_ADDR. */ . = 0x80000; /* For AArch64, use . = 0x80000; */ __start = .; __text_start = .; .text : { KEEP(*(.text.boot)) *(.text) } . = ALIGN(4096); /* align to page size */ __text_end = .; __bss_start = .; .bss : { bss = .; *(.bss) } . = ALIGN(4096); /* align to page size */ __bss_end = .; __bss_size = __bss_end - __bss_start; __end = .; } : 저 변수들은 실제 저안에서 사용된다기 보다는 소스 코드(C 파일 혹은 어셈블리어 파일)상에서 사용되면서 의미가 부여된다. 저 변수들을 소스 코드상에서 불러 오려면 어떻게 해야 할까? 아래의 코드를 보자. extern unsgined char __text_start; uint8_t *text_start = &__text_start; + extern usigned int __bss_size; |