This is the mail archive of the crossgcc@sourceware.org mailing list for the crossgcc project.

See the CrossGCC FAQ for lots more information.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: ct-ng: patch howto?


On 14 Apr 2011, yann.morin.1998@anciens.enib.fr wrote:

> On Thursday 14 April 2011 18:15:16 Bill Pringlemeir wrote:

>> I want to apply this patch.
>> http://gcc.gnu.org/bugzilla/attachment.cgi?id=23321&action=diff
>> I saved the unified diff to 'patches/binutils/2.21/100-bug-47527.patch'.

> Correct.

Ok.  That is what is needed to make the patch applicable for all ct-ng
users.  I thought there might be something like 'is this an ARM', etc.
But I guess the patches should be clean for whatever tool-chain is being
built.

>> Then I re-ran my ct-ng build. However, when I look in
>> 'targets/src/binutils-2.21/ld/ldlang.c', I don't see my changes.  My
>> guess is that I need to modified some Makefile/script to apply the patch
>> when binutils-2.21 is active.  I looked through the docs and most
>> (all?) references to patch seem to refer to patching ct-ng and not the
>> source tools set.  I would like to help the upstream people.

> Crosstool-NG remembers what packages were extracted and patched, so it
> won't try to do it again on a subsequent run. Indeed you do not want to
> re-patch and already patched source tree, you'd hvae tons of conflicts,
> as the patches were already applied.

That makes sense.  I had just manually patched the file and re-built and
then verified that the source was still the same at the end... and now I
know why it works.

> There is currently no way to do it automatically. Maybe (in the
> future), crosstool-NG could remember what patches were applied, and
> then see if there are new ones and apply them. But that's pretty
> useless in the general case, and would make the code a bit more
> complex for little added value, IMHO.

I agree.  I don't want to make work for you.  I just wanted to know what
the best way to apply a patch to a tool is.  So if a compiler built, you
patch the source and then re-run 'ct-ng build'.  If this passes, a diff
*could* be put in the appropriate patches directory and everyone using
ct-ng would get the changes.

Also, when i don't understand things sometimes they will seem to work,
but have un-intended consequences.  The stuff in the scripts and make
files is generally only running conditional configure parameters and not
conditionally patching source?  Of course that is a good thing if this
is true.  I just didn't know this as a naive user of ct-ng.  I guess
this is not in the 'doc' directory as once you know this it seems
simple.

Thanks Yann.

Bill Pringlemeir.

--
For unsubscribe information see http://sourceware.org/lists.html#faq


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]