Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] avr32 patches vs. x86 breakage
@ 2008-03-21  6:00 Nigel Kukard
  2008-03-21  7:45 ` Peter Korsgaard
  0 siblings, 1 reply; 13+ messages in thread
From: Nigel Kukard @ 2008-03-21  6:00 UTC (permalink / raw)
  To: buildroot

Hi Guys,

Will this proposal to fix the problem work ...

- Make a dir under arch-avr32, for gcc-x.y.z

- Add a make file to set something like
BOARD_EXTRA_PATCH_PATH=target/device/arch-avr32  this will be set if the
board is AVR32 based 

- In GCC / binutils/ uclibc and where ever else avr32 patches are
applied, we can tst if BOARD_EXTRA_PATCH_PATH is available. If it is to
add those patches into the patch set being applied. This should be
simplistic as we know the version for instance GCC_VERSION, we'd just
have to test the path exists and do something like    \*.patch
$(MORE_PATCHES)  , where we set a few lines up.  MORE_PATCHES=
$(BOARD_EXTRA_PATCH_PATH)/gcc-$(GCC_VERSION)


I think this is a good fix to only apply board specific patches if we
need them ... and by simply creating a dir off the board name dir with
the package name in it for each package we muck with.

Good/bad idea? or any combination of idea above.

-N
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: This is a digitally signed message part
Url : http://busybox.net/lists/buildroot/attachments/20080321/586f4f2b/attachment-0001.pgp 

^ permalink raw reply	[flat|nested] 13+ messages in thread

* [Buildroot] avr32 patches vs. x86 breakage
  2008-03-21  6:00 [Buildroot] avr32 patches vs. x86 breakage Nigel Kukard
@ 2008-03-21  7:45 ` Peter Korsgaard
       [not found]   ` <1206086506.2562.64.camel@nigel-x60>
                     ` (2 more replies)
  0 siblings, 3 replies; 13+ messages in thread
From: Peter Korsgaard @ 2008-03-21  7:45 UTC (permalink / raw)
  To: buildroot

>>>>> "Nigel" == Nigel Kukard <nkukard@lbsd.net> writes:

Hi,

 Nigel> Hi Guys,
 Nigel> Will this proposal to fix the problem work ...

 Nigel> - Make a dir under arch-avr32, for gcc-x.y.z

 Nigel> - Add a make file to set something like
 Nigel> BOARD_EXTRA_PATCH_PATH=target/device/arch-avr32  this will be set if the
 Nigel> board is AVR32 based 

 Nigel> - In GCC / binutils/ uclibc and where ever else avr32 patches are
 Nigel> applied, we can tst if BOARD_EXTRA_PATCH_PATH is available. If it is to
 Nigel> add those patches into the patch set being applied. This should be
 Nigel> simplistic as we know the version for instance GCC_VERSION, we'd just
 Nigel> have to test the path exists and do something like    \*.patch
 Nigel> $(MORE_PATCHES)  , where we set a few lines up.  MORE_PATCHES=
 Nigel> $(BOARD_EXTRA_PATCH_PATH)/gcc-$(GCC_VERSION)

As discussed on IRC, I think its cleaner if everything related to a
package is located under the package/<package>/ dir.

The real problem is that apparent quality issues of some of the arch
specific patches.

If possible, I would prefer if all archs would use the same sources
(so apply the same patches for all archs) as the patches then get a
lot more testing - E.G. you might otherwise not notice if a patch for
some obscure arch no longer applies because you bumped the version of
a package.

But that doesn't seem realistic with the current patches, so I instead
suggest we split up patches in generic and arch specific. The generic
ones gets applied to all archs, and only the arch specific ones for
the selected arch.

The easiest setup is probably to use the naming convention:

 - package-version-*.patch for generic stuff
 - arch-package-version-*.patch for arch specific stuff

What do you think?

-- 
Bye, Peter Korsgaard

^ permalink raw reply	[flat|nested] 13+ messages in thread

