问题标签 [xlc]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
668 浏览

c++ - xlC 警告,“NOSTRICT 选项有可能改变程序的语义”

我正在 GCC Compile Farm 和 GCC119 上进行测试。GCC119 是带有 xlC 13.1 编译器的 AIX 机器。我对平台和编译器知之甚少。

当我在 xlC 下构建时:

编译器的 IBM 手册位于Compiler Reference v13.1。它没有提到STRICTNOSTRICT。基于关键字搜索的最接近的是对__C99_RESTRICT何时-qkeyword=restrict生效的讨论。此外,没有手册页:

当我编译时-qflag=w警告消失,所以我可以使用的信息更少。(库和程序用 干净地编译-qflag=w)。

我有两个问题。首先,xlC 到底在抱怨什么?其次,是否可以选择让 xlC 告诉我它抱怨的源文件和行号?

0 投票
3 回答
223 浏览

c - xlC 和类型“vector unsigned int”和“int”之间的操作是不允许的

我正在尝试在 PPC64-LE 上编译源文件。我正在使用 xlC 编译器并且编译失败。GCC 接受该程序,所以我不确定问题的原因是什么。

这是命令行:

这是编译错误:

这是源文件的相关部分。源文件是另一个问题的简化案例,它可以在 GitHub 上找到

__builtin_crypto_vcipher是内置的 GCC,IBM 声明xlC 支持它

第 118 行与上面显示的所有其他行一样,但它不会触发警告或错误。

有什么问题,我该如何解决?

0 投票
1 回答
92 浏览

c - 13.1.4 之前的 LXVD2X 有内置的 XL C 吗?

我正在使用内置的 C/C++ 工作。我需要将lvd2x未对齐的数据加载到 VMX 寄存器中的指令。它看起来lvd2x在 Power7 和 Power8 处理器上可用。

GCC 提供了vec_vsx_ld内置的执行任务。根据IBM XL C/C++ for Linux, V13.1.5第 4 章,版本 13.1.4 中添加的增强功能:

新的内置功能

支持以下 GCC 矢量内置函数:

  • vec_vsx_ld
  • ...

代码是为 XL C 保护的,所以我不需要 GCC 的内置程序。问题是,我找不到 XL C 的内置功能lvd2x

GCC 编译场为 AIX 提供 XL C v13.1.3(5725-C72、5765-J07)。13.1.4 之前的 LXVD2X 有内置的 XL C 吗?如果有内置的,那么它是什么?如果没有,那么我们如何访问指令?

(我试图避免 ASM 和内联 ASM。我对编写它的处理器了解不够。我也有过相当不愉快的经历,我不想通过尝试使用 asm 来扩大痛苦)。

0 投票
1 回答
457 浏览

c - 参数类型对于此链接类型的函数无效

我正在使用 IBM 的 XL C 编译器在 AIX 上工作。我遇到了一个编译错误,我不确定如何继续:

相关源代码如下所示。完整的源代码可在fips197-p8.c. 源代码是 Power 8__cipher__vcipherlast. 它有一个主函数和几个 C 函数。Effectively 是 Power 8 AES 的最小完整工作示例。

编译器版本如下所示。我们不控制编译器,所以这就是我们所拥有的:

vec_xl在 little-endian 上很好。vec_xl因为 big-endian 给我们带来了麻烦。

有什么问题,我该如何解决?

0 投票
1 回答
296 浏览

optimization - IBM XL C/C++ 等效于#pragma GCC 优化

我们在 PowerPC 平台上使用 IBM XL C/C++ 为源文件生成错误的代码。-O3它的表面是一个挂起,看起来一个特定的循环没有被打破。

该问题仅在 XL C/C++ 下出现。我们的测试制度表明源文件没有未定义的行为、内存错误和其他勘误。我们也不会从编译器收到源文件的严格/不严格警告。

我们想编译源文件-O2而不是-O3. 我们想在源文件中添加工具,如编译指示,以便编译器可以适当地保护它。该仪器允许其他人连接其他构建系统,如 Cmake 和 Autotools,并且事情将为他们“正常工作”。(必要的信息在源代码中而不是我们的 makefile 中可用)。

