wok-current rev 3919
linux: fix build
author | Pascal Bellard <pascal.bellard@slitaz.org> |
---|---|
date | Tue Aug 18 19:22:04 2009 +0200 (2009-08-18) |
parents | 0cd931b3cd79 |
children | bea1fdc6a26e |
files | linux/receipt linux/stuff/linux-unlzma-2.6.30.4.u |
line diff
1.1 --- a/linux/receipt Tue Aug 18 18:45:48 2009 +0200 1.2 +++ b/linux/receipt Tue Aug 18 19:22:04 2009 +0200 1.3 @@ -42,10 +42,11 @@ 1.4 cp ../stuff/$PACKAGE-$VERSION-slitaz.config .config 1.5 make oldconfig 1.6 ln .config slitaz/config 1.7 - make bzImage 1.8 - make modules 1.9 - make INSTALL_MOD_PATH=$PWD/_pkg modules_install 1.10 - make INSTALL_HDR_PATH=$PWD/_pkg/usr headers_install 1.11 + make bzImage && 1.12 + make modules && 1.13 + make INSTALL_MOD_PATH=$PWD/_pkg modules_install && 1.14 + make INSTALL_HDR_PATH=$PWD/_pkg/usr headers_install && 1.15 + [ -s arch/x86/boot/bzImage ] 1.16 } 1.17 1.18 # Rules to gen a SliTaz package suitable for Tazpkg.
2.1 --- a/linux/stuff/linux-unlzma-2.6.30.4.u Tue Aug 18 18:45:48 2009 +0200 2.2 +++ b/linux/stuff/linux-unlzma-2.6.30.4.u Tue Aug 18 19:22:04 2009 +0200 2.3 @@ -39,42 +39,72 @@ 2.4 if (!wr->flush) { 2.5 int32_t pos; 2.6 while (offs > wr->header->dict_size) 2.7 -@@ -311,6 +323,34 @@ 2.8 +@@ -309,8 +321,41 @@ 2.9 2.10 + } 2.11 + 2.12 ++static inline void INIT write_byte_if_cpio(struct writer *wr, uint8_t byte) 2.13 ++{ 2.14 ++ if (wr->buffer_pos % LZMA_IOBUF_SIZE == 0) { 2.15 ++ // if the following large_malloc fails, the initramfs 2.16 ++ // whould not be load with is_cpio_flush forced 0 too. 2.17 ++ // Remember we do not allocate historic buffer. 2.18 ++ // Let's assume it will never fail ! 2.19 ++ if (wr->next_index >= wr->max_index) { 2.20 ++ // realloc wr->buffer_index 2.21 ++ uint8_t **p = wr->buffer_index; 2.22 ++ wr->buffer_index = (uint8_t **) 2.23 ++ large_malloc(LZMA_IOBUF_SIZE + 2.24 ++ sizeof(*p) * wr->max_index); 2.25 ++ if (wr->max_index) { 2.26 ++ memcpy(wr->buffer_index, p, 2.27 ++ sizeof(*p) * wr->max_index); 2.28 ++ free(p); 2.29 ++ } 2.30 ++ wr->max_index += LZMA_IOBUF_SIZE / sizeof(*p); 2.31 ++ } 2.32 ++ wr->buffer_index[wr->next_index++] = 2.33 ++ (uint8_t *) large_malloc(LZMA_IOBUF_SIZE); 2.34 ++ } 2.35 ++ wr->buffer_index[wr->buffer_pos / LZMA_IOBUF_SIZE] 2.36 ++ [wr->buffer_pos % LZMA_IOBUF_SIZE] = 2.37 ++ wr->previous_byte = byte; 2.38 ++ wr->buffer_pos++; 2.39 ++} 2.40 ++ 2.41 static inline void INIT write_byte(struct writer *wr, uint8_t byte) 2.42 { 2.43 + if (wr->is_cpio_flush) { 2.44 -+ if (wr->buffer_pos % LZMA_IOBUF_SIZE == 0) { 2.45 -+ // if the following large_malloc fails, the initramfs 2.46 -+ // whould not be load with is_cpio_flush forced 0 too. 2.47 -+ // Remember we do not allocate historic buffer. 2.48 -+ // Let's assume it will never fail ! 2.49 -+ if (wr->next_index >= wr->max_index) { 2.50 -+ // realloc wr->buffer_index 2.51 -+ uint8_t **p = wr->buffer_index; 2.52 -+ wr->buffer_index = (uint8_t **) 2.53 -+ large_malloc(LZMA_IOBUF_SIZE + 2.54 -+ sizeof(*p) * wr->max_index); 2.55 -+ if (wr->max_index) { 2.56 -+ memcpy(wr->buffer_index, p, 2.57 -+ sizeof(*p) * wr->max_index); 2.58 -+ free(p); 2.59 -+ } 2.60 -+ wr->max_index += LZMA_IOBUF_SIZE / sizeof(*p); 2.61 -+ } 2.62 -+ wr->buffer_index[wr->next_index++] = 2.63 -+ (uint8_t *) large_malloc(LZMA_IOBUF_SIZE); 2.64 -+ } 2.65 -+ wr->buffer_index[wr->buffer_pos / LZMA_IOBUF_SIZE] 2.66 -+ [wr->buffer_pos % LZMA_IOBUF_SIZE] = 2.67 -+ wr->previous_byte = byte; 2.68 -+ wr->buffer_pos++; 2.69 ++ write_byte_if_cpio(wr, byte); 2.70 + return; 2.71 + } 2.72 wr->buffer[wr->buffer_pos++] = wr->previous_byte = byte; 2.73 if (wr->flush && wr->buffer_pos == wr->header->dict_size) { 2.74 wr->buffer_pos = 0; 2.75 -@@ -339,6 +379,9 @@ 2.76 +@@ -328,7 +373,21 @@ 2.77 + static inline void INIT copy_bytes(struct writer *wr, 2.78 + uint32_t rep0, int len) 2.79 + { 2.80 +- do { 2.81 ++ if (wr->is_cpio_flush) { 2.82 ++ int32_t pos; 2.83 ++ uint32_t offs = rep0; 2.84 ++ while (offs > wr->header->dict_size) 2.85 ++ offs -= wr->header->dict_size; 2.86 ++ pos = wr->buffer_pos - offs; 2.87 ++ do { 2.88 ++ write_byte_if_cpio(wr, 2.89 ++ wr->buffer_index[pos / LZMA_IOBUF_SIZE] 2.90 ++ [pos % LZMA_IOBUF_SIZE]); 2.91 ++ pos++; 2.92 ++ len--; 2.93 ++ } while (len != 0 && wr->buffer_pos < wr->header->dst_size); 2.94 ++ } 2.95 ++ else do { 2.96 + copy_byte(wr, rep0); 2.97 + len--; 2.98 + } while (len != 0 && wr->buffer_pos < wr->header->dst_size); 2.99 +@@ -339,6 +398,9 @@ 2.100 int pos_state, uint16_t *prob, 2.101 int lc, uint32_t literal_pos_mask) { 2.102 int mi = 1; 2.103 @@ -84,7 +114,7 @@ 2.104 rc_update_bit_0(rc, prob); 2.105 prob = (p + LZMA_LITERAL + 2.106 (LZMA_LIT_SIZE 2.107 -@@ -369,18 +412,13 @@ 2.108 +@@ -369,18 +431,13 @@ 2.109 rc_get_bit(rc, prob_lit, &mi); 2.110 } 2.111 write_byte(wr, mi); 2.112 @@ -105,7 +135,7 @@ 2.113 uint16_t *prob_len; 2.114 int num_bits; 2.115 int len; 2.116 -@@ -396,7 +434,7 @@ 2.117 +@@ -396,7 +453,7 @@ 2.118 prob = p + LZMA_LEN_CODER; 2.119 } else { 2.120 rc_update_bit_1(rc, prob); 2.121 @@ -114,7 +144,7 @@ 2.122 if (rc_is_bit_0(rc, prob)) { 2.123 rc_update_bit_0(rc, prob); 2.124 prob = (p + LZMA_IS_REP_0_LONG 2.125 -@@ -417,13 +455,13 @@ 2.126 +@@ -417,13 +474,13 @@ 2.127 uint32_t distance; 2.128 2.129 rc_update_bit_1(rc, prob); 2.130 @@ -130,14 +160,15 @@ 2.131 if (rc_is_bit_0(rc, prob)) { 2.132 rc_update_bit_0(rc, prob); 2.133 distance = cst->rep2; 2.134 -@@ -444,24 +482,24 @@ 2.135 +@@ -444,24 +501,24 @@ 2.136 prob_len = prob + LZMA_LEN_CHOICE; 2.137 if (rc_is_bit_0(rc, prob_len)) { 2.138 rc_update_bit_0(rc, prob_len); 2.139 - prob_len = (prob + LZMA_LEN_LOW 2.140 + prob_len += LZMA_LEN_LOW - LZMA_LEN_CHOICE 2.141 + (pos_state << 2.142 - LZMA_LEN_NUM_LOW_BITS)); 2.143 +- LZMA_LEN_NUM_LOW_BITS)); 2.144 ++ LZMA_LEN_NUM_LOW_BITS); 2.145 offset = 0; 2.146 num_bits = LZMA_LEN_NUM_LOW_BITS; 2.147 } else { 2.148 @@ -149,7 +180,8 @@ 2.149 - prob_len = (prob + LZMA_LEN_MID 2.150 + prob_len += LZMA_LEN_MID - LZMA_LEN_CHOICE_2 2.151 + (pos_state << 2.152 - LZMA_LEN_NUM_MID_BITS)); 2.153 +- LZMA_LEN_NUM_MID_BITS)); 2.154 ++ LZMA_LEN_NUM_MID_BITS); 2.155 offset = 1 << LZMA_LEN_NUM_LOW_BITS; 2.156 num_bits = LZMA_LEN_NUM_MID_BITS; 2.157 } else { 2.158 @@ -159,7 +191,7 @@ 2.159 offset = ((1 << LZMA_LEN_NUM_LOW_BITS) 2.160 + (1 << LZMA_LEN_NUM_MID_BITS)); 2.161 num_bits = LZMA_LEN_NUM_HIGH_BITS; 2.162 -@@ -529,6 +567,7 @@ 2.163 +@@ -529,6 +586,7 @@ 2.164 void(*error_fn)(char *x) 2.165 ) 2.166 { 2.167 @@ -167,7 +199,7 @@ 2.168 struct lzma_header header; 2.169 int lc, pb, lp; 2.170 uint32_t pos_state_mask; 2.171 -@@ -563,6 +602,10 @@ 2.172 +@@ -563,6 +621,10 @@ 2.173 wr.global_pos = 0; 2.174 wr.previous_byte = 0; 2.175 wr.buffer_pos = 0; 2.176 @@ -178,7 +210,7 @@ 2.177 2.178 rc_init(&rc, fill, inbuf, in_len); 2.179 2.180 -@@ -596,23 +639,23 @@ 2.181 +@@ -596,23 +658,23 @@ 2.182 if (header.dict_size == 0) 2.183 header.dict_size = 1; 2.184 2.185 @@ -206,7 +238,7 @@ 2.186 rc_init_code(&rc); 2.187 2.188 while (get_pos(&wr) < header.dst_size) { 2.189 -@@ -631,12 +674,25 @@ 2.190 +@@ -631,12 +693,25 @@ 2.191 2.192 if (posp) 2.193 *posp = rc.ptr-rc.buffer;