* [Buildroot] avr32 patches vs. x86 breakage
       [not found]   ` <1206086506.2562.64.camel@nigel-x60>
@ 2008-03-21  8:18     ` Peter Korsgaard
  2008-03-21  8:38       ` Nigel Kukard
  0 siblings, 1 reply; 13+ messages in thread
From: Peter Korsgaard @ 2008-03-21  8:18 UTC (permalink / raw)
  To: buildroot

>>>>> "Nigel" == Nigel Kukard <nkukard@lbsd.net> writes:

Hi,

 Nigel> The other problem is getting some patches to get fixed when a problem is
 Nigel> found ... not all of us are familiar with every single arch or even
 Nigel> assembly in some cases, let alone arch specific assembly.

 Nigel> I think a split would be a good idea, also maybe make it
 Nigel> easier to debug issues.

Or atleast only let the people using that particular arch worry about
it ;)


 >> - package-version-*.patch for generic stuff
 >> - arch-package-version-*.patch for arch specific stuff
 >> 
 >> What do you think?

 Nigel> What about patch order? and patch order when there is generic stuff and
 Nigel> arch specific?

My (possibly too simplistic) view on things is to first apply the
generic patches, and then the arch specific ones.

-- 
Bye, Peter Korsgaard

^ permalink raw reply	[flat|nested] 13+ messages in thread

* [Buildroot] avr32 patches vs. x86 breakage
  2008-03-21  8:18     ` Peter Korsgaard
@ 2008-03-21  8:38       ` Nigel Kukard
  0 siblings, 0 replies; 13+ messages in thread
From: Nigel Kukard @ 2008-03-21  8:38 UTC (permalink / raw)
  To: buildroot

Hi,

>  >> - package-version-*.patch for generic stuff
>  >> - arch-package-version-*.patch for arch specific stuff
>  >> 
>  >> What do you think?
> 
>  Nigel> What about patch order? and patch order when there is generic stuff and
>  Nigel> arch specific?
> 
> My (possibly too simplistic) view on things is to first apply the
> generic patches, and then the arch specific ones.

yea, generic first I think aswell.

few more thoughts...

these would be in for instance  toolchain/gcc/



1.
version/*.patch  - generic
version/arch/*.patch  -  arch specific


2.
version/*.patch
arch-version/*.patch


3.
version-*.patch
arch-version-*.patch


-N
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: This is a digitally signed message part
Url : http://busybox.net/lists/buildroot/attachments/20080321/9ad75c06/attachment.pgp 

^ permalink raw reply	[flat|nested] 13+ messages in thread

* [Buildroot] avr32 patches vs. x86 breakage
  2008-03-21  7:45 ` Peter Korsgaard
       [not found]   ` <1206086506.2562.64.camel@nigel-x60>
@ 2008-03-21  8:52   ` Bernhard Fischer
  2008-03-21  9:12     ` Nigel Kukard
       [not found]     ` <87hcf01m0r.fsf@macbook.be.48ers.dk>
  2008-03-25  8:50   ` Ulf Samuelsson
  2 siblings, 2 replies; 13+ messages in thread
From: Bernhard Fischer @ 2008-03-21  8:52 UTC (permalink / raw)
  To: buildroot

On Fri, Mar 21, 2008 at 08:45:42AM +0100, Peter Korsgaard wrote:
>>>>>> "Nigel" == Nigel Kukard <nkukard@lbsd.net> writes:
>
>Hi,
>
> Nigel> Hi Guys,
> Nigel> Will this proposal to fix the problem work ...
>
> Nigel> - Make a dir under arch-avr32, for gcc-x.y.z
>
> Nigel> - Add a make file to set something like
> Nigel> BOARD_EXTRA_PATCH_PATH=target/device/arch-avr32  this will be set if the
> Nigel> board is AVR32 based 
>
> Nigel> - In GCC / binutils/ uclibc and where ever else avr32 patches are
> Nigel> applied, we can tst if BOARD_EXTRA_PATCH_PATH is available. If it is to
> Nigel> add those patches into the patch set being applied. This should be
> Nigel> simplistic as we know the version for instance GCC_VERSION, we'd just
> Nigel> have to test the path exists and do something like    \*.patch
> Nigel> $(MORE_PATCHES)  , where we set a few lines up.  MORE_PATCHES=
> Nigel> $(BOARD_EXTRA_PATCH_PATH)/gcc-$(GCC_VERSION)
>
>As discussed on IRC, I think its cleaner if everything related to a
>package is located under the package/<package>/ dir.
>
>The real problem is that apparent quality issues of some of the arch
>specific patches.

They should fix their arch and you should not add kludge to work around
such bugs, imo.

^ permalink raw reply	[flat|nested] 13+ messages in thread

* [Buildroot] avr32 patches vs. x86 breakage
  2008-03-21  8:52   ` Bernhard Fischer