编译器的 IBM 手册位于IBM XL C/C++ for AIX, V13.1,但该死的,如果我能找到该选项。

IBM XL C/C++ 相当于#pragma GCC optimize什么?我们如何检测源代码以告诉 XL C/C++ 使用-O2而不是-O3?

0 投票
2 回答
515 浏览

c++ - CMAKE AIX xlc 编译器没有被使用

我正在尝试将 xlc 编译器用于 AIX 上的 cpp 代码。我想要我的 C 代码的 cc 编译器

输出:

但是当我运行 make (在上面的输出之后),它似乎正在使用 gcc 编译器。

我尝试在我的 CMakeLists.txt 文件中添加该集

我还导出了环境变量:

有什么想法吗?

/usr/vac/bin 目录中没有 cc 或 xlc 的链接。

当我在 shrxlm 目录中 grep 查找 gcc 和 xlc 时,我只能找到 gcc。为什么 cmake 不尊重我对 xlc 编译器的要求?

0 投票
1 回答
118 浏览

c++ - IBM XL C/C++ 是否提供 init_priority?

我们使用 C++ 静态初始化顺序来控制 C++ 库中多个对象的构造。GCC 提供init_priority,Microsoft 提供init_seg()

我正在寻找与 IBM 的 XL C/C++ 编译器类似的东西,但我的搜索结果没有显示有用的结果。编译器可在 Linux 和 AIX 上运行。显然 Linux 提供了该功能,但我不确定 AIX 运行时支持。

我的第一个问题是,AIX 平台是否支持初始化优先级?

我的第二个问题是,IBM 的 XL C/C++ 是否提供了一种通过源代码控制它的方法?

0 投票
0 回答
442 浏览

apache - 使用 xlc 在 AIX 7.1 上安装 Apache httpd 2.4.x

我正在使用 xlc 编译器在 AIX 7.1 机器上安装 apache httpd 2.4.x。制作成功。但是 make install 失败并出现以下错误

在模块中安装 在 aaa 中安装 rm -f /home/u980868/apache/kiran/httpd-kiran/modules/mod_authn_file.so /home/u980868/apache/kiran/httpd-2.4.25/srclib/apr/libtool - -silent --mode=install install mod_authn_file.la /home/u980868/apache/kiran/httpd-kiran/modules/ 发现:坏状态-- /home/u980868/apache/kiran/httpd-kiran/modules/mod_authn_file.so安装:找不到文件 mod_authn_file.so。make: 1254-004 最后一条命令的错误代码是 2. 停止。make: 1254-004 最后一条命令的错误代码是 1. 停止。make: 1254-004 最后一条命令的错误代码是 1. 停止。make: 1254-004 最后一条命令的错误代码是 1. 停止。

有人可以帮忙吗?

0 投票
0 回答
425 浏览

apache - 符号 __mcount 未从依赖模块 /usr/lib/libC.a[shr_64.o] 导出

我已经使用 xlc 编译器在 AIX 7.1 上编译了我的代码。编译成功,我已经创建了一个共享库,但是当我尝试在 Apache 上加载该库时,出现以下错误。

httpd:$APACHE_HOME/conf/httpd.conf 第 54 行的语法错误:无法将 $APACHE_HOME/modules/mod_application.so 加载到服务器中:

0509-130 $LIB_PATH/libkiran.so 的符号解析失败,因为:

0509-136 符号 __mcount(编号 119)未从依赖模块 /usr/lib/libC.a[shr_64.o] 导出。

0509-022 无法加载模块 $APACHE_HOME/modules/mod_application.so。

0509-026 系统错误:无法运行格式无效的文件。

0509-192 使用“dump -Tv”命令检查 .loader 部分符号。

0 投票
1 回答
146 浏览

c++ - IBM XL C/C++ 编译器中的“1587-163”是什么意思

我使用 IBM XL C/C++ 编译器 v13.1.6 (13.01.0006.0000) 编译了一些代码。我的程序以打印消息结束

没有任何额外信息。

这是什么意思?