1
일부 섹션에 대해 정렬을 지정하고 싶습니다. ld 2.20.0
를 들어 다음과 같은 접근 방식은 작동합니다골드 링커 : 섹션 정렬 지정
다음 정렬되어야만을 섹션을 포함하는 링커 스크립트, 예컨대 :
SECTIONS { .data ALIGN(0x40): { *(.data) } .text ALIGN(0x40): { *(.text) } .plt ALIGN(0x10): { *(.plt) } }
- 을 만들와 연결 :
-rpath-link=/path/to/LinkerScript.ld /path/to/LinkerScript.ld
예를 rpath-link에 스크립트를 포함시키고 오브젝트 파일 중 하나로 전달하십시오.
gold 2.23.1
를 사용하여 동일한 방법으로 링크 할 때
이제
이 스크립트는이 오류와 함께 거부 :
LinkerScript.ld: SECTIONS seen after other input files; try -T/--script
그래서 금하지만, 완전한 링커 스크립트를 지정하는 저를 원한다 나는 단지 두 가지 속성 만 바꾸고 싶다. 이것이 가능한가?
은 내가 이미 시도 :
- 는
-T
옵션과 함께 스크립트를 전달. 이로 인해 시작할 수없는 깨진 실행 파일이 생성됩니다. 위의 내용은 기존 스크립트의 "주석"에 불과하지만-T
은 완전한 링커 스크립트 만 허용하기 때문에이 사실을 이해합니다. -T
옵션을 사용하여 스크립트를ld 2.20.0
으로 전달할 때 일부 섹션이 지정되지 않았기 때문에 링크가 실패합니다. 필자의 사용 사례를위한 "완전한"링커 스크립트는 아닙니다.- 그래서 완전한 링커 스크립트를 얻으려고했습니다.
ld --verbose
은 기본 링커 스크립트를 인쇄합니다.gold
에 의해 이해되지 않는 두 개의 기호를 제거해야하고 이후에-T/path/to/LinkerScript.ld
옵션으로 생성 된 실행 파일은 더 이상 작동하지 않습니다. - 불행히도
gold
에는 기본 링커 스크립트를 표시하는 옵션이 없습니다 (어떤 것도 사용하지 않습니다). - 맨 페이지는 매개 변수로 위의 경우의 정렬을 변경하는 방법을 지정하지 않습니다.
도움이 될 것입니다.