@ 2008-03-21  9:12     ` Nigel Kukard
  2008-03-21  9:30       ` Peter Korsgaard
       [not found]     ` <87hcf01m0r.fsf@macbook.be.48ers.dk>
  1 sibling, 1 reply; 13+ messages in thread
From: Nigel Kukard @ 2008-03-21  9:12 UTC (permalink / raw)
  To: buildroot

Hi Bernhard,

> >The real problem is that apparent quality issues of some of the arch
> >specific patches.
> 
> They should fix their arch and you should not add kludge to work around
> such bugs, imo.

In an ideal situation yes .... but buildroot is an opensource project
with no time constraints imposed on its contributors.

If I contributed a patch to add an arch to GCC, and it broke 2 months
down the line when people began to use it, are you just going to remove
it out of buildroot until it gets fixed? What happens if it broke
support for everything except its own arch?  What happens if there were
thousands of users of it, more than any other arch?

In this case its the AVR32 support which breaks x86 .... I'm sure there
are more users of AVR32 than x86. 1) its impractical to remove AVR32
support until its fixed, we don't know how long it will take  2) its
senseless to drop support for x86 because an AVR32 patch breaks it.

People new to buildroot trying it out don't want to scrape through years
of mailing lists to try find these few mails about everything building
fine on x86, then WHAM BAM .... corruption in the weirdest ways in the
generated images. It puts people off and they get the first impression
that buildroot doesn't work ... something I've seen happen ALOT!

Only alternative I can see is adding kludge to work around horribly
broken patches until someone fixes them or no one bitches and they are
removed like 6-12 months later. This way everything works out of the
box.

The proposed kludge isn't too bad either, its merely splitting the
patches up into different dirs. I am willing to spin a set of patches to
implement these changes.

-N


-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: This is a digitally signed message part
Url : http://busybox.net/lists/buildroot/attachments/20080321/4bc080ca/attachment.pgp 

^ permalink raw reply	[flat|nested] 13+ messages in thread

* [Buildroot] avr32 patches vs. x86 breakage
  2008-03-21  9:12     ` Nigel Kukard
@ 2008-03-21  9:30       ` Peter Korsgaard
  2008-03-25  8:55         ` Ulf Samuelsson
  0 siblings, 1 reply; 13+ messages in thread
From: Peter Korsgaard @ 2008-03-21  9:30 UTC (permalink / raw)
  To: buildroot

>>>>> "Nigel" == Nigel Kukard <nkukard@lbsd.net> writes:

Hi,

 >> They should fix their arch and you should not add kludge to work around
 >> such bugs, imo.

 Nigel> In an ideal situation yes .... but buildroot is an opensource
 Nigel> project with no time constraints imposed on its contributors.

But that doesn't mean that contributors don't care.

 Nigel> If I contributed a patch to add an arch to GCC, and it broke 2
 Nigel> months down the line when people began to use it, are you just
 Nigel> going to remove it out of buildroot until it gets fixed? What
 Nigel> happens if it broke support for everything except its own
 Nigel> arch?  What happens if there were thousands of users of it,
 Nigel> more than any other arch?

If you would not be ready to support your work and no one else would
step up to do it (or if I could/would myself) - Then yes. No one gains
by stuff just sitting in the tree bitrotting.

 Nigel> In this case its the AVR32 support which breaks x86 .... I'm sure there
 Nigel> are more users of AVR32 than x86. 1) its impractical to remove AVR32
 Nigel> support until its fixed, we don't know how long it will take  2) its
 Nigel> senseless to drop support for x86 because an AVR32 patch breaks it.

 Nigel> People new to buildroot trying it out don't want to scrape
 Nigel> through years of mailing lists to try find these few mails
 Nigel> about everything building fine on x86, then WHAM BAM
 Nigel> .... corruption in the weirdest ways in the generated
 Nigel> images. It puts people off and they get the first impression
 Nigel> that buildroot doesn't work ... something I've seen happen
 Nigel> ALOT!

