【问题标题】:Building shared libc.so for System V ABI under GNU ABI在 GNU ABI 下为 System V ABI 构建共享 libc.so
【发布时间】:2016-12-20 16:02:32
【问题描述】:

我需要从源代码为 GNU ABI 系统下的 System V ABI 系统构建共享 libc.so。如果它很重要,我正在尝试构建 glibc2.16。

我的 gcc 编译器是在默认 --hash-style 选项设置为“sysv”的情况下构建的。用它构建的每个应用程序都有 System V ABI。每个,但不是 libc。

尝试添加 C*FLAGS -Wl,--hash-style=sysv,但没有成功。配置已完成,但由于错误而停止:

glibc cannot be compiled without optimization

我发现这是因为 gcc 选项顺序。所以,我决定自己提出必要的选择。在 Makeconfig 和 configure.in 中找到 --hash-style=both。将其更改为 sysv。所有库(ld.so 和其他库)最终都适用于 System V。除了 libc.so

你知道如何准确地构建 libc.so 吗?谢谢!

【问题讨论】:

    标签: gcc gnu libc sysv


    【解决方案1】:

    在配置选项的不同组合后,我得到了答案。 正确的配置命令:

    对于 x32 系统:

    ../configure --prefix=... --enable-kernel=2.4.0 --with-cpu=i686 --build=i686-unknown-linux-gnu CC="gcc -i686" CXX="g++ -i686"
    

    对于 x64 系统:

    ../configure --prefix=... --enable-kernel=2.4.0 --with-cpu=i686 --build=i686-unknown-linux-gnu CC="gcc -m32" CXX="g++ -m32"
    

    并且您需要使用下一个值导出 CFLAGS:

    export CFLAGS="-mtune=native -O2 -pipe"
    

    【讨论】:

      猜你喜欢
      • 2013-08-10
      • 1970-01-01
      • 2021-10-14
      • 2019-12-19
      • 1970-01-01
      • 1970-01-01
      • 2012-09-18
      • 1970-01-01
      相关资源
      最近更新 更多