Older blog entries for halcy0n (starting at number 32)

x86:

Well, thanks to wolf31o2 and amne, we have a nice gcc migration doc. Thanks to that, I could mark gcc-3.4.4-r1 stable on x86 and hope to avoid most of the issues people are going to run into. Of course, this assumes people will go and read the doc, which I know isn't going to happen at first, but atleast we have somewhere to point them to :) Also, tomorrow is Gentoo Bug Day, so I hope to try and get some people to help me test some of the bugs that have been assigned to x86 for awhile, and are starting to rot.

gcc:

Well, now that gcc-3.4 is stable on x86, that means I can start to push for gcc-4.0 to get into ~arch :) We want to make another patchset before we think about doing that though. In my testing, I haven't run into any major packages that don't compile anymore, and have only been getting positive feedback from people running it. I'm sure there are still a few apps out there that are broken, and I either haven't found out about, or are going to take a little time to fix properly. Let me know if you run into problems via email or IRC so I can look into them.

GCC:

Well, contrary to popular believe (aka Slashdot articles), gcc-4.1 is not out yet. I just added a new snapshot to the tree for everyone to test, and included an upstream patch that fixes profiledbootstrap on amd64. There have been some people already contributing patches to fix up packages so they compile with gcc-4.1, which is awesome.

x86:

I've also been working a lot on stuff with the x86 arch team. We are still in need of more arch devs and testers. If you'd like to help out, send me an email (halcy0n AT gentoo DOT org) or come join us in #gentoo-x86 on Freenode. I'm sure we'll be able to find something for you to do. We'll probably start working on getting some documentation together for what we expect people to do when testing an application to be marked stable on x86, just so everyone is on the same page, and we can hopefully cut down any possible breakage that may creep in.

Okay, so I haven't updated this in a long time. gcc-4.0.2-r1 seems to be pretty stable for most people. We are going to be pushing out a new revision soon that should fix a few more issues that people have been running into. Hopefully in a few more weeks we'll start getting ready to move it into ~arch since most of the tree seems to support it now. If you are running into any bugs, send me an email or assign a bug to me and I'll look into it.

I also added the gcc-4.1 snapshots back to the tree. If you were curious, I added that die into the ebuild because I got sick of people reporting bugs to us that should be going upstream. If you want to use gcc-4.1, I'm assuming you know what you are doing and can file meaningful bugs upstream. :) There is a thread on the forums going for it already, so you can ask for help there. If you come up with a patch to fix a package, I would of course love to add it to the tree, and it would be great if you sent it upstream as well.

Well, I looked around online and it looks like someone already did my work for me :) Thanks to Robert Connolly, because I found the patches all put together from glibc CVS already on his ftp. The patches are in my overlay, or if you just want the gcc 4 patch I broke them out. I'm guessing this is similar to what 2.3.6 will be like when it is released. So far I have had no problems. If anyone could repeat successes or failures to me, I'd appreciate it. Just email me at my Gentoo address, halcy0n AT gentoo DOT org.

I wrote a PHP script awhile ago that I called PHPlog, and I've been using it to do some simple analysis of my web logs for my website. I've found that my New York City photos seem to be the most popular item on my website. Since April 1st, I've had 3715 people get to my website using the search term "new york city". I saw a sudden boom in traffic after one of my photos appeared on the first page of results on http://images.google.com for "new york city".

Here are some overall stats since April 1st:
Total Hits: 76904
Unique Hosts: 6202
Total Transfered: 1543.75MB

Right after GCC4 was released, I started getting hits to my blog because of me talking about Gentoo and GCC4. I've found it interesting to follow the popularity of things as I post them on my website.

23 Apr 2005 (updated 23 Apr 2005 at 06:00 UTC) »

Well, GCC 4 has finally be released. The changelog has all of the interesting stuff in it. Hopefully the work I have put towards making stuff in portage work with GCC4 has paid off. I'm going to see if more testers try unmasking it and report any bad breakages. Hopefully in the near future I can get a profile set up to unmask GCC4 and force people to use certain packages, instead of some people using glibc snapshots, and others not. Its a lot easier to debug this way I think.

I'll probably work on some Gentoo stuff on Sunday after I go rock climbing, and possibly tomorrow after the work on my Pascal- compiler. That project for my compilers class is turning into a real pain.

Gentoo

Well, I committed the new snapshot of GCC4 and a GCC4 fix for Dia. Everything seems to be working pretty well so far, and hopefully when GCC 4.0 finally gets released there will be a smooth transition. I'm still waiting on the Mozilla patches to get approved, which seem to be working perfectly fine for me, and I need to figure out how I can fix glibc to compile with GCC4, or I might just wait until the glibc maintainers make it compatible with GCC4, but I'm unsure when that is going to happen. Should be soon though.

Other hacking:

I also worked a bit on SnowWhite. I ripped out a lot of old useless code and some buggy stuff that shouldn't have been in there in the first place. I'm trying to clean up the code before adding any new features. There is some really nasty, atleast I think it is, stuff in there. I'm really not a big fan of macros and the entire linked list structure is a bunch of macros. I'm probably going to replace that with a C++ class, but it looks like it will be a lot of work to rip all of it out and put in the new structure. That'll be a nice first step to cleaning it all up though.

Well, I got the job. So I will be living on campus over the summer and working on my research project. I will be working on improving xGCC, adding functionality, making sure it works properly on test cases, seeing how well it works with other languages GCC supports, etc. There is a lot to do on it, and hopefully I can get a good deal of it done by the end of the summer and have an actual useful debugging tool. We hope to get it to the point where you can run it against chunks of the linux kernel and see if it can find any possible vulnerabilities. This should hopefully be possible by the end of the summer. It sounds like a very interesting project to me, and I hope I am able to do everything that is required of me.

I think its time that I started using Subversion for all of my personal projects, so I'm going to go and work on converting everything over into a Subversion repo. I hope that goes smoothly :)

Well, I may have just found myself what I consider to be a perfect summer job. I was looking through my email today, and I happened to actually look at the "Summer Research Opportunities" email on our cs-undergrads list at Stevens. The second one in the list sounded extremely interesting to me:

"The xGCC analysis tool verifies safety properties of the Extended Register Transfer Language (XRTL). These properties include buffer overflow, division by zero and the use of uninitialized variables and memory. XRTL is an assembler like intermediate language. The analysis tool can handle the low-level features like bit operations and byte access. Abstract interpretation is used for the analysis of XRTL. A new variant of the interval approximation is used for the abstraction of sets of registers and memory blocks. Widening/narrowing techniques are used to speed up the fixpoint computation for loops. xGCC consists of a modified GNU Compiler Collection (GCC) and an experimental analysis tool with graphical user interface.

The goal of this project is to improve the xGCC analysis tool with the goal to find flaws in a recent version of the linux kernel.

A student who is interested in this project should have good C++ programming skills. Preferably, the student should have previously worked on a project in a Unix development environment. Knowledge of an assembler language would be helpful in understanding XRTL."

It sounds exactly like what I am interested in, and it would help make my resume look better. I am supposed to meet with the person running the project tomorrow. Hopefully I can impress him and I get the job for the summer.

I finally set up my own blog. I'm probably going to be using that for everything I want to blog about, and crosspost some of the hacking stuff onto this blog. I set up the other blog in hopes that I will be interested in updating it enough to warrant asking to be put on Planet Gentoo. We'll see how all of that goes.

Gentoo: Well, the GCC4 branch has been frozen, so hopefully we will be seeing a release in the next month or so. I have almost everything compiling with GCC4, and it all seems to be going smoothly. Glibc is a big one that still needs to be fixed, but cvs head works for now, until they backport the changes to the 2.3 branch. Some media stuff still does not compile, and I have not had enough time to look closer into those issues.

Well, that's all for now. Got to go back to working on my project for my DB course...

23 older entries...

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!