True. Keeping a metadist like buildroot working for all archs and
combinations of packages is HARD.

 Nigel> Only alternative I can see is adding kludge to work around
 Nigel> horribly broken patches until someone fixes them or no one
 Nigel> bitches and they are removed like 6-12 months later. This way
 Nigel> everything works out of the box.

The problem is that noone would ever fix the real issues behind those
kludges.

 Nigel> The proposed kludge isn't too bad either, its merely splitting
 Nigel> the patches up into different dirs. I am willing to spin a set
 Nigel> of patches to implement these changes.

Ok, I would like to hear from John first if he's going to fix the
atmel patch.

-- 
Bye, Peter Korsgaard

^ permalink raw reply	[flat|nested] 13+ messages in thread

* [Buildroot] avr32 patches vs. x86 breakage
       [not found]     ` <87hcf01m0r.fsf@macbook.be.48ers.dk>
@ 2008-03-21  9:32       ` Peter Korsgaard
  2008-03-21 11:36         ` John Voltz
  0 siblings, 1 reply; 13+ messages in thread
From: Peter Korsgaard @ 2008-03-21  9:32 UTC (permalink / raw)
  To: buildroot

>>>>> "Peter" == Peter Korsgaard <jacmet@uclibc.org> writes:

Sigh, resending with stripped CC list to make mailman happy ..

>>>>> "Bernhard" == Bernhard Fischer <rep.dot.nop@gmail.com> writes:
 >>> The real problem is that apparent quality issues of some of the arch
 >>> specific patches.

 Bernhard> They should fix their arch and you should not add kludge to
 Bernhard> work around such bugs, imo.

 Peter> Sure. That's the real solution ofcause.

 Peter> John, are you going to fix the 900-avr32-atmel.1.3.2.patch soonish?
 Peter> Otherwise I'll remove it.

 Peter> -- 
 Peter> Bye, Peter Korsgaard

-- 
Bye, Peter Korsgaard

^ permalink raw reply	[flat|nested] 13+ messages in thread

* [Buildroot] avr32 patches vs. x86 breakage
  2008-03-21  9:32       ` Peter Korsgaard
@ 2008-03-21 11:36         ` John Voltz
  2008-03-21 12:11           ` Bernhard Fischer
  0 siblings, 1 reply; 13+ messages in thread
From: John Voltz @ 2008-03-21 11:36 UTC (permalink / raw)
  To: buildroot

I agree with Bernhard, the AVR32 arch gcc patches seriously need fixed.
There are quite a few problems caused by gcc on the AVR32 as well. It works
pretty well for the most part, but there were problems back with gcc
4.1.2causing the kernel to oops while reading ext2 and ext3
filesystems, and now
gcc 4.2.1 breaks blackbox, and I've never been able to get webkit to work
reliably. gcc 4.2.1 also broke almost all of the open file dialogs in the
applications too. I'm blaming it all on the gcc patches.

Have there been other issues with buildroot in the past when adding other
arches? I'm actually glad all of this happened because it shines a light on
the quality issues in the AVR32 patches. Thanks to Nigel and Peter. I would
have never discovered this on my own. Sorry for giving you guys the
headaches though!

John Voltz
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://busybox.net/lists/buildroot/attachments/20080321/b9b4eabc/attachment.htm 

^ permalink raw reply	[flat|nested] 13+ messages in thread

