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

发布于 2024-07-21 15:45:08 字数 422 浏览 5 评论 0原文

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

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

 % file ./a.out
 ./a.out:        ELF-32 executable object file - IA64

这就是我所拥有的:

 % uname -s -r -v -m
 HP-UX B.11.31 U ia64

那么 ia64-hpux 的 64 位目标三元组是什么

I want to compile GCC and binutils which would produce 64bit executables.
From GNU documents I've found out that it must look like ia64-*-hpux*.

For ia64-hp-hpux11*, the default output type is 32bit:

 % file ./a.out
 ./a.out:        ELF-32 executable object file - IA64

That is what I have:

 % uname -s -r -v -m
 HP-UX B.11.31 U ia64

So what woluld be 64bit target triplet for ia64-hpux

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

甜中书 2024-07-28 15:45:08

来自 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.

因此您需要将 '-mlp64' 传递给 GCC。 我不确定是否有一个单独的三元组可以自动打开此功能,但您始终可以在编译时添加自己的 CFLAGS。

From the GCC manual:

-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.

So you need to pass '-mlp64' to GCC. I'm not sure if there is a separate triplet that would automatically turn this on, but you can always add your own CFLAGS when compiling.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文