September 2011 Archives

关于高版本的libtool v2.4的问题

因为生成so的问题,发现libtool v2.4生成代码时:
libtool --debug --tag=CXX --mode=link g++ -fPIC -g -O2 -g -Wall -D_DEBUG -shared -fpic -o libsotest.so libsotest_so-testso.o -lpthread -ldl -lcppunit
结果为:
g++ -fPIC -g -O2 -g -Wall -D_DEBUG -fpic -o libsotest.so libsotest_so-testso.o  -lpthread -ldl -lcppunit
而期望的结果应该是:
g++ -fPIC -g -O2 -g -Wall -D_DEBUG -shared -fpic -o libsotest.so libsotest_so-testso.o  -lpthread -ldl -lcppunit
低版本的libtool v1.5.22则没有这个问题,于是查找原因,经过分析,发现新版本的libtool对-shared选项有二处地方的变动,一处为func_mode_compile函数,主要是针对-shared的优化,
 2429     -shared | -static | -prefer-pic | -prefer-non-pic)
 2430       later+=" $arg"
 2431       continue
 2432       ;;
另外,在函数func_mode_link中
 6171       -shared)
 6172     # The effects of -shared are defined in a previous loop.
 6173     continue
 6174     ;;
如果得到上面的期望结果,则注释这条语句即可。

详细的问题描述见:http://my.huhoo.net/archives/2011/08/libtool.html

新一代 Linux 文件系统 btrfs 简介

    Fedora16工程团队决定不使用btrfs系统作为默认的文件系统了,因为时间不充足,无法达到改变默认文件系统所要满足的基本要求。
    记得在Fedora15发布的时候,宣布fedora16将采用btrfs作为默认的文件系统,当时很好奇的试了一下,拿自己的移动硬盘格式化分区为btrfs分区,但是效果很不理想,存在很多不完善的地方,后来还是换上了reiserfs和ext4。
    brefs的主要特性是copy-on-write,如果想要知道什么是copy-on-write,可以参考COW,目标是取代Linux目前的ext3/4文件系统,改善ext3的限制,特别是单一文件的大小,总文件系统大小及加入文件校验和。加入目前ext3/4未支援的功能,例如可写的磁盘快照(snapshots)、支持递归的快照(snapshots of snapshots)、内建磁盘阵列(RAID)支援、支持子卷(Subvolumes)的概念、支持在线调整文件系统大小等。

Monthly Archives

Pages

Powered by Movable Type 7.7.2

About this Archive

This page is an archive of entries from September 2011 listed from newest to oldest.

August 2011 is the previous archive.

October 2011 is the next archive.

Find recent content on the main index or look in the archives to find all content.