* [Buildroot] avr32 patches vs. x86 breakage
  2008-03-21 11:36         ` John Voltz
@ 2008-03-21 12:11           ` Bernhard Fischer
  2008-03-21 12:47             ` John Voltz
  0 siblings, 1 reply; 13+ messages in thread
From: Bernhard Fischer @ 2008-03-21 12:11 UTC (permalink / raw)
  To: buildroot

On Fri, Mar 21, 2008 at 07:36:00AM -0400, John Voltz wrote:
>I agree with Bernhard, the AVR32 arch gcc patches seriously need fixed.
>There are quite a few problems caused by gcc on the AVR32 as well. It works
>pretty well for the most part, but there were problems back with gcc
>4.1.2causing the kernel to oops while reading ext2 and ext3
>filesystems, and now
>gcc 4.2.1 breaks blackbox, and I've never been able to get webkit to work
>reliably. gcc 4.2.1 also broke almost all of the open file dialogs in the
>applications too. I'm blaming it all on the gcc patches.
>
>Have there been other issues with buildroot in the past when adding other
>arches? I'm actually glad all of this happened because it shines a light on

buildroot is not ment to be a patch-sink.
The _proper_ thing to do is to add your arch to the upstream packages.

Likewise, if you have to patch a package (for buildroot), then please take
it upon you to fix the issues _upstream_. Everything else is just a
maintenance-nightmare and does the opposite of what OSS is ment to
achieve in the long-run.


>the quality issues in the AVR32 patches. Thanks to Nigel and Peter. I would
>have never discovered this on my own. Sorry for giving you guys the
>headaches though!
>
>John Voltz

^ permalink raw reply	[flat|nested] 13+ messages in thread

* [Buildroot] avr32 patches vs. x86 breakage
  2008-03-21 12:11           ` Bernhard Fischer
@ 2008-03-21 12:47             ` John Voltz
  0 siblings, 0 replies; 13+ messages in thread
From: John Voltz @ 2008-03-21 12:47 UTC (permalink / raw)
  To: buildroot

>
>
> buildroot is not ment to be a patch-sink.
> The _proper_ thing to do is to add your arch to the upstream packages.
>

This is absolutely true. The reason the gcc patches haven't gone upstream is
because Atmel's legal department hasn't filed the copyright paperwork with
the FSF yet. And obviously we should all be glad that they haven't, because
the breakage would be widespread. I've asked the Atmel developers about the
status of upstream patches and it goes something like this:

gcc (and binutils?), waiting on legal documents for FSF

uClibc, in svn, will appear on 0.9.30 release.

Linux kernel, all upstream (in -mm, I think) except for some peripherals
that are still under testing.


John
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://busybox.net/lists/buildroot/attachments/20080321/3251f89f/attachment.htm 

^ permalink raw reply	[flat|nested] 13+ messages in thread

* [Buildroot] avr32 patches vs. x86 breakage
  2008-03-21  7:45 ` Peter Korsgaard
       [not found]   ` <1206086506.2562.64.camel@nigel-x60>
  2008-03-21  8:52   ` Bernhard Fischer
@ 2008-03-25  8:50   ` Ulf Samuelsson
  2 siblings, 0 replies; 13+ messages in thread
From: Ulf Samuelsson @ 2008-03-25  8:50 UTC (permalink / raw)
  To: buildroot




>>>>>> "Nigel" == Nigel Kukard <nkukard@lbsd.net> writes:
> 
> Hi,
> 
> Nigel> Hi Guys,
> Nigel> Will this proposal to fix the problem work ...
> 
> Nigel> - Make a dir under arch-avr32, for gcc-x.y.z
> 
> Nigel> - Add a make file to set something like
> Nigel> BOARD_EXTRA_PATCH_PATH=target/device/arch-avr32  this will be set if the
> Nigel> board is AVR32 based 
> 

Why not use the external source for the AVR32.
I think that adding the AVR32 arch specific patches to the toolchain
was a bad idea in the first place. Adds several megabytes to the download
every time you download.
The external source adds download once, and even if you have a slow
connection, I bet that you can access those files through a fast
connection once, and then keep it.


> Nigel> - In GCC / binutils/ uclibc and where ever else avr32 patches are
> Nigel> applied, we can tst if BOARD_EXTRA_PATCH_PATH is available. If it is to
> Nigel> add those patches into the patch set being applied. This should be
> Nigel> simplistic as we know the version for instance GCC_VERSION, we'd just
> Nigel> have to test the path exists and do something like    \*.patch
> Nigel> $(MORE_PATCHES)  , where we set a few lines up.  MORE_PATCHES=
> Nigel> $(BOARD_EXTRA_PATCH_PATH)/gcc-$(GCC_VERSION)
> 
> As discussed on IRC, I think its cleaner if everything related to a
> package is located under the package/<package>/ dir.
> 

I agree.


> The real problem is that apparent quality issues of some of the arch
> specific patches.
> 
> If possible, I would prefer if all archs would use the same sources
> (so apply the same patches for all archs) as the patches then get a
> lot more testing - E.G. you might otherwise not notice if a patch for
> some obscure arch no longer applies because you bumped the version of
> a package.
> 
> But that doesn't seem realistic with the current patches, so I instead
> suggest we split up patches in generic and arch specific. The generic
> ones gets applied to all archs, and only the arch specific ones for
> the selected arch.
> 
> The easiest setup is probably to use the naming convention:
> 
> - package-version-*.patch for generic stuff
> - arch-package-version-*.patch for arch specific stuff

No, because today the patches are applied to "*.patch" in some cases.
I believe that there is already a precedent to use "package-*.patch.$(ARCH)"

> 
> What do you think?
> 
> -- 
> Bye, Peter Korsgaard
> _______________________________________________


Best Regards
Ulf Samuelsson

^ permalink raw reply	[flat|nested] 13+ messages in thread

* [Buildroot] avr32 patches vs. x86 breakage
  2008-03-21  9:30       ` Peter Korsgaard
@ 2008-03-25  8:55         ` Ulf Samuelsson
  0 siblings, 0 replies; 13+ messages in thread
From: Ulf Samuelsson @ 2008-03-25  8:55 UTC (permalink / raw)
  To: buildroot

> Hi,
> 
> >> They should fix their arch and you should not add kludge to work around
> >> such bugs, imo.
> 
> Nigel> In an ideal situation yes .... but buildroot is an opensource
> Nigel> project with no time constraints imposed on its contributors.
> 
> But that doesn't mean that contributors don't care.
> 
> Nigel> If I contributed a patch to add an arch to GCC, and it broke 2
> Nigel> months down the line when people began to use it, are you just
> Nigel> going to remove it out of buildroot until it gets fixed? What
> Nigel> happens if it broke support for everything except its own
> Nigel> arch?  What happens if there were thousands of users of it,
> Nigel> more than any other arch?
> 
> If you would not be ready to support your work and no one else would
> step up to do it (or if I could/would myself) - Then yes. No one gains
> by stuff just sitting in the tree bitrotting.
> 
> Nigel> In this case its the AVR32 support which breaks x86 .... I'm sure there
> Nigel> are more users of AVR32 than x86. 1) its impractical to remove AVR32
> Nigel> support until its fixed, we don't know how long it will take  2) its
> Nigel> senseless to drop support for x86 because an AVR32 patch breaks it.


The AVR32 is supported in two ways today.
1) Through downloading the prepatched source
2) Through normal methods with patches in the toolchain/gcc/gcc-x.y.z

I doubt that we need both.
It is VERY practical to remove the AVR32 support from the toolchain directory.


Best Regards
Ulf Samuelsson

^ permalink raw reply	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2008-03-25  8:55 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-03-21  6:00 [Buildroot] avr32 patches vs. x86 breakage Nigel Kukard
2008-03-21  7:45 ` Peter Korsgaard
     [not found]   ` <1206086506.2562.64.camel@nigel-x60>
2008-03-21  8:18     ` Peter Korsgaard
2008-03-21  8:38       ` Nigel Kukard
2008-03-21  8:52   ` Bernhard Fischer
2008-03-21  9:12     ` Nigel Kukard
2008-03-21  9:30       ` Peter Korsgaard
2008-03-25  8:55         ` Ulf Samuelsson
     [not found]     ` <87hcf01m0r.fsf@macbook.be.48ers.dk>
2008-03-21  9:32       ` Peter Korsgaard
2008-03-21 11:36         ` John Voltz
2008-03-21 12:11           ` Bernhard Fischer
2008-03-21 12:47             ` John Voltz
2008-03-25  8:50   ` Ulf Samuelsson

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox