링커 스크립트에서 PROVIDE(__KERNEL_BEGIN__ = .);을 정의했습니다. 이 작동하지 않음 다음은 (잘못된 주소를 제공), extern uint32_t __KERNEL_BEGIN__[];
:하지만 주소는 액세스 할 수 있습니다 extern uint32_t * __KERNEL_BEGIN__;
내가 어셈블리를 바라 보았다. 첫 번째 방법
앞에서 설명한 것처럼 어셈블리 코드의 extern WinAPI 함수에는 [email protected]과 같은 이름이 있습니다. @4 부분의 의미는 무엇이며 @ 다음에 사용할 번호를 결정하는 방법은 무엇입니까? 저는 이것이 우리가 연결하는 DLL과 관련이 있다는 것을 알고 있습니다. 그러나 많은 경우에 @ 다음에 사용할 번호를 알지 못해서 많은 불쾌한 un
일부 라이브 계측을 연습하려고하고 있는데 링커 옵션 -call-nop = prefix-nop가 있음을 알았지 만 일부 제한이 있습니다 GOT 함수에서만 작동합니다 (GOT 함수를 생성하는 컴파일러를 강제하는 방법을 모르며 성능상의 이유가 있는지 확실하지 않습니다.) 또한 -call-nop = *는 1 바이트 이상을 채울 수 없습니다. 이상적으로, 특정 양의
lto 연결 후 llvm IR을 얻을 수있는 방법이 있습니까? $ clang -flto -O2 a.c main.c -fuse-ld=gold -v -save-temps 그래서 내가 파일 a.c 및 파일 main.c이 (IR 또는 monlithic.o) 하나 monlithic.bc에 연결되어있는 경우 LLVM의 IR을 얻고 싶은 예를 들어 나는 다음 줄을 가지
원래 두 개의 다른 어셈블러가 작성한 오브젝트 파일을 링크하려고합니다. 우리는 68332 프로세서 용의 오래된 MRI 어셈블러를 사용하여 객체 파일로 컴파일 된 일부 기존 어셈블리 코드를 가지고 있습니다. 우리는 GNU Binutils m68k v2.24로 새로운 응용 프로그램을 개발 중입니다. 변경하지 않고 이전 어셈블러에서 작성한 원래 오브젝트 파일을