GCC - 用于HP-UX的目标三元组

Ale*_*tov 2 gcc compilation hp-ux

我想编译生成64位可执行文件的GCC和binutils.从GNU文档我发现它必须看起来像ia64 - * - hpux*.

对于ia64-hp-hpux11*,默认输出类型为32位:

 % file ./a.out
 ./a.out:        ELF-32 executable object file - IA64
Run Code Online (Sandbox Code Playgroud)

这就是我所拥有的:

 % uname -s -r -v -m
 HP-UX B.11.31 U ia64
Run Code Online (Sandbox Code Playgroud)

那么对于ia64-hpux来说,什么是64位目标三元组

Edu*_*anu 7

从GCC手册:

-milp32
-mlp64
    Generate code for a 32-bit or 64-bit environment. The 32-bit environment
sets int, long and pointer to 32 bits. The 64-bit environment sets int to 32
bits and long and pointer to 64 bits. These are HP-UX specific flags.
Run Code Online (Sandbox Code Playgroud)

所以你需要将'-mlp64'传递给GCC.我不确定是否有一个单独的三元组会自动打开它,但你可以在编译时添加自己的CFLAGS.