diff options
author | Dave Chapman <dave@dchapman.com> | 2009-10-04 08:49:23 +0000 |
---|---|---|
committer | Dave Chapman <dave@dchapman.com> | 2009-10-04 08:49:23 +0000 |
commit | 9546e4093d8a6f9b27c06db242894c3dc9d9f574 (patch) | |
tree | 5d7571051b6d08993448ba3493c0bd678998f1fe /apps/codecs/libtremor/framing.c | |
parent | ccec5cfe79025b4f203619a0d8b4083445e6063c (diff) | |
download | rockbox-9546e4093d8a6f9b27c06db242894c3dc9d9f574.tar.gz rockbox-9546e4093d8a6f9b27c06db242894c3dc9d9f574.zip |
Add STATICIRAM_NOT_MDCT as a workaround for the gcc bug where static functions are not long called. This is currently only an issue on the Nano2G (S5L8701 CPU) which is the only ARM target with enough IRAM for these functions. Also add multiple-inclusion protection for config-tremor.h. All plugins and codecs now compile cleanly for the Nano2G.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22914 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/codecs/libtremor/framing.c')
-rw-r--r-- | apps/codecs/libtremor/framing.c | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/apps/codecs/libtremor/framing.c b/apps/codecs/libtremor/framing.c index fb26b02709..ec1e4c34c2 100644 --- a/apps/codecs/libtremor/framing.c +++ b/apps/codecs/libtremor/framing.c | |||
@@ -104,9 +104,9 @@ static ogg_buffer *_fetch_buffer(ogg_buffer_state *bs,long bytes){ | |||
104 | return ob; | 104 | return ob; |
105 | } | 105 | } |
106 | 106 | ||
107 | static ogg_reference *_fetch_ref(ogg_buffer_state *bs) | 107 | STATICIRAM_NOT_MDCT ogg_reference *_fetch_ref(ogg_buffer_state *bs) |
108 | ICODE_ATTR_TREMOR_NOT_MDCT; | 108 | ICODE_ATTR_TREMOR_NOT_MDCT; |
109 | static ogg_reference *_fetch_ref(ogg_buffer_state *bs){ | 109 | STATICIRAM_NOT_MDCT ogg_reference *_fetch_ref(ogg_buffer_state *bs){ |
110 | ogg_reference *or; | 110 | ogg_reference *or; |
111 | bs->outstanding++; | 111 | bs->outstanding++; |
112 | 112 | ||
@@ -789,8 +789,9 @@ static void _next_lace(oggbyte_buffer *ob,ogg_stream_state *os){ | |||
789 | } | 789 | } |
790 | } | 790 | } |
791 | 791 | ||
792 | static void _span_queued_page(ogg_stream_state *os) ICODE_ATTR_TREMOR_NOT_MDCT; | 792 | STATICIRAM_NOT_MDCT void _span_queued_page(ogg_stream_state *os) |
793 | static void _span_queued_page(ogg_stream_state *os){ | 793 | ICODE_ATTR_TREMOR_NOT_MDCT; |
794 | STATICIRAM_NOT_MDCT void _span_queued_page(ogg_stream_state *os){ | ||
794 | while( !(os->body_fill&FINFLAG) ){ | 795 | while( !(os->body_fill&FINFLAG) ){ |
795 | 796 | ||
796 | if(!os->header_tail)break; | 797 | if(!os->header_tail)break; |
@@ -948,9 +949,9 @@ int ogg_stream_reset_serialno(ogg_stream_state *os,int serialno){ | |||
948 | return OGG_SUCCESS; | 949 | return OGG_SUCCESS; |
949 | } | 950 | } |
950 | 951 | ||
951 | static int _packetout(ogg_stream_state *os,ogg_packet *op,int adv) | 952 | STATICIRAM_NOT_MDCT int _packetout(ogg_stream_state *os,ogg_packet *op,int adv) |
952 | ICODE_ATTR_TREMOR_NOT_MDCT; | 953 | ICODE_ATTR_TREMOR_NOT_MDCT; |
953 | static int _packetout(ogg_stream_state *os,ogg_packet *op,int adv){ | 954 | STATICIRAM_NOT_MDCT int _packetout(ogg_stream_state *os,ogg_packet *op,int adv){ |
954 | 955 | ||
955 | ogg_packet_release(op); | 956 | ogg_packet_release(op); |
956 | _span_queued_page(os); | 957 | _span_queued_page(os); |
@@ -1028,10 +1029,14 @@ static int _packetout(ogg_stream_state *os,ogg_packet *op,int adv){ | |||
1028 | return 1; | 1029 | return 1; |
1029 | } | 1030 | } |
1030 | 1031 | ||
1032 | int ogg_stream_packetout(ogg_stream_state *os,ogg_packet *op) | ||
1033 | ICODE_ATTR_TREMOR_NOT_MDCT; | ||
1031 | int ogg_stream_packetout(ogg_stream_state *os,ogg_packet *op){ | 1034 | int ogg_stream_packetout(ogg_stream_state *os,ogg_packet *op){ |
1032 | return _packetout(os,op,1); | 1035 | return _packetout(os,op,1); |
1033 | } | 1036 | } |
1034 | 1037 | ||
1038 | int ogg_stream_packetpeek(ogg_stream_state *os,ogg_packet *op) | ||
1039 | ICODE_ATTR_TREMOR_NOT_MDCT; | ||
1035 | int ogg_stream_packetpeek(ogg_stream_state *os,ogg_packet *op){ | 1040 | int ogg_stream_packetpeek(ogg_stream_state *os,ogg_packet *op){ |
1036 | return _packetout(os,op,0); | 1041 | return _packetout(os,op,0); |
1037 | } | 1042 | } |