sysstat源代码下载路径:https://github.com/sysstat/sysstat
查看gcc版本号:
[TEST sysstat-master]$ gcc -v 使用内建 specs。 目标:x86_64-redhat-linux 配置为:../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-libgcj-multifile --enable-languages=c,c++,objc,obj-c++,java,fortran,ada --enable-java-awt=gtk --disable-dssi --disable-plugin --with-java-home=/usr/lib/jvm/java-1.4.2-gcj-1.4.2.0/jre --with-cpu=generic --host=x86_64-redhat-linux 线程模型:posix gcc 版本 4.1.2 20080704 (Red Hat 4.1.2-52) [TEST sysstat-master]$ make -version GNU Make 3.81 Copyright (C) 2006 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. This program built for x86_64-redhat-linux-gnu
需要修改三个文件,才可以编译通过:
1. rd_stats.c
添加两个常量定义
#define ULLONG_MAX (LLONG_MAX * 2ULL + 1ULL) #define LLONG_MAX __LONG_LONG_MAX__
2. sa_common.c
添加三个函数定义
tatic inline unsigned short __builtin_bswap16(unsigned short a) { return (a<<8)|(a>>8); } static inline unsigned short __builtin_bswap32(unsigned short a) { return (a>>24)|(a>>8)|(a<<8)|(a<<24); } static inline unsigned short __builtin_bswap64(unsigned short a) { return (a>>56)|(a>>40)|(a>>24)|(a>>8)|(a<<8)|(a<<24)|(a<<40)|(a<<56); }
3. sa_conv.c
添加一个函数定义
static inline unsigned short __builtin_bswap32(unsigned short a) { return (a>>24)|(a>>8)|(a<<8)|(a<<24); }
编译安装 ./configure && make -j4 && make install
参考连接:glibc内建函数
gcc 4.3版本应该不用修改源代码,没有试过。
最后修改时间:2021-07-27 14:55:38
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。