* [Buildroot] libmad and AVR32 optimisations @ 2013-02-20 22:58 Gilles Talis 2013-02-20 23:14 ` Benoît Thébaudeau 0 siblings, 1 reply; 12+ messages in thread From: Gilles Talis @ 2013-02-20 22:58 UTC (permalink / raw) To: buildroot All, There is small issue in the AVR32 optimization patch [1]. This is root cause for autobuild failures: e01f5a5484299dce1797966445f3972583c67b22 and 7ed0563fbbfc19c93ec5be35d3b6a95e496b4c5d. Reason is that some fixed-point math routines are implemented in architecture-specific files. If "architecture-specific optimizations" option is disabled from the build configuration, these routines are not compiled, but libmad is built with references to these functions though. My question is: is this issue worth fixing? I assume that libmad users will usually enable all possible architecture-specific optimizations. Thanks Gilles. [1] package/libmad/libmad-0.15.1b-optimization.patch.avr32 -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20130220/7e8a19c1/attachment.html> ^ permalink raw reply [flat|nested] 12+ messages in thread
* [Buildroot] libmad and AVR32 optimisations 2013-02-20 22:58 [Buildroot] libmad and AVR32 optimisations Gilles Talis @ 2013-02-20 23:14 ` Benoît Thébaudeau [not found] ` <CAKcgs2wW-vj=1NENE0mLmaZjwD6z9MrhzVm4aScnuX1f7COToQ@mail.gmail.com> 2013-02-21 10:33 ` Peter Korsgaard 0 siblings, 2 replies; 12+ messages in thread From: Benoît Thébaudeau @ 2013-02-20 23:14 UTC (permalink / raw) To: buildroot Dear Gilles, On Wednesday, February 20, 2013 11:58:29 PM, Gilles Talis wrote: > All, > There is small issue in the AVR32 optimization patch [1]. This is root cause > for autobuild failures: e01f5a5484299dce1797966445f3972583c67b22 and > 7ed0563fbbfc19c93ec5be35d3b6a95e496b4c5d. > Reason is that some fixed-point math routines are implemented in > architecture-specific files. If "architecture-specific optimizations" option > is disabled from the build configuration, these routines are not compiled, > but libmad is built with references to these functions though. > My question is: is this issue worth fixing? I assume that libmad users will > usually enable all possible architecture-specific optimizations. > Thanks > Gilles. > [1] package/libmad/libmad-0.15.1b-optimization.patch.avr32 This patch was clearly made for specific libmad settings. Rather than fixing it, it would be easier to simply add a "depends on !BR2_avr32" to the config options that fail on AVR32. Best regards, Beno?t ^ permalink raw reply [flat|nested] 12+ messages in thread
[parent not found: <CAKcgs2wW-vj=1NENE0mLmaZjwD6z9MrhzVm4aScnuX1f7COToQ@mail.gmail.com>]
* [Buildroot] libmad and AVR32 optimisations [not found] ` <CAKcgs2wW-vj=1NENE0mLmaZjwD6z9MrhzVm4aScnuX1f7COToQ@mail.gmail.com> @ 2013-02-21 0:55 ` Benoît Thébaudeau 2013-02-21 1:48 ` Gilles Talis 0 siblings, 1 reply; 12+ messages in thread From: Benoît Thébaudeau @ 2013-02-21 0:55 UTC (permalink / raw) To: buildroot Dear Gilles, Please always Cc the mailing list, use plain text (no HTML), and format your answers using bottom posting: http://en.wikipedia.org/wiki/Posting_style#Bottom-posting On Thursday, February 21, 2013 12:41:12 AM, Gilles Talis wrote: > Dear Benoit, > Thanks for your answer. > This was my initial thought: fix the package options. I agree with you that > it is easier. > But then I realized that it might be cleaner to fix the patch itself. > Still my question remains: is it worth it? Who, beside autobuilder, will > actually use such a configuration (build libmad on AVR32 without > architecture-specific optimizations). It is up to BuildRoot maintainers to decide. But I have already used this patch on AVR32, and the performance is too low without it to be able to do interesting things in parallel, so I don't think that any AVR32 user would be interested in libmad without enabling these optmizations, all the more the audio quality with these optimizations is still excellent. It's not like on ARM for which some settings produce distorted audio with some MP3s, so here all the settings make sense. > Thanks > Gilles. > 2013/2/20 Beno?t Th?baudeau < benoit.thebaudeau@advansee.com > > > Dear Gilles, > > > On Wednesday, February 20, 2013 11:58:29 PM, Gilles Talis wrote: > > > > All, > > > > There is small issue in the AVR32 optimization patch [1]. This is root > > > cause > > > > for autobuild failures: e01f5a5484299dce1797966445f3972583c67b22 and > > > > 7ed0563fbbfc19c93ec5be35d3b6a95e496b4c5d. > > > > Reason is that some fixed-point math routines are implemented in > > > > architecture-specific files. If "architecture-specific optimizations" > > > option > > > > is disabled from the build configuration, these routines are not > > > compiled, > > > > but libmad is built with references to these functions though. > > > > My question is: is this issue worth fixing? I assume that libmad users > > > will > > > > usually enable all possible architecture-specific optimizations. > > > > Thanks > > > > Gilles. > > > > [1] package/libmad/libmad-0.15.1b-optimization.patch.avr32 > > > This patch was clearly made for specific libmad settings. Rather than > > fixing > > it, > > > it would be easier to simply add a "depends on !BR2_avr32" to the config > > options > > > that fail on AVR32. Best regards, Beno?t ^ permalink raw reply [flat|nested] 12+ messages in thread
* [Buildroot] libmad and AVR32 optimisations 2013-02-21 0:55 ` Benoît Thébaudeau @ 2013-02-21 1:48 ` Gilles Talis 0 siblings, 0 replies; 12+ messages in thread From: Gilles Talis @ 2013-02-21 1:48 UTC (permalink / raw) To: buildroot Dear Benoit, 2013/2/20 Beno?t Th?baudeau <benoit.thebaudeau@advansee.com> > > Dear Gilles, > > Please always Cc the mailing list, use plain text (no HTML), and format your > answers using bottom posting: > http://en.wikipedia.org/wiki/Posting_style#Bottom-posting > > On Thursday, February 21, 2013 12:41:12 AM, Gilles Talis wrote: > > Dear Benoit, > > > Thanks for your answer. > > This was my initial thought: fix the package options. I agree with you that > > it is easier. > > But then I realized that it might be cleaner to fix the patch itself. > > > Still my question remains: is it worth it? Who, beside autobuilder, will > > actually use such a configuration (build libmad on AVR32 without > > architecture-specific optimizations). > > It is up to BuildRoot maintainers to decide. But I have already used this patch > on AVR32, and the performance is too low without it to be able to do interesting > things in parallel, so I don't think that any AVR32 user would be interested in > libmad without enabling these optmizations, all the more the audio quality with > these optimizations is still excellent. > > It's not like on ARM for which some settings produce distorted audio with some > MP3s, so here all the settings make sense. > > > Thanks > > Gilles. > > > 2013/2/20 Beno?t Th?baudeau < benoit.thebaudeau@advansee.com > > > > > Dear Gilles, > > > > > > On Wednesday, February 20, 2013 11:58:29 PM, Gilles Talis wrote: > > > > > > All, > > > > > > > There is small issue in the AVR32 optimization patch [1]. This is root > > > > cause > > > > > > for autobuild failures: e01f5a5484299dce1797966445f3972583c67b22 and > > > > > > 7ed0563fbbfc19c93ec5be35d3b6a95e496b4c5d. > > > > > > > Reason is that some fixed-point math routines are implemented in > > > > > > architecture-specific files. If "architecture-specific optimizations" > > > > option > > > > > > is disabled from the build configuration, these routines are not > > > > compiled, > > > > > > but libmad is built with references to these functions though. > > > > > > > My question is: is this issue worth fixing? I assume that libmad users > > > > will > > > > > > usually enable all possible architecture-specific optimizations. > > > > > > > Thanks > > > > > > Gilles. > > > > > > > [1] package/libmad/libmad-0.15.1b-optimization.patch.avr32 > > > > > > This patch was clearly made for specific libmad settings. Rather than > > > fixing > > > it, > > > > > it would be easier to simply add a "depends on !BR2_avr32" to the config > > > options > > > > > that fail on AVR32. > > Best regards, > Beno?t All apologies. I didn't realize I had not copied the list in my message. I should be more careful next time. And also thanks for the formatting tips. Thanks for your answer on libmad and AVR32. It confirms my thoughts. Regards, Gilles. ^ permalink raw reply [flat|nested] 12+ messages in thread
* [Buildroot] libmad and AVR32 optimisations 2013-02-20 23:14 ` Benoît Thébaudeau [not found] ` <CAKcgs2wW-vj=1NENE0mLmaZjwD6z9MrhzVm4aScnuX1f7COToQ@mail.gmail.com> @ 2013-02-21 10:33 ` Peter Korsgaard 2013-02-21 10:52 ` Simon Dawson 1 sibling, 1 reply; 12+ messages in thread From: Peter Korsgaard @ 2013-02-21 10:33 UTC (permalink / raw) To: buildroot >>>>> "Beno?t" == Beno?t Th?baudeau <benoit.thebaudeau@advansee.com> writes: >> [1] package/libmad/libmad-0.15.1b-optimization.patch.avr32 Beno?t> This patch was clearly made for specific libmad Beno?t> settings. Rather than fixing it, it would be easier to simply Beno?t> add a "depends on !BR2_avr32" to the config options that fail Beno?t> on AVR32. Or simply get rid of the huge patch - It's just an optimization, and not really needed, right? -- Bye, Peter Korsgaard ^ permalink raw reply [flat|nested] 12+ messages in thread
* [Buildroot] libmad and AVR32 optimisations 2013-02-21 10:33 ` Peter Korsgaard @ 2013-02-21 10:52 ` Simon Dawson 2013-02-21 10:58 ` Peter Korsgaard 0 siblings, 1 reply; 12+ messages in thread From: Simon Dawson @ 2013-02-21 10:52 UTC (permalink / raw) To: buildroot On 21 February 2013 10:33, Peter Korsgaard <jacmet@uclibc.org> wrote: > Or simply get rid of the huge patch - It's just an optimization, and not > really needed, right? The problem is that, for libmad to be usable on avr32, this optimization patch really *is* needed. Simon. ^ permalink raw reply [flat|nested] 12+ messages in thread
* [Buildroot] libmad and AVR32 optimisations 2013-02-21 10:52 ` Simon Dawson @ 2013-02-21 10:58 ` Peter Korsgaard 2013-02-21 12:28 ` Benoît Thébaudeau 0 siblings, 1 reply; 12+ messages in thread From: Peter Korsgaard @ 2013-02-21 10:58 UTC (permalink / raw) To: buildroot >>>>> "Simon" == Simon Dawson <spdawson@gmail.com> writes: Simon> On 21 February 2013 10:33, Peter Korsgaard <jacmet@uclibc.org> wrote: >> Or simply get rid of the huge patch - It's just an optimization, and not >> really needed, right? Simon> The problem is that, for libmad to be usable on avr32, this Simon> optimization patch really *is* needed. Ok, then lets fix it up instead. -- Bye, Peter Korsgaard ^ permalink raw reply [flat|nested] 12+ messages in thread
* [Buildroot] libmad and AVR32 optimisations 2013-02-21 10:58 ` Peter Korsgaard @ 2013-02-21 12:28 ` Benoît Thébaudeau 2013-02-21 12:42 ` Peter Korsgaard 0 siblings, 1 reply; 12+ messages in thread From: Benoît Thébaudeau @ 2013-02-21 12:28 UTC (permalink / raw) To: buildroot Dear Peter Korsgaard, all, On Thursday, February 21, 2013 11:58:12 AM, Peter Korsgaard wrote: > >>>>> "Simon" == Simon Dawson <spdawson@gmail.com> writes: > > Simon> On 21 February 2013 10:33, Peter Korsgaard <jacmet@uclibc.org> wrote: > >> Or simply get rid of the huge patch - It's just an optimization, and not > >> really needed, right? > > Simon> The problem is that, for libmad to be usable on avr32, this > Simon> optimization patch really *is* needed. > > Ok, then lets fix it up instead. To fix it up, you can check if libmad is provided with the ASF: http://www.atmel.com/tools/AVRSOFTWAREFRAMEWORK.aspx If so, it may have been cleaned up since the BuildRoot patch, so generate a new patch from the ASF against mainline libmad, and retest. Best regards, Beno?t ^ permalink raw reply [flat|nested] 12+ messages in thread
* [Buildroot] libmad and AVR32 optimisations 2013-02-21 12:28 ` Benoît Thébaudeau @ 2013-02-21 12:42 ` Peter Korsgaard 2013-02-21 19:36 ` Simon Dawson 0 siblings, 1 reply; 12+ messages in thread From: Peter Korsgaard @ 2013-02-21 12:42 UTC (permalink / raw) To: buildroot >>>>> "Beno?t" == Beno?t Th?baudeau <benoit.thebaudeau@advansee.com> writes: Simon> The problem is that, for libmad to be usable on avr32, this Simon> optimization patch really *is* needed. >> >> Ok, then lets fix it up instead. Beno?t> To fix it up, you can check if libmad is provided with the ASF: Beno?t> http://www.atmel.com/tools/AVRSOFTWAREFRAMEWORK.aspx Beno?t> If so, it may have been cleaned up since the BuildRoot patch, Beno?t> so generate a new patch from the ASF against mainline libmad, Beno?t> and retest. Simon, will you look into this? -- Bye, Peter Korsgaard ^ permalink raw reply [flat|nested] 12+ messages in thread
* [Buildroot] libmad and AVR32 optimisations 2013-02-21 12:42 ` Peter Korsgaard @ 2013-02-21 19:36 ` Simon Dawson 2013-02-21 20:39 ` Peter Korsgaard 0 siblings, 1 reply; 12+ messages in thread From: Simon Dawson @ 2013-02-21 19:36 UTC (permalink / raw) To: buildroot On 21 February 2013 12:42, Peter Korsgaard <jacmet@uclibc.org> wrote: >>>>>> "Beno?t" == Beno?t Th?baudeau <benoit.thebaudeau@advansee.com> writes: > > Simon> The problem is that, for libmad to be usable on avr32, this > Simon> optimization patch really *is* needed. > >> > >> Ok, then lets fix it up instead. > > Beno?t> To fix it up, you can check if libmad is provided with the ASF: > Beno?t> http://www.atmel.com/tools/AVRSOFTWAREFRAMEWORK.aspx > > Beno?t> If so, it may have been cleaned up since the BuildRoot patch, > Beno?t> so generate a new patch from the ASF against mainline libmad, > Beno?t> and retest. > > Simon, will you look into this? Unfortunately, this approach doesn't work: using a regenerated avr32 patch from ASF, the madplay build still fails in exactly the same manner if the architecture-specific optimisations are disabled for libmad. A simpler approach would be to force the arch-specific optimisations to be enabled for avr32; would that be an acceptable compromise? Simon. ^ permalink raw reply [flat|nested] 12+ messages in thread
* [Buildroot] libmad and AVR32 optimisations 2013-02-21 19:36 ` Simon Dawson @ 2013-02-21 20:39 ` Peter Korsgaard 2013-02-22 1:03 ` Gilles Talis 0 siblings, 1 reply; 12+ messages in thread From: Peter Korsgaard @ 2013-02-21 20:39 UTC (permalink / raw) To: buildroot >>>>> "Simon" == Simon Dawson <spdawson@gmail.com> writes: >> Simon, will you look into this? Simon> Unfortunately, this approach doesn't work: using a regenerated avr32 Simon> patch from ASF, the madplay build still fails in exactly the same Simon> manner if the architecture-specific optimisations are disabled for Simon> libmad. Simon> A simpler approach would be to force the arch-specific optimisations Simon> to be enabled for avr32; would that be an acceptable compromise? Yes I think so. Care to send a patch? -- Bye, Peter Korsgaard ^ permalink raw reply [flat|nested] 12+ messages in thread
* [Buildroot] libmad and AVR32 optimisations 2013-02-21 20:39 ` Peter Korsgaard @ 2013-02-22 1:03 ` Gilles Talis 0 siblings, 0 replies; 12+ messages in thread From: Gilles Talis @ 2013-02-22 1:03 UTC (permalink / raw) To: buildroot 2013/2/21 Peter Korsgaard <jacmet@uclibc.org>: >>>>>> "Simon" == Simon Dawson <spdawson@gmail.com> writes: > > >> Simon, will you look into this? > > Simon> Unfortunately, this approach doesn't work: using a regenerated avr32 > Simon> patch from ASF, the madplay build still fails in exactly the same > Simon> manner if the architecture-specific optimisations are disabled for > Simon> libmad. > > Simon> A simpler approach would be to force the arch-specific optimisations > Simon> to be enabled for avr32; would that be an acceptable compromise? > > Yes I think so. Care to send a patch? Done. Thanks all for your valuable comments. Gilles. ^ permalink raw reply [flat|nested] 12+ messages in thread
end of thread, other threads:[~2013-02-22 1:03 UTC | newest]
Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-02-20 22:58 [Buildroot] libmad and AVR32 optimisations Gilles Talis
2013-02-20 23:14 ` Benoît Thébaudeau
[not found] ` <CAKcgs2wW-vj=1NENE0mLmaZjwD6z9MrhzVm4aScnuX1f7COToQ@mail.gmail.com>
2013-02-21 0:55 ` Benoît Thébaudeau
2013-02-21 1:48 ` Gilles Talis
2013-02-21 10:33 ` Peter Korsgaard
2013-02-21 10:52 ` Simon Dawson
2013-02-21 10:58 ` Peter Korsgaard
2013-02-21 12:28 ` Benoît Thébaudeau
2013-02-21 12:42 ` Peter Korsgaard
2013-02-21 19:36 ` Simon Dawson
2013-02-21 20:39 ` Peter Korsgaard
2013-02-22 1:03 ` Gilles Talis
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox