Clang 在clearcase视图中,/proc/self/exe的结果不友好
如果我在clearcase视图中执行二进制文件,并在Linux上查看/proc/self/exe,我会看到如下内容:Clang 在clearcase视图中,/proc/self/exe的结果不友好,clang,clearcase,Clang,Clearcase,如果我在clearcase视图中执行二进制文件,并在Linux上查看/proc/self/exe,我会看到如下内容: $ cd /proc/19220 $ ls -l exe lrwxrwxrwx 1 peeterj pdxdb2 0 2012-11-30 13:04 exe -> /home/peeterj/views/peeterj_clang-7.vws/.s/00024/8000028250b8f1d1llvm-config clang llvm config程序使用此输出试图找
$ cd /proc/19220
$ ls -l exe
lrwxrwxrwx 1 peeterj pdxdb2 0 2012-11-30 13:04 exe -> /home/peeterj/views/peeterj_clang-7.vws/.s/00024/8000028250b8f1d1llvm-config
clang llvm config程序使用此输出试图找出它所在的绝对完全限定路径(我假设argv[0]不是完全限定路径)
是否有办法在视图中找到与此相对应的位置。例如,在本例中,llvm config exe实际上位于:
/vbs/bldsupp/linuxamd64/clang/debug/bin
(我想知道修改clang的GetExecutablePath()函数来解决这个问题是否可行。)这里没有简单的解决方案(不过对于旧版本的ClearCase):
“技术说明”建议:
局部修复
getcwd()
,get\u current\u dir\u name()
,getwd()
readlink()
调用,并修改以使用上述任何调用来返回正确的数据/proc/self/exe
在getcwd
成功时返回不正确的路径
不幸的是,/proc/self/exe
要[从VOB/View上下文中]返回正确的值,需要在Linux内核中进行更改,以允许MVFS“覆盖”当前设置
IBMLTC一直致力于让Linux社区采用这一变化,这样我们就可以将新特性合并到MVFS中
相关:。这里没有简单的解决方案(但对于旧版本的ClearCase):
“技术说明”建议:
局部修复
getcwd()
,get\u current\u dir\u name()
,getwd()
readlink()
调用,并修改以使用上述任何调用来返回正确的数据/proc/self/exe
在getcwd
成功时返回不正确的路径
不幸的是,/proc/self/exe
要[从VOB/View上下文中]返回正确的值,需要在Linux内核中进行更改,以允许MVFS“覆盖”当前设置
IBMLTC一直致力于让Linux社区采用这一变化,这样我们就可以将新特性合并到MVFS中
相关: