GNU Tools Cauldron (4)

周三

Vladimir Makarov gives a talk on LRA. The problem statement at the beginning is quite clear, and he splits his work into several steps. His slides are quite easy to read and follow. The  result of benchmark looks quite promising, and plan to merge back to phase 1 of 4.8. Benjamin (from RedHat) gives a talk on GCC Doc. He firstly describes the doc problems in GCC, and mentions that these problems exist on other large free software as well. His proposed solution is that add phase 2 back (two weeks) for documentation only, and book technical writers’ time to improve GCC doc in this period. I am not sure it works.

When all sessions are done, say goodbye to a lot of people. Talk a little bit with Ulrich on his work.  Have some good beer with Luis, Pedro, and other people. Hear something interesting on the tiny difference of pronunciation between Brazilian and Portuguese.  我们老板请我们mentor的几个同事一起吃饭。

第二天,我们中午的飞机,上午我们在Prague里边转了转,买了点东西,然后checkout,就回国了。

GNU Tools Cauldron (3)

周二.

The first session is about GDB. People from three different companies present their plans on different areas of GDB. Jan gives a talk on a wide range of GDB features, and I don’t  have much impressions on it.

Stan gives a talk on Multicore GDB, which is mainly about itset  and agent. We have some discussion on the syntax of itset, and feedback from the audience  sounds pretty good. This fixes my concern that itset syntax is a little complicated to use.

Ulrich gives a talk on unify features in remote and native debugging, and people agree that we should share as much code between GDB and GDBserver as we can. It is a good news to me.  I have a private talk with Pedro on itset work.

An intel guy gives a session on Cilk Plus. It is about the syntax of cilk plus, and how to use it. What I can tell is that cilk plus is a “more-user- frendly-open-mp”.  这个完全是一个广告贴,没有什么东西,就是介绍cilk的语法。

晚上有个social dinner,在学校里边,还不错,有水果,秋水,各种自助餐。大家随意交流。

后来,推来了一个 GCC 25 岁的蛋糕,蛋糕很好吃,不过,吃的太饱了,就吃了一点。

后来, Richard Guenther 弹钢琴,然后所有人在跟着唱歌,不知道这个歌是什么。

只是说,如果以后patch 被reject了,把这个歌唱几遍就行了 🙂

GNU Tools Cauldron (2)

[抱歉,没有中文的,大家凑合看看吧,这个本来是我内部用的,改了改,贴这里了]

周一, RMS gives a keynote on Free software, nothing new compared with his previous speeches I saw online, except that he tries to sell some icons and t-shirts. The organizer told me that RMS was not invited for this event, but he asked them to give a speech in Prague.

Robert Dewar, CEO of adacore, gives a speech on their business model, which is quite similar to codesourcery’s. The difference is on customers, adacore’s customers are military-related, such as lockheed martin, while CS’s customers are IC companies.

中间break的时候,让我碰到了一个让我感动的事情。Stan (中间)给Ian (左边)说,我给你带了一个cygnus (cygnus是多牛的公司,就不用我说了)的书包,本来应该16年前就给你了,今天给你带来了,一个全新的书包。 Ian很惊讶的表情,然后跑回到自己的座位,拿出自己的书包,竟然也是cygnus的!

Follow some sessions presented by Richard Guenther (on high-level loop opt), Cary (on  Fission), and Bill Schmidt (from IBM, on strength reducing). Don’t understand them fully :(.  Jeremy Bennett gives a presentation on optimization for power/energy consumption. The topic sounds pretty cool, but unfortunately, they don’t have any useful data or results to show. Some audience said something similar has been done in some papers 3-5 years ago. 🙂  这个简直就是,自己什么还都没有做,就来说,我们打算做什么,问道细节的东西,一个没有,也很失望。

There are two GDB-related sessions, “Variable Tracking in GCC” and “GDB vs. MPI”. Alexandre gives the former one. I don’t get used to his presentation style, so don’t understand the details. Two points I get are 1) there are a lot of traps in the algorithm/code, 2) he is not going to maintain it.  🙂 The MPI session is interesting, but the presenter is not good at attracting people. They extend pretty printer in GDB/python, collect data through inferior-call, and show data somewhere. Looks they don’t have a plan to contribute it upstream.  这两个session让我很失望,不知道在说什么。

During the lunch, I joined in Pedro and Ulrich’s discussion on fixing parity of GDB remote and native debugging. Both linaro and redhat want to do that.  They plan to use the same backend in both GDB and GDBserver in the long-terms, and want to get rid of libthread_db.so. However, as usual, don’t know what the patches look like in near-terms.  虽然他们说的很多东西,我都听不懂吧,但是觉得就听听他们这样的交流,也很好。

HelloGCC 2012 活动通知

HelloGCC 2012 活动通知

HelloGcc工作组由自由软件爱好者和自由软件工作者于2007年在北京成立,旨在营造一个自由,开放,共享的技术社区,讨论GNU底层系统工具(包括GCC,GDB,BINUTILS等),以及其它开源工具(比如LLVM,QEMU等等)的技术知识,为工作和学习提供帮助,并为自由软件社区做出贡献。

我们每年都会举办一次技术讨论会。今年的活动暂定为在11月10日(周六)举办(具体地点待定)。现在向大家提前发出征稿通知,如果你有兴趣来做相关的技术话题报告,欢迎提前与我们联系。话题范围包括:

* 原创工作,或者对他人工作的介绍
* 研究性的,或者工程性的
* 代码讲解,程序演示
* 等等

我们只需要提前获得演讲者的幻灯片(并经演讲者同意后,发布在网上)。如果你打算同时提供文字稿件,当然更好。整个活动是免费的,我们希望能够获得一些赞助,以用于对演讲者提供酬谢和对社区的发展提供支持。投稿,赞助,以及其它活动相关的事宜,请发送邮件到邮件列表:

* hellogcc@freelists.org

在邮件列表中讨论。

附注:

2011年演讲话题:

1、Introduction to GCC Backend
2、GNU Tools for ARM Embedded Processors
3、多核时代更快断点 — Displaced stepping以及对Thumb-2指令集的实现
4、TCG与LLVM生成二进制代码性能分析
5、走进GCC插件时代

2010年演讲话题:

1、内存管理机制与优化
2、调试器的断点机制的探讨
3、针对嵌入式CPU的Binutils移植
4、GCC编译器图形化实现与讨论
5、How To Port GNU ToolChain
6、Linux Kernel GDB tracepoint module演示

2009年演讲话题:

1、使用GCC编译器分析和优化程序的数据局部性
2、GCC Internals and Porting
3、gdbproxy: An open source GDB stub for Blackfin
4、GDB reverse debug and process record and replay target

交流平台:

* 博客地址,http://www.hellogcc.org
* 邮件列表,http://www.freelists.org/archive/hellogcc
* IRC房间, #hellogcc(freenode)

使用git cvsexportcommit来给cvs仓库提交代码

由于GDB还在使用古老的CVS,但是有一个git的镜像。平时工作的时候,就在git上,直到patch review完毕,需要commit的时候,才把patch apply到cvs trunk上,然后commit。这样每次都需要 git format-patchespatch -p1 < foo.patch,很麻烦。

今天发现可以用 git cvsexportcommit 来把git repo里边的某个commit,apply到cvs本地。假如我的当前目录是GDB CVS checkout的source,我的GIT 目录是 ~/Source/gnu/gdb/git

[yao@qiyao:~/Source/gnu/gdb/cvs/src]$ export GIT_DIR=~/Source/gnu/gdb/git/.git
[yao@qiyao:~/Source/gnu/gdb/cvs/src]$ git cvsexportcommit -v 8121953ff81c6cdf36daca2ae797bbd124d01a91
Applying to CVS commit 8121953ff81c6cdf36daca2ae797bbd124d01a91 from parent 4a743c6b2ed69434f546a6559aca1819015ed00d
Checking if patch will apply
Enter passphrase for key '/home/yao/.ssh/id_rsa':
Applying
Patch applied successfully. Adding new files and directories to CVS
Commit to CVS
Patch title (first comment line): Set breakpoint_ops in mi_cmd_break_insert.
Ready for you to commit, just run:
cvs commit -F .msg 'gdb/breakpoint.h' 'gdb/mi/mi-cmd-break.c'

这样以后,我就可以在添加了changelog以后,cvs commit了。注意在使用完了这个命令之后,最好把环境变量 GIT_DIRunset。不然在任何git repo下边,显示的都是这个目录里边的branches。