Make toolchain configration to fix mpg123 global and move to Makefile
authorUlf Samuelsson <ulf.samuelsson@atmel.com>
Sat, 24 Jan 2009 11:27:47 +0000 (11:27 -0000)
committerUlf Samuelsson <ulf.samuelsson@atmel.com>
Sat, 24 Jan 2009 11:27:47 +0000 (11:27 -0000)
package/Makefile.in
package/multimedia/mpg123/Config.in
package/multimedia/mpg123/mpg123-0.66-arm-unroll.patch

index e9cf014f020a86ba1245b20334b7a4fa9efa6223..25aadf7a5b4a3f873153c038a872415b2ae8c389 100644 (file)
@@ -88,6 +88,14 @@ ifeq ($(BR2_LARGEFILE),y)
 TARGET_CFLAGS+=-D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64
 endif
 
+# Handle bug fixes in toolchain
+ifeq ($(BR2_arm),y)
+ifeq ($(BR2_GCC_VERSION_4_3_2),y)
+# Removes segment violation in mpg123.
+TARGET_CFLAGS+=-DARM_UNROLL_FIX
+endif
+endif
+
 TARGET_CXXFLAGS=$(TARGET_CFLAGS)
 
 # else it's an external toolchain
index 6b17dc1336c152263960f2fd7662755d19313541..e3e8047b76440bf6184ce1e9eafe90e933018004 100644 (file)
@@ -11,6 +11,3 @@ config BR2_PACKAGE_MPG123_ALSA
        default y
        depends on BR2_PACKAGE_ALSA_LIB
 
-config BR2_PACKAGE_MPG123_ARM_UNROLL_FIX
-       bool
-       default y if BR2_arm && BR2_GCC_VERSION_4_3_2
index 6d8ff2258ce26777234fa5f65a57cc6dfff649c4..7697a03b2941227475991f626f75810dbaa94f98 100644 (file)
@@ -5,7 +5,7 @@ diff -urN mpg123-0.66-0rig//src/layer2.c mpg123-0.66/src/layer2.c
  
  }
  
-+#if   defined(MPG123_ARM_UNROLL_FIX)
++#if   defined(ARM_UNROLL_FIX)
 +static int    al_table_get_d_out;
 +void al_table_get_d(struct al_table * al)
 +{
@@ -28,7 +28,7 @@ diff -urN mpg123-0.66-0rig//src/layer2.c mpg123-0.66/src/layer2.c
          if ( (ba=*bita++) ) 
          {
            k=(alloc2 = alloc1+ba)->bits;
-+#if   defined(MPG123_ARM_UNROLL_FIX)
++#if   defined(ARM_UNROLL_FIX)
 +        al_table_get_d(alloc2);
 +        d1 = al_table_get_d_out;
 +          if( (d1) < 0) 
@@ -42,7 +42,7 @@ diff -urN mpg123-0.66-0rig//src/layer2.c mpg123-0.66/src/layer2.c
        if ( (ba=*bita++) )
        {
          k=(alloc2 = alloc1+ba)->bits;
-+#if   defined(MPG123_ARM_UNROLL_FIX)
++#if   defined(ARM_UNROLL_FIX)
 +      al_table_get_d(alloc2);
 +      d1 = al_table_get_d_out;
 +        if( (d1) < 0)
@@ -60,7 +60,7 @@ diff -urN mpg123-0.66-0rig//src/layer3.c mpg123-0.66/src/layer3.c
  static int pretab1[22] = {0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,2,2,3,3,3,2,0};
  static int pretab2[22] = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
 -
-+#if   defined(MPG123_ARM_UNROLL_FIX)
++#if   defined(ARM_UNROLL_FIX)
 +extern int arm_funroll_data;
 +extern void arm_funroll_fix(short *val);
 +#endif
@@ -71,7 +71,7 @@ diff -urN mpg123-0.66-0rig//src/layer3.c mpg123-0.66/src/layer3.c
              step = 3;
            }
          }
-+#if   defined(MPG123_ARM_UNROLL_FIX)
++#if   defined(ARM_UNROLL_FIX)
 +      {
 +          register short *val = h->table;
 +          REFRESH_MASK;
@@ -104,7 +104,7 @@ diff -urN mpg123-0.66-0rig//src/layer3.c mpg123-0.66/src/layer3.c
              v = gr_info->pow2gain[((*scf++) + (*pretab++)) << shift];
  
          }
-+#if   defined(MPG123_ARM_UNROLL_FIX)
++#if   defined(ARM_UNROLL_FIX)
 +      {
 +          register short *val = h->table;
 +          REFRESH_MASK;
@@ -789,7 +789,7 @@ diff -urN mpg123-0.66-0rig//src/layer3.c~ mpg123-0.66/src/layer3.c~
 +
 +static int pretab1[22] = {0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,2,2,3,3,3,2,0};
 +static int pretab2[22] = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
-+#if   defined(MPG123_ARM_UNROLL_FIX)
++#if   defined(ARM_UNROLL_FIX)
 +extern int arm_funroll_data;
 +extern void arm_funroll_fix(short *val);
 +#endif
@@ -1081,7 +1081,7 @@ diff -urN mpg123-0.66-0rig//src/layer3.c~ mpg123-0.66/src/layer3.c~
 +            v = gr_info->pow2gain[((*scf++) + (*pretab++)) << shift];
 +
 +        }
-+#if   defined(MPG123_ARM_UNROLL_FIX)
++#if   defined(ARM_UNROLL_FIX)
 +      {
 +          register short *val = h->table;
 +          REFRESH_MASK;
@@ -1171,7 +1171,7 @@ diff -urN mpg123-0.66-0rig//src/layer3.c~ mpg123-0.66/src/layer3.c~
 +      register short *val = h->table,a;
 +
 +      REFRESH_MASK;
-+#if   defined(MPG123_ARM_UNROLL_FIX)
++#if   defined(ARM_UNROLL_FIX)
 +      do {
 +              arm_funroll_fix(val); val++;
 +              a = arm_funroll_data;