How to upgrade a tool-chain tree...

Richard Pennington rich@pennware.com
Tue Dec 30 19:35:00 GMT 2014


On 12/28/2014 02:27 PM, Alan Lehotsky wrote:
> I have a tool chain for an experimental processor, built starting with release or snapshot distributions of
>
> 	binutils-2.21
> 	cgen-20110901
> 	gcc-4.6.1
> 	newlib-1.19.0
> 	gdb 7.2
>
> I'm using SVN for version control locally.
>
> I'd like to upgrade it to a newer source base; but since it wasn't done by checking out from the FSF and Sourceware version-control systems, I'm wondering if there's any clever way to merge my tree or if I just have to bite the bullet and essentially take everything I've modified since version 1 in my source tree and import them into a new source tree?
>
Hi Alan,

I'm doing a similar thing with multiple packages for my project. I 
currently have the following versions of the packages I use 
http://ellcc.org/blog/?page_id=467
I keep all the packages in a vendor branch of my svn repository 
http://ellcc.org/viewvc/svn/vendor/
I use svn_load_dirs.pl to bring in a new release or snapshot with a 
command like this:
/usr/share/doc/subversion-1.6.18/svn_load_dirs.pl -svn_username rich 
-svn_password XXXXXX -t binutils-<new version> 
http://ellcc.org/svn/vendor/binutils current binutils

Then I use
svn merge --accept edit 
http://ellcc.org/svn/vendor/binutils/binutils-<old version> 
http://ellcc.org/svn/vendor/binutils/current binutils
to merge the new source updates into my source tree.

I do the updates frequently, or at least as often as new releases 
happen. Especially the clang/LLVM part, which I update weekly because it 
changes so fast.
Usually the merges go smoothly but sometimes I have to manually 
arbitrate between merge conflicts.

I'm not sure if this will help you update your current sources since you 
may not have a tag on the original sources you brought in.

I found this technique a while ago via google. There are probably better 
ways to do this, bit it works for me.

-Rich



More information about the Gcc mailing list