When declaring them constant, they are written on the .rodata section
instead of .data, which means that they can be mapped directly from
disk to memory.

Signed-off-by: Diego Elio Pettenò <[email protected]>
---
 include/osmocom/codec/codec.h |   24 ++++++++++++------------
 src/codec/gsm610.c            |    2 +-
 src/codec/gsm620.c            |    4 ++--
 src/codec/gsm660.c            |    2 +-
 src/codec/gsm690.c            |   16 ++++++++--------
 5 files changed, 24 insertions(+), 24 deletions(-)

diff --git a/include/osmocom/codec/codec.h b/include/osmocom/codec/codec.h
index 6f9ffea..81f5d4b 100644
--- a/include/osmocom/codec/codec.h
+++ b/include/osmocom/codec/codec.h
@@ -3,18 +3,18 @@
 
 #include <stdint.h>
 
-extern uint16_t gsm610_bitorder[];     /* FR */
-extern uint16_t gsm620_unvoiced_bitorder[]; /* HR unvoiced */
-extern uint16_t gsm620_voiced_bitorder[];   /* HR voiced */
-extern uint16_t gsm660_bitorder[];     /* EFR */
+extern const uint16_t gsm610_bitorder[];       /* FR */
+extern const uint16_t gsm620_unvoiced_bitorder[]; /* HR unvoiced */
+extern const uint16_t gsm620_voiced_bitorder[];   /* HR voiced */
+extern const uint16_t gsm660_bitorder[];       /* EFR */
 
-extern uint16_t gsm690_12_2_bitorder[];        /* AMR 12.2  kbits */
-extern uint16_t gsm690_10_2_bitorder[];        /* AMR 10.2  kbits */
-extern uint16_t gsm690_7_95_bitorder[];        /* AMR  7.95 kbits */
-extern uint16_t gsm690_7_4_bitorder[]; /* AMR  7.4  kbits */
-extern uint16_t gsm690_6_7_bitorder[]; /* AMR  6.7  kbits */
-extern uint16_t gsm690_5_9_bitorder[]; /* AMR  5.9  kbits */
-extern uint16_t gsm690_5_15_bitorder[];        /* AMR  5.15 kbits */
-extern uint16_t gsm690_4_75_bitorder[];        /* AMR  4.75 kbits */
+extern const uint16_t gsm690_12_2_bitorder[];  /* AMR 12.2  kbits */
+extern const uint16_t gsm690_10_2_bitorder[];  /* AMR 10.2  kbits */
+extern const uint16_t gsm690_7_95_bitorder[];  /* AMR  7.95 kbits */
+extern const uint16_t gsm690_7_4_bitorder[];   /* AMR  7.4  kbits */
+extern const uint16_t gsm690_6_7_bitorder[];   /* AMR  6.7  kbits */
+extern const uint16_t gsm690_5_9_bitorder[];   /* AMR  5.9  kbits */
+extern const uint16_t gsm690_5_15_bitorder[];  /* AMR  5.15 kbits */
+extern const uint16_t gsm690_4_75_bitorder[];  /* AMR  4.75 kbits */
 
 #endif /* _OSMOCOM_CODEC_H */
diff --git a/src/codec/gsm610.c b/src/codec/gsm610.c
index 09fbeb5..35f6011 100644
--- a/src/codec/gsm610.c
+++ b/src/codec/gsm610.c
@@ -30,7 +30,7 @@
         * It converts between serial parameter output by the encoder and the
         * order needed before channel encoding.
         */
-uint16_t gsm610_bitorder[260] = {
+const uint16_t gsm610_bitorder[260] = {
        0,      /* LARc0:5 */
        47,     /* Xmaxc0:5 */
        103,    /* Xmaxc1:5 */
diff --git a/src/codec/gsm620.c b/src/codec/gsm620.c
index 09aca50..fa570e4 100644
--- a/src/codec/gsm620.c
+++ b/src/codec/gsm620.c
@@ -27,7 +27,7 @@
        /* This array encode mapping between GSM 05.03 Table 3a (bits
         * ordering before channel coding on TCH) and GSM 06.20 Table B.1
         * (bit ordering on A-bis */
-uint16_t gsm620_unvoiced_bitorder[112] = {
+const uint16_t gsm620_unvoiced_bitorder[112] = {
        3,      /* R0:1 */
        25,     /* LPC 3:7 */
        52,     /* GSP 0-1:2 */
@@ -146,7 +146,7 @@ uint16_t gsm620_unvoiced_bitorder[112] = {
        /* This array encode mapping between GSM 05.03 Table 3b (bits
         * ordering before channel coding on TCH) and GSM 06.20 Table B.2
         * (bit ordering on A-bis */
-uint16_t gsm620_voiced_bitorder[112] = {
+const uint16_t gsm620_voiced_bitorder[112] = {
        13,     /* LPC 1:2 */
        14,     /* LPC 1:1 */
        20,     /* LPC 2:4 */
diff --git a/src/codec/gsm660.c b/src/codec/gsm660.c
index 4fff5ff..c044a2a 100644
--- a/src/codec/gsm660.c
+++ b/src/codec/gsm660.c
@@ -32,7 +32,7 @@
         * applied prior to this table, as in GSM 05.03 3.1.1, to get 260
         * bits from a 244 bits raw EFR frame.
         */
-uint16_t gsm660_bitorder[260] = {
+const uint16_t gsm660_bitorder[260] = {
         38,  39,  40,  41,  42,  43,           /*   0 -> LTP-LAG 1: b8..b3 */
        145, 146, 147, 148, 149, 150,           /*   6 -> LTP-LAG 3: b8..b3 */
         93,  94,                               /*  12 -> LTP-LAG 2: b5..b4 */
diff --git a/src/codec/gsm690.c b/src/codec/gsm690.c
index e5b9bd4..fdf3302 100644
--- a/src/codec/gsm690.c
+++ b/src/codec/gsm690.c
@@ -33,7 +33,7 @@
        /* This array encodes GSM 05.03 Table 7
         * It's also TS 26.101 Table B.8
         */
-uint16_t gsm690_12_2_bitorder[244] = {
+const uint16_t gsm690_12_2_bitorder[244] = {
          0,   1,   2,   3,   4,   5,   6,   7,   8,   9,
         10,  11,  12,  13,  14,  23,  15,  16,  17,  18,
         19,  20,  21,  22,  24,  25,  26,  27,  28,  38,
@@ -65,7 +65,7 @@ uint16_t gsm690_12_2_bitorder[244] = {
        /* This array encodes GSM 05.03 Table 8
         * It's also TS 26.101 Table B.7
         */
-uint16_t gsm690_10_2_bitorder[204] = {
+const uint16_t gsm690_10_2_bitorder[204] = {
          7,   6,   5,   4,   3,   2,   1,   0,  16,  15,
         14,  13,  12,  11,  10,   9,   8,  26,  27,  28,
         29,  30,  31, 115, 116, 117, 118, 119, 120,  72,
@@ -93,7 +93,7 @@ uint16_t gsm690_10_2_bitorder[204] = {
        /* This array encodes GSM 05.03 Table 9
         * It's also TS 26.101 Table B.6
         */
-uint16_t gsm690_7_95_bitorder[159] = {
+const uint16_t gsm690_7_95_bitorder[159] = {
          8,   7,   6,   5,   4,   3,   2,  14,  16,   9,
         10,  12,  13,  15,  11,  17,  20,  22,  24,  23,
         19,  18,  21,  56,  88, 122, 154,  57,  89, 123,
@@ -116,7 +116,7 @@ uint16_t gsm690_7_95_bitorder[159] = {
        /* This array encodes GSM 05.03 Table 10
         * It's also TS 26.101 Table B.5
         */
-uint16_t gsm690_7_4_bitorder[148] = {
+const uint16_t gsm690_7_4_bitorder[148] = {
          0,   1,   2,   3,   4,   5,   6,   7,   8,   9,
         10,  11,  12,  13,  14,  15,  16,  26,  87,  27,
         88,  28,  89,  29,  90,  30,  91,  51,  80, 112,
@@ -138,7 +138,7 @@ uint16_t gsm690_7_4_bitorder[148] = {
        /* This array encodes GSM 05.03 Table 11
         * It's also TS 26.101 Table B.4
         */
-uint16_t gsm690_6_7_bitorder[134] = {
+const uint16_t gsm690_6_7_bitorder[134] = {
          0,   1,   4,   3,   5,   6,  13,   7,   2,   8,
          9,  11,  15,  12,  14,  10,  28,  82,  29,  83,
         27,  81,  26,  80,  30,  84,  16,  55, 109,  56,
@@ -159,7 +159,7 @@ uint16_t gsm690_6_7_bitorder[134] = {
        /* This array encodes GSM 05.03 Table 12
         * It's also TS 26.101 Table B.3
         */
-uint16_t gsm690_5_9_bitorder[118] = {
+const uint16_t gsm690_5_9_bitorder[118] = {
          0,   1,   4,   5,   3,   6,   7,   2,  13,  15,
          8,   9,  11,  12,  14,  10,  16,  28,  74,  29,
         75,  27,  73,  26,  72,  30,  76,  51,  97,  50,
@@ -178,7 +178,7 @@ uint16_t gsm690_5_9_bitorder[118] = {
        /* This array encodes GSM 05.03 Table 13
         * It's also TS 26.101 Table B.2
         */
-uint16_t gsm690_5_15_bitorder[103] = {
+const uint16_t gsm690_5_15_bitorder[103] = {
          7,   6,   5,   4,   3,   2,   1,   0,  15,  14,
         13,  12,  11,  10,   9,   8,  23,  24,  25,  26,
         27,  46,  65,  84,  45,  44,  43,  64,  63,  62,
@@ -196,7 +196,7 @@ uint16_t gsm690_5_15_bitorder[103] = {
        /* This array encodes GSM 05.03 Table 14
         * It's also TS 26.101 Table B.1
         */
-uint16_t gsm690_4_75_bitorder[95] = {
+const uint16_t gsm690_4_75_bitorder[95] = {
          0,   1,   2,   3,   4,   5,   6,   7,   8,   9,
         10,  11,  12,  13,  14,  15,  23,  24,  25,  26,
         27,  28,  48,  49,  61,  62,  82,  83,  47,  46,
-- 
1.7.8.6


Reply via email to