linker file(.ld) 에서 .bss .data에 대한 질문입니다.

finder77의 이미지

제가 알고 있기로는 .bss section 에는 초기화되지 않은 전역변수
.data section 에는 초기화된 전역변수가 위치하는 것으로 알고 있습니다. 그런데 지금 개발하고 있는 코드의
.map 파일을 확인해 본 결과 초기화된 변수는 .data section에
모두 들어가지만 초기화 되지 않은 변수중에 어떤 것들 역시
.bss 영역이 아닌 .data 영역에 위치합니다.

제가 모르는 다른 linking 규칙이 있는지 궁금합니다.
조언 부탁드립니다.

<컴파일 환경>
compiler : diab compiler 5.0a
Processor : coldfire

tiffang의 이미지

혹시 최적화기에 의해 초기화 되지 않은 변수가
결국 초기화된 변수가 된건 아닐까 하는 상상을 해봅니다..