2014-02-06 6 views

답변

0

.section 이름 및/또는 플래그 섹션을 정의하기위한 지침을 것 같다 GDB '정보 파일'또는 어떤 차이를 찾을 수 없습니다. . 데이터는 초기화 된 데이터에 대해 미리 정의 된 섹션입니다.

이것은 단지 추측이지만, .section .data는 차례로 두 섹션이 될 수 있습니다. 첫 번째 섹션은 플래그가없고 내용이없는 이름이 지정되지 않으며, 다른 섹션은 .data 섹션입니다.

+0

과 같은 작업을 수행하는 경우 소스에서 결론 지었다. –

0

왜 대문자입니까?

어셈블리 지시어에 따라 사례를 구분을 것 같다 :

  • 빠른 컴파일 테스트
  • docs saying "이름의 나머지 부분은 일반적으로 낮은 경우, 문자입니다." TC_CASE_SENSITIVEgit grep 말한다
  • 모든 아치의 경우와 정의되지 않은 경우에는 binutils에 metag 제외하고는 모두 지침과 지시에 TOLOWER를 사용 read.c
    • 에서 소스의
    • 내 해석이 2.25

지금은 .data.section .data입니다.

문서

docs for .section는 말 :

는이 지시어는 실제로 임의라는 이름의 섹션을 지원 대상에 대해 지원됩니다 a.out 대상에서, 예를 들어, 표준 a.out 섹션 이름을 사용하더라도 허용되지 않습니다. 당신이

.section name [, "flags"[, @type[,flag_specific_arguments]]] 

실증 인수에 테스트

빠른 테스트와 함께 섹션 특성을 제어 할 사용자 정의 플래그를 전달할 수

때문에이 적은 휴대용 더 구성 할 수 있습니다 GAS 2.24 ELF Linux x86-64는 간단한 입력에 대해 동일한 출력을 제공함을 보여줍니다.

aS :

.data 
    i: .int 1 

b.S :

.section .data 
    i: .int 1 

비교 :

as -o a.o a.S 
as -o b.o b.S 
cmp a.o b.o 
echo $? 

소스 코드 ELF에 대한

, .section이이 config/obj-elf.c#obj_elf_section()

.data에 의해 처리는 read.c#s_data에 의해 처리됩니다.

TODO가 : 인수없이 .section .data이 objdump`,`.section .data`는`.data`라는 이름의 하나의 섹션을 만들어`에 따르면 .data 여부