linker-scripts

    0

    2답변

    OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm") OUTPUT_ARCH(arm) ENTRY(_ram_entry) SECTIONS { . = 0xA0008000; . = ALIGN(4); .text : { *(.text) } . = AL

    3

    1답변

    저는 ARM 임베디드 타겟과 일반 X86 (Linux) 머신에서 실행하는 것보다 소프트웨어 용 모듈러 빌드 시스템을 사용하고 있습니다. GNU toolchain으로 컴파일 중이므로 ld을 사용하여 연결합니다. 모듈 중 하나는 링커 스크립트 트릭을 사용하여 '등록 된'객체의 배열을 어셈블합니다.가 #define RegObject(name, arg1, arg2

    0

    1답변

    커널의 어셈블리 파일에 대해 ld 명령을 linux에서 사용하려고합니다. grub로 부팅하려면 1Mb 주소 뒤에 있어야합니다. 그래서 내 링크 스크립트는 주소 0x00100000에 텍스트가 있습니다. 여기 내가 사용 링커 스크립트입니다 : SECTIONS { .text 0x00100000 :{ *(.text) }

    3

    1답변

    저는 TI Stellaris LM3S1968과 협력하고 있습니다. 이 MCU에는 ARM Cortex-M3이있다. Windows 7이 설치된 랩톱에 VM을 설치했으며 GNU Tools for ARM Embedded Processors을 설치했습니다. 그런 다음 Stellaris Flash Programmer, GUI and command line을 설치했습니

    2

    2답변

    : 내가에서 만든 라이브러리 libxyz.a가 있다고 가정 : /* main.c */ int main(void) { int a; } 컴파일과 함께 보관 : gcc -c main.c -o abc.o && ar cr libxyz.a abc.o 정확하게 예상되는 위치에 abc.o를 삽입하려면 어떻게해야합니까? 나는 그런 방법으로 그것을 처리

    5

    1답변

    안녕하세요, 나는이 코드 "__exidx_start = .;"이 위치 카운터 "."의 값에 라벨 값을 설정하는 링커 스크립트를 가지고 있습니다. 이 레이블은 동일한 링커 스크립트 내에서 사용되지 않습니다. 첫 번째 레이블 아래에 유사한 레이블 쌍이 정의되어 있으며 "__exidx_end = .;"과 같은 방식으로 정의되어 있습니다. 이 두 라벨은 .text

    8

    1답변

    링커 스크립트에서 ALIGN 키워드는 어떤 역할을합니까? 나는 링커 스크립트에 관한 많은 튜토리얼을 읽었지만 실제로는 정렬이 무엇인지 이해할 수 없다. 어느 누구도 간단히 설명 할 수 있습니까? 감사!

    1

    1답변

    저는 512 바이트의 부팅 가능한 프로그램을 작성하고 있습니다. 512 바이트 프로그램 이미지의 마지막 2 바이트에 0xAA55를 써야합니다. 그래서 나는 그것을했다. 이제 제 링커 스크립트는 매우 간단해야합니다. 이 구문이 무엇을 의미하는지 궁금했습니다. .foo : { *(.*) } 예를 들어 설명했습니다. 아무 .foo 섹션은 없으며, 그 전에,이

    1

    1답변

    라이브러리를 연결할 때 -rpath는 동적 라이브러리의 주소를 ld로 전달하는 데 사용됩니다. 내 질문에 만약 내가 LD_LIBRARY_PATH에 주소를 설정, 내 링크 과정에서 여전히 -rpath 플래그가 필요합니까?

    2

    1답변

    링커 스크립트에서 위치 카운터 작업을 이해하고 있다고 생각했지만 생각하지 않았습니다. 방금 내가 이해 한 것을 확인하기위한 간단한 테스트를했습니다. 라이브러리 호출없이 간단한 c 프로그램을 작성하고 gcc로 컴파일했다. 그런 다음 위치 카운터를 처음에 값으로 설정 한 링커 스크립트를 사용하여 링크했습니다. 다음은 링커 스크립트 내가 그것을 실행하지만, 단지