compressed/head.s 에서 LC0: 코드 관련

erasmooth 2014.09.17 14:54 조회 수 : 1853

PIC 인 zImag에서 symbol relocation 관련해서 제가 이해하고 있는 것이 맞는지 확인하고 싶어서 이렇게 글을 다시 올립니다.


< 제 생각 >

아래 부분에서 __bss_start 와 _end 는 bss 영역으로 link 시 0x00000000 base로 fixup 이 됩니다.

이 주소가 그대로 사용된다면 RAM 물리주소가 0x0 이 아닌 0x50000000 같은 주소에서 시작하는 시스템에서는

초기 head.S 코드가 실행될 때는 주소 오류가 발생하겠죠.

그래서 분명 load-time relocation 이 되어야 할 듯한데 zImage 자체가 PIC(position independent) 로 생성되기 때문에

GOT(global offset table) 을 이용하여 relocation 이 될 거 같습니다.


그렇다면 아래 __bss_start와 _end 가 GOT entry로 등록되어 있고 load 시 그 pointer 값이 relocation 되는 게 맞나요?

분명 not_relocated 레이블로 빠지지 않는 경우 GOT update를 하는거 같은데 그게 이건지...


LC0: .word __bss_start
       .word _end
       .word zreladdr
         .word _start
         .word user_stack+4096
       .size LC0, . - LC0

번호 제목 글쓴이 날짜 조회 수
공지 [공지] 프로그래밍 관련 Q&A 게시판 입니다. woos 2016.04.09 22246
438 raw device에 random write를 보내고 싶습니다. ysh 2015.01.29 6268
437 커널 이미지가 올라가는 물리 메모리의 시작주소는 어디일까요? shepherd44 2015.01.07 1935
436 메모리 페이지 테이블에 관란 질문입니다.(TTBR0, TTBR1) 김영민 2014.12.16 2433
435 리눅스 커널 내부구조 소스 키보드 LED예제중 에러문제 천하무적주석 2014.12.11 1827
434 TX timestamp 관련 질문 정재훈 2014.11.04 2218
433 ioremap 관련해서 질문드립니다. [1] ysh 2014.10.29 2516
432 안녕하세요. 쓰레드에 관련하여 질문이 있습니다. 송창인 2014.10.22 1618
431 리눅스에서 지원하는 priority inheritance futex 에 대해서 질문입니다. CVE 2014.10.13 2327
430 mmap하여 read,write에 관한 질문입니다. [1] ysh 2014.10.08 2215
429 NAND ERASE 할 때 BLOCK 단위로 지우지 않는 방법 있을까요 ? [1] 최고운 2014.10.02 1813
428 atomic_read, atomic_add 시 interrupt disable, restore 가 필요한지.. [4] YYS 2014.10.02 3847
427 32bit 운영체제 resistor가 double형 변수처리하는 방법 구자경 2014.09.25 1576
426 안드로이드 포팅 질문드려요. [1] shepherd44 2014.09.18 2019
» compressed/head.s 에서 LC0: 코드 관련 [1] erasmooth 2014.09.17 1853
424 "코드로 알아보는 ARM 리눅스 커널" 책에서...(초판 2쇄) erasmooth 2014.09.17 2314
423 boot.bin 파일을 부팅하는 usb를 만들고 싶습니다. 마고 2014.09.16 1835
422 리눅스에서 local APIC 타이머 레지스터 사용 질문드립니다. it876 2014.09.15 2108
421 __mmap_switched 레이블 전후로 PIC 에서 절대주소로 전환되는 원리 [1] erasmooth 2014.09.12 1880
420 qemu에 커널을 올릴 때 에러가 발생합니다. [3] ysh 2014.09.10 2170
419 시스템콜 대해서 질문좀 드려봅니다. [6] 장비익덕 2014.08.14 3973
XE Login