yaffs2: Fix GCC 4.6 compile warnings
PATCH 1/1 yaffs2: Fix GCC 4.6 compile warnings
Fix:yaffs_guts.c: In function 'yaffs_check_chunk_erased':
yaffs_guts.c:324:6: warning: variable 'result' set but not used [-Wunused-but-set-variable]yaffs_guts.c: In function 'yaffs_verify_chunk_written':
yaffs_guts.c:352:6: warning: variable 'result' set but not used [-Wunused-but-set-variable]yaffs_guts.c: In function 'yaffs_grab_chunk_cache':
yaffs_guts.c:1488:6: warning: variable 'pushout' set but not used [-Wunused-but-set-variable]yaffs_guts.c: In function 'yaffs_check_obj_details_loaded':
yaffs_guts.c:3180:6: warning: variable 'alloc_failed' set but not used [-Wunused-but-set-variable]
yaffs_guts.c:3179:6: warning: variable 'result' set but not used [-Wunused-but-set-variable]yaffs_guts.c: In function 'yaffs_update_oh':
yaffs_guts.c:3288:6: warning: variable 'result' set but not used [-Wunused-but-set-variable]yaffs_guts.c: In function 'yaffs_get_obj_name':
yaffs_guts.c:4447:7: warning: variable 'result' set but not used [-Wunused-but-set-variable]yaffs_summary.c: In function 'yaffs_summary_read':
yaffs_summary.c:194:6: warning: variable 'sum_tags_bytes' set but not used [-Wunused-but-set-variable]yaffs_verify.c: In function 'yaffs_verify_file':
yaffs_verify.c:227:6: warning: variable 'actual_depth' set but not used [-Wunused-but-set-variable]yaffs_yaffs1.c: In function 'yaffs1_scan':
yaffs_yaffs1.c:26:6: warning: variable 'result' set but not used [-Wunused-but-set-variable]yaffs_yaffs2.c: In function 'yaffs2_scan_chunk':
yaffs_yaffs2.c:949:6: warning: variable 'result' set but not used [-Wunused-but-set-variable]yaffs_yaffs2.c: In function 'yaffs2_scan_backwards':
yaffs_yaffs2.c:1352:6: warning: variable 'deleted' set but not used [-Wunused-but-set-variable]
--- fs/yaffs2/yaffs_guts.c | 27 ++++++++------------------- fs/yaffs2/yaffs_summary.c | 3 --- fs/yaffs2/yaffs_verify.c | 3 --- fs/yaffs2/yaffs_yaffs1.c | 9 +++------ fs/yaffs2/yaffs_yaffs2.c | 12 +++--------- 5 files changed, 14 insertions(+), 40 deletions(-)
fs/yaffs2/yaffs_guts.c +8 -19
@@ -321,9 +321,8 @@ static int yaffs_check_chunk_erased(struct yaffs_dev *dev, int nand_chunk)int retval =YAFFS_OK ;u8 *data =yaffs_get_temp_buffer (dev);struct yaffs_ext_tags tags; -int result; - result =yaffs_rd_chunk_tags_nand (dev, nand_chunk, data, &tags); +yaffs_rd_chunk_tags_nand (dev, nand_chunk, data, &tags);if (tags.ecc_result >YAFFS_ECC_RESULT_NO_ERROR ) retval =YAFFS_FAIL ;
@@ -349,9 +348,8 @@ static int yaffs_verify_chunk_written(struct yaffs_dev *dev,int retval =YAFFS_OK ;struct yaffs_ext_tags temp_tags;u8 *buffer =yaffs_get_temp_buffer (dev); -int result; - result =yaffs_rd_chunk_tags_nand (dev, nand_chunk, buffer, &temp_tags); +yaffs_rd_chunk_tags_nand (dev, nand_chunk, buffer, &temp_tags); if (memcmp(buffer, data, dev->data_bytes_per_chunk) || temp_tags.obj_id != tags->obj_id || temp_tags.chunk_id != tags->chunk_id ||
@@ -1485,7 +1483,6 @@ static struct yaffs_cache *yaffs_grab_chunk_cache(struct yaffs_dev *dev)struct yaffs_obj *the_obj;int usage;int i; -int pushout;if (dev->param.n_caches <1 )return NULL ;
@@ -1506,7 +1503,6 @@ static struct yaffs_cache *yaffs_grab_chunk_cache(struct yaffs_dev *dev) the_obj = dev->cache[0 ].object; usage =-1 ; cache =NULL ; - pushout =-1 ;for (i =0 ; i < dev->param.n_caches; i++) { if (dev->cache[i].object &&
@@ -1516,7 +1512,6 @@ static struct yaffs_cache *yaffs_grab_chunk_cache(struct yaffs_dev *dev) usage = dev->cache[i].last_use; the_obj = dev->cache[i].object; cache = &dev->cache[i]; - pushout = i; } }
@@ -3176,8 +3171,6 @@ static void yaffs_check_obj_details_loaded(struct yaffs_obj *in)struct yaffs_obj_hdr *oh;struct yaffs_dev *dev;struct yaffs_ext_tags tags; -int result; -int alloc_failed =0 ;if (!in || !in->lazy_loaded || in->hdr_chunk <1 )return ;
@@ -3186,7 +3179,7 @@ static void yaffs_check_obj_details_loaded(struct yaffs_obj *in) in->lazy_loaded =0 ; buf =yaffs_get_temp_buffer (dev); - result =yaffs_rd_chunk_tags_nand (dev, in->hdr_chunk, buf, &tags); +yaffs_rd_chunk_tags_nand (dev, in->hdr_chunk, buf, &tags); oh = (struct yaffs_obj_hdr *)buf; in->yst_mode = oh->yst_mode;
@@ -3196,8 +3189,6 @@ static void yaffs_check_obj_details_loaded(struct yaffs_obj *in)if (in->variant_type ==YAFFS_OBJECT_TYPE_SYMLINK ) { in->variant.symlink_variant.alias =yaffs_clone_str (oh->alias); -if (!in->variant.symlink_variant.alias) - alloc_failed =1 ;/* Not returned */ }yaffs_release_temp_buffer (dev, buf); }
@@ -3285,7 +3276,6 @@ int yaffs_update_oh(struct yaffs_obj *in, const YCHAR *name, int force,struct yaffs_dev *dev = in->my_dev;int prev_chunk_id;int ret_val =0 ; -int result =0 ;int new_chunk_id;struct yaffs_ext_tags new_tags;struct yaffs_ext_tags old_tags;
@@ -3309,8 +3299,8 @@ int yaffs_update_oh(struct yaffs_obj *in, const YCHAR *name, int force, prev_chunk_id = in->hdr_chunk;if (prev_chunk_id >0 ) { - result =yaffs_rd_chunk_tags_nand (dev, prev_chunk_id, - buffer, &old_tags); +yaffs_rd_chunk_tags_nand (dev, prev_chunk_id, + buffer, &old_tags);yaffs_verify_oh (in, oh, &old_tags,0 );memcpy (old_name, oh->name,sizeof (oh->name));
@@ -4444,7 +4434,6 @@ int yaffs_get_obj_name(struct yaffs_obj *obj, YCHAR *name, int buffer_size) }else if (obj->short_name[0 ]) {yaffs_strcpy (name, obj->short_name); }else if (obj->hdr_chunk >0 ) { -int result;u8 *buffer =yaffs_get_temp_buffer (obj->my_dev);struct yaffs_obj_hdr *oh = (struct yaffs_obj_hdr *)buffer;
@@ -4452,9 +4441,9 @@ int yaffs_get_obj_name(struct yaffs_obj *obj, YCHAR *name, int buffer_size)memset (buffer,0 , obj->my_dev->data_bytes_per_chunk);if (obj->hdr_chunk >0 ) { - result =yaffs_rd_chunk_tags_nand (obj->my_dev, - obj->hdr_chunk, - buffer,NULL ); +yaffs_rd_chunk_tags_nand (obj->my_dev, + obj->hdr_chunk, + buffer,NULL ); }yaffs_load_name_from_oh (obj->my_dev, name, oh->name, buffer_size);
fs/yaffs2/yaffs_summary.c +0 -3
@@ -191,10 +191,7 @@ int yaffs_summary_read(struct yaffs_dev *dev,struct yaffs_summary_header hdr;struct yaffs_block_info *bi =yaffs_get_block_info (dev, blk);int sum_bytes_per_chunk = dev->data_bytes_per_chunk -sizeof (hdr); -int sum_tags_bytes; - sum_tags_bytes =sizeof (struct yaffs_summary_tags ) * - dev->chunks_per_summary; buffer =yaffs_get_temp_buffer (dev); n_bytes =sizeof (struct yaffs_summary_tags ) * dev->chunks_per_summary; chunk_in_block = dev->chunks_per_summary;
fs/yaffs2/yaffs_verify.c +0 -3
@@ -224,7 +224,6 @@ void yaffs_verify_file(struct yaffs_obj *obj) {u32 x;int required_depth; -int actual_depth;int last_chunk;u32 offset_in_chunk;u32 the_chunk;
@@ -256,8 +255,6 @@ void yaffs_verify_file(struct yaffs_obj *obj) required_depth++; } - actual_depth = obj->variant.file_variant.top_level; -/* Check that the chunks in the tnode tree are all correct. * We do this by scanning through the tnode tree and * checking the tags for every chunk match.
fs/yaffs2/yaffs_yaffs1.c +3 -6
@@ -23,7 +23,6 @@ int yaffs1_scan(struct yaffs_dev *dev) {struct yaffs_ext_tags tags;int blk; -int result;int chunk;int c;int deleted;
@@ -95,8 +94,7 @@ int yaffs1_scan(struct yaffs_dev *dev)/* Read the tags and decide what to do */ chunk = blk * dev->param.chunks_per_block + c; - result =yaffs_rd_chunk_tags_nand (dev, chunk,NULL , - &tags); +yaffs_rd_chunk_tags_nand (dev, chunk,NULL , &tags);/* Let's have a good look at this chunk... */
@@ -181,9 +179,8 @@ int yaffs1_scan(struct yaffs_dev *dev)yaffs_set_chunk_bit (dev, blk, c); bi->pages_in_use++; - result =yaffs_rd_chunk_tags_nand (dev, chunk, - chunk_data, -NULL ); +yaffs_rd_chunk_tags_nand (dev, chunk, + chunk_data,NULL ); oh = (struct yaffs_obj_hdr *)chunk_data;
fs/yaffs2/yaffs_yaffs2.c +3 -9
@@ -946,7 +946,6 @@ static inline int yaffs2_scan_chunk(struct yaffs_dev *dev,int is_shrink;int is_unlinked;struct yaffs_ext_tags tags; -int result;int alloc_failed =0 ;int chunk = blk * dev->param.chunks_per_block + chunk_in_block;struct yaffs_file_var *file_var;
@@ -954,12 +953,12 @@ static inline int yaffs2_scan_chunk(struct yaffs_dev *dev,struct yaffs_symlink_var *sl_var;if (summary_available) { - result =yaffs_summary_fetch (dev, &tags, chunk_in_block); +yaffs_summary_fetch (dev, &tags, chunk_in_block); tags.seq_number = bi->seq_number; }if (!summary_available || tags.obj_id ==0 ) { - result =yaffs_rd_chunk_tags_nand (dev, chunk,NULL , &tags); +yaffs_rd_chunk_tags_nand (dev, chunk,NULL , &tags); dev->tags_used++; }else { dev->summary_used++;
@@ -1114,10 +1113,7 @@ static inline int yaffs2_scan_chunk(struct yaffs_dev *dev,* invalid data until needed. */ - result =yaffs_rd_chunk_tags_nand (dev, - chunk, - chunk_data, -NULL ); +yaffs_rd_chunk_tags_nand (dev, chunk, chunk_data,NULL ); oh = (struct yaffs_obj_hdr *)chunk_data;
@@ -1349,7 +1345,6 @@ int yaffs2_scan_backwards(struct yaffs_dev *dev)int n_to_scan =0 ;enum yaffs_block_state state;int c; -int deleted;LIST_HEAD (hard_list);struct yaffs_block_info *bi;u32 seq_number;
@@ -1467,7 +1462,6 @@ int yaffs2_scan_backwards(struct yaffs_dev *dev)/* get the block to scan in the correct order */ blk = block_index[block_iter].block; bi =yaffs_get_block_info (dev, blk); - deleted =0 ; summary_available =yaffs_summary_read (dev, dev->sum_tags, blk);
Signature · 1 line
1.7.7.6
[U-Boot] ELDK4.2 build failures for highbank, omap4_panda and omap4_sdp4430 (was: [PATCH] yaffs2: Fix GCC 4.6 compile warnings)
Hi All,
With Anatolij's fix in, ELDK4.2 still fails to build three boards:
highbank, omap4_panda and omap4_sdp4430 (maintainers CCed).
Build logs are weird for the two omap boards:
Configuring for omap4_panda board...
arm-linux-gnueabi-size: './u-boot': No such file
make: *** [checkthumb] Erreur 1
make: INTERNAL: Exiting with 10 jobserver tokens available; should be 9! Configuring for omap4_sdp4430 board...
arm-linux-gnueabi-size: './u-boot': No such file
make: *** [checkthumb] Erreur 1
make: INTERNAL: Exiting with 10 jobserver tokens available; should be 9!
For highbank, it is a matter of emitting instructions invalid for armv5.
Do these boards need to support building with older toolchains?
Amicalement,
Signature · 1 line
Albert.
[U-Boot] ELDK4.2 build failures for highbank, omap4_panda and omap4_sdp4430 (was: [PATCH] yaffs2: Fix GCC 4.6 compile warnings)
Hi,
Quoted 16 lines · Albert ARIBAUD
Hi All,
With Anatolij's fix in, ELDK4.2 still fails to build three boards:
highbank,omap4_pandaandomap4_sdp4430(maintainers CCed).Build logs are weird for the two omap boards:
Configuring for
omap4_pandaboard...
arm-linux-gnueabi-size: './u-boot': No such file
make: *** [checkthumb] Erreur 1
make: INTERNAL: Exiting with 10 jobserver tokens available; should be 9! Configuring foromap4_sdp4430board...
arm-linux-gnueabi-size: './u-boot': No such file
make: *** [checkthumb] Erreur 1
make: INTERNAL: Exiting with 10 jobserver tokens available; should be 9!
Quoted 6 lines
For highbank, it is a matter of emitting instructions invalid for armv5.
Do these boards need to support building with older toolchains?
Amicalement,
Seems like sricharan at ti.com does not exist any more. That makes
omap4_panda ARM ARMV7 (OMAP4xx SoC)
omap4_sdp4430 ARM ARMV7 (OMAP4xx SoC)
omap5_evm ARM ARMV7 (OMAP5xx Soc)
Up for bids for a new maintainer.
Amicalement,
Signature · 1 line
Albert.
[U-Boot] ELDK4.2 build failures for highbank, omap4_panda and omap4_sdp4430 (was: [PATCH] yaffs2: Fix GCC 4.6 compile warnings)
Quoted 28 lines · Albert ARIBAUD
Hi,
Quoted 16 lines · Albert ARIBAUD
Hi All,
With Anatolij's fix in, ELDK4.2 still fails to build three boards:
highbank,omap4_pandaandomap4_sdp4430(maintainers CCed).Build logs are weird for the two omap boards:
Configuring for
omap4_pandaboard...
arm-linux-gnueabi-size: './u-boot': No such file
make: *** [checkthumb] Erreur 1
make: INTERNAL: Exiting with 10 jobserver tokens available; should be 9! Configuring foromap4_sdp4430board...
arm-linux-gnueabi-size: './u-boot': No such file
make: *** [checkthumb] Erreur 1
make: INTERNAL: Exiting with 10 jobserver tokens available; should be 9!Quoted 6 lines
For highbank, it is a matter of emitting instructions invalid for armv5.
Do these boards need to support building with older toolchains?
Amicalement,
Quoted 7 lines
Seems like sricharan at ti.com does not exist any more. That makes
omap4_panda ARM ARMV7 (OMAP4xx SoC) omap4_sdp4430 ARM ARMV7 (OMAP4xx SoC) omap5_evm ARM ARMV7 (OMAP5xx Soc)Up for bids for a new maintainer.
But that's not quite his email address :) Cc'ing him now but as I said later in the thread, it's a feature that it doesn't build for eldk4.2
Signature · 8 lines
Tom -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 836 bytes Desc: Digital signature URL: <http://lists.denx.de/pipermail/u-boot/attachments/20121008/24946bd0/attachment.pgp>
[U-Boot] ELDK4.2 build failures for highbank, omap4_panda and omap4_sdp4430
Quoted 31 lines · Tom Rini
Quoted 30 lines · Albert ARIBAUD
Hi,
Quoted 16 lines · Albert ARIBAUD
Hi All,
With Anatolij's fix in, ELDK4.2 still fails to build three boards:
highbank,omap4_pandaandomap4_sdp4430(maintainers CCed).Build logs are weird for the two omap boards:
Configuring for
omap4_pandaboard...
arm-linux-gnueabi-size: './u-boot': No such file
make: *** [checkthumb] Erreur 1
make: INTERNAL: Exiting with 10 jobserver tokens available; should be 9! Configuring foromap4_sdp4430board...
arm-linux-gnueabi-size: './u-boot': No such file
make: *** [checkthumb] Erreur 1
make: INTERNAL: Exiting with 10 jobserver tokens available; should be 9!Quoted 6 lines
For highbank, it is a matter of emitting instructions invalid for armv5.
Do these boards need to support building with older toolchains?
Amicalement,
Seems like sricharan at ti.com does not exist any more. That makes
Quoted 8 lines
Quoted 5 lines
omap4_panda ARM ARMV7 (OMAP4xx SoC) omap4_sdp4430 ARM ARMV7 (OMAP4xx SoC) omap5_evm ARM ARMV7 (OMAP5xx Soc)Up for bids for a new maintainer.
But that's not quite his email address :) Cc'ing him now but as I said later in the thread, it's a feature that it doesn't build for eldk4.2
Thats right. They are currently build with THUMB mode.
Regards,
Sricharan
[U-Boot] ELDK4.2 build failures for highbank, omap4_panda and omap4_sdp4430
Hi R,
Quoted 32 lines · R Sricharan
Quoted 31 lines · Tom Rini
Quoted 30 lines · Albert ARIBAUD
Hi,
Quoted 16 lines · Albert ARIBAUD
Hi All,
With Anatolij's fix in, ELDK4.2 still fails to build three boards:
highbank,omap4_pandaandomap4_sdp4430(maintainers CCed).Build logs are weird for the two omap boards:
Configuring for
omap4_pandaboard...
arm-linux-gnueabi-size: './u-boot': No such file
make: *** [checkthumb] Erreur 1
make: INTERNAL: Exiting with 10 jobserver tokens available; should be 9! Configuring foromap4_sdp4430board...
arm-linux-gnueabi-size: './u-boot': No such file
make: *** [checkthumb] Erreur 1
make: INTERNAL: Exiting with 10 jobserver tokens available; should be 9!Quoted 6 lines
For highbank, it is a matter of emitting instructions invalid for armv5.
Do these boards need to support building with older toolchains?
Amicalement,
Seems like sricharan at ti.com does not exist any more. That makes
Quoted 7 lines
Quoted 7 lines
Quoted 5 lines
omap4_panda ARM ARMV7 (OMAP4xx SoC) omap4_sdp4430 ARM ARMV7 (OMAP4xx SoC) omap5_evm ARM ARMV7 (OMAP5xx Soc)Up for bids for a new maintainer.
But that's not quite his email address :) Cc'ing him now but as I said later in the thread, it's a feature that it doesn't build for eldk4.2
Apologies for messing Sricharan's e-mail.
Quoted 1 line
Thats right. They are currently build with THUMB mode.
Thanks.
Quoted 2 lines
Regards,
Sricharan
Amicalement,
Signature · 1 line
Albert.
[U-Boot] ELDK4.2 build failures for highbank, omap4_panda and omap4_sdp4430 (was: [PATCH] yaffs2: Fix GCC 4.6 compile warnings)
In reply to Albert ARIBAUDQuoted 7 lines · Albert ARIBAUD
Hi All,
With Anatolij's fix in, ELDK4.2 still fails to build three boards:
highbank,omap4_pandaandomap4_sdp4430(maintainers CCed).Build logs are weird for the two omap boards:
Quoted 8 lines
Configuring for
omap4_pandaboard...
arm-linux-gnueabi-size: './u-boot': No such file
make: *** [checkthumb] Erreur 1
make: INTERNAL: Exiting with 10 jobserver tokens available; should be 9! Configuring foromap4_sdp4430board...
arm-linux-gnueabi-size: './u-boot': No such file
make: *** [checkthumb] Erreur 1
make: INTERNAL: Exiting with 10 jobserver tokens available; should be 9!
The problem is that omap4/5 use CONFIG_SYS_THUMB_BUILD and ELDK-4.2 doesn't produce working binaries in this case so we have the checkthumb rule in the top-level Makefile. Some of the tegra boards will also be hitting this soon I believe, as they are also building in thumb mode.
Signature · 8 lines
Tom -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 836 bytes Desc: Digital signature URL: <http://lists.denx.de/pipermail/u-boot/attachments/20121007/ba978d0d/attachment.pgp>
PATCH 1/1 yaffs2: Fix GCC 4.6 compile warnings
In reply to Anatolij GustschinHi Anatolij,
Quoted 282 lines · Anatolij Gustschin
Fix:
yaffs_guts.c: In function 'yaffs_check_chunk_erased':
yaffs_guts.c:324:6: warning: variable 'result' set but not used [-Wunused-but-set-variable]yaffs_guts.c: In function 'yaffs_verify_chunk_written':
yaffs_guts.c:352:6: warning: variable 'result' set but not used [-Wunused-but-set-variable]yaffs_guts.c: In function 'yaffs_grab_chunk_cache':
yaffs_guts.c:1488:6: warning: variable 'pushout' set but not used [-Wunused-but-set-variable]yaffs_guts.c: In function 'yaffs_check_obj_details_loaded':
yaffs_guts.c:3180:6: warning: variable 'alloc_failed' set but not used [-Wunused-but-set-variable]
yaffs_guts.c:3179:6: warning: variable 'result' set but not used [-Wunused-but-set-variable]yaffs_guts.c: In function 'yaffs_update_oh':
yaffs_guts.c:3288:6: warning: variable 'result' set but not used [-Wunused-but-set-variable]yaffs_guts.c: In function 'yaffs_get_obj_name':
yaffs_guts.c:4447:7: warning: variable 'result' set but not used [-Wunused-but-set-variable]yaffs_summary.c: In function 'yaffs_summary_read':
yaffs_summary.c:194:6: warning: variable 'sum_tags_bytes' set but not used [-Wunused-but-set-variable]yaffs_verify.c: In function 'yaffs_verify_file':
yaffs_verify.c:227:6: warning: variable 'actual_depth' set but not used [-Wunused-but-set-variable]yaffs_yaffs1.c: In function 'yaffs1_scan':
yaffs_yaffs1.c:26:6: warning: variable 'result' set but not used [-Wunused-but-set-variable]yaffs_yaffs2.c: In function 'yaffs2_scan_chunk':
yaffs_yaffs2.c:949:6: warning: variable 'result' set but not used [-Wunused-but-set-variable]yaffs_yaffs2.c: In function 'yaffs2_scan_backwards':
yaffs_yaffs2.c:1352:6: warning: variable 'deleted' set but not used [-Wunused-but-set-variable]Signed-off-by Anatolij Gustschin <[email protected]>Cc Charles Manning <[email protected]>--- fs/yaffs2/yaffs_guts.c | 27 ++++++++------------------- fs/yaffs2/yaffs_summary.c | 3 --- fs/yaffs2/yaffs_verify.c | 3 --- fs/yaffs2/yaffs_yaffs1.c | 9 +++------ fs/yaffs2/yaffs_yaffs2.c | 12 +++--------- 5 files changed, 14 insertions(+), 40 deletions(-)fs/yaffs2/yaffs_guts.c +8
-19@@ -321,9 +321,8 @@ static int yaffs_check_chunk_erased(struct yaffs_dev *dev, int nand_chunk)int retval =YAFFS_OK ;u8 *data =yaffs_get_temp_buffer (dev);struct yaffs_ext_tags tags; -int result; - result =yaffs_rd_chunk_tags_nand (dev, nand_chunk, data, &tags); +yaffs_rd_chunk_tags_nand (dev, nand_chunk, data, &tags);if (tags.ecc_result >YAFFS_ECC_RESULT_NO_ERROR ) retval =YAFFS_FAIL ;@@ -349,9 +348,8 @@ static int yaffs_verify_chunk_written(struct yaffs_dev *dev,int retval =YAFFS_OK ;struct yaffs_ext_tags temp_tags;u8 *buffer =yaffs_get_temp_buffer (dev); -int result; - result =yaffs_rd_chunk_tags_nand (dev, nand_chunk, buffer, &temp_tags); +yaffs_rd_chunk_tags_nand (dev, nand_chunk, buffer, &temp_tags); if (memcmp(buffer, data, dev->data_bytes_per_chunk) || temp_tags.obj_id != tags->obj_id || temp_tags.chunk_id != tags->chunk_id ||@@ -1485,7 +1483,6 @@ static struct yaffs_cache *yaffs_grab_chunk_cache(struct yaffs_dev *dev)struct yaffs_obj *the_obj;int usage;int i; -int pushout;if (dev->param.n_caches <1 )return NULL ;@@ -1506,7 +1503,6 @@ static struct yaffs_cache *yaffs_grab_chunk_cache(struct yaffs_dev *dev) the_obj = dev->cache[0 ].object; usage =-1 ; cache =NULL ; - pushout =-1 ;for (i =0 ; i < dev->param.n_caches; i++) { if (dev->cache[i].object &&@@ -1516,7 +1512,6 @@ static struct yaffs_cache *yaffs_grab_chunk_cache(struct yaffs_dev *dev) usage = dev->cache[i].last_use; the_obj = dev->cache[i].object; cache = &dev->cache[i]; - pushout = i; } }@@ -3176,8 +3171,6 @@ static void yaffs_check_obj_details_loaded(struct yaffs_obj *in)struct yaffs_obj_hdr *oh;struct yaffs_dev *dev;struct yaffs_ext_tags tags; -int result; -int alloc_failed =0 ;if (!in || !in->lazy_loaded || in->hdr_chunk <1 )return ;@@ -3186,7 +3179,7 @@ static void yaffs_check_obj_details_loaded(struct yaffs_obj *in) in->lazy_loaded =0 ; buf =yaffs_get_temp_buffer (dev); - result =yaffs_rd_chunk_tags_nand (dev, in->hdr_chunk, buf, &tags); +yaffs_rd_chunk_tags_nand (dev, in->hdr_chunk, buf, &tags); oh = (struct yaffs_obj_hdr *)buf; in->yst_mode = oh->yst_mode;@@ -3196,8 +3189,6 @@ static void yaffs_check_obj_details_loaded(struct yaffs_obj *in)if (in->variant_type ==YAFFS_OBJECT_TYPE_SYMLINK ) { in->variant.symlink_variant.alias =yaffs_clone_str (oh->alias); -if (!in->variant.symlink_variant.alias) - alloc_failed =1 ;/* Not returned */ }yaffs_release_temp_buffer (dev, buf); }@@ -3285,7 +3276,6 @@ int yaffs_update_oh(struct yaffs_obj *in, const YCHAR *name, int force,struct yaffs_dev *dev = in->my_dev;int prev_chunk_id;int ret_val =0 ; -int result =0 ;int new_chunk_id;struct yaffs_ext_tags new_tags;struct yaffs_ext_tags old_tags;@@ -3309,8 +3299,8 @@ int yaffs_update_oh(struct yaffs_obj *in, const YCHAR *name, int force, prev_chunk_id = in->hdr_chunk;if (prev_chunk_id >0 ) { - result =yaffs_rd_chunk_tags_nand (dev, prev_chunk_id, - buffer, &old_tags); +yaffs_rd_chunk_tags_nand (dev, prev_chunk_id, + buffer, &old_tags);yaffs_verify_oh (in, oh, &old_tags,0 );memcpy (old_name, oh->name,sizeof (oh->name));@@ -4444,7 +4434,6 @@ int yaffs_get_obj_name(struct yaffs_obj *obj, YCHAR *name, int buffer_size) }else if (obj->short_name[0 ]) {yaffs_strcpy (name, obj->short_name); }else if (obj->hdr_chunk >0 ) { -int result;u8 *buffer =yaffs_get_temp_buffer (obj->my_dev);struct yaffs_obj_hdr *oh = (struct yaffs_obj_hdr *)buffer;@@ -4452,9 +4441,9 @@ int yaffs_get_obj_name(struct yaffs_obj *obj, YCHAR *name, int buffer_size)memset (buffer,0 , obj->my_dev->data_bytes_per_chunk);if (obj->hdr_chunk >0 ) { - result =yaffs_rd_chunk_tags_nand (obj->my_dev, - obj->hdr_chunk, - buffer,NULL ); +yaffs_rd_chunk_tags_nand (obj->my_dev, + obj->hdr_chunk, + buffer,NULL ); }yaffs_load_name_from_oh (obj->my_dev, name, oh->name, buffer_size);fs/yaffs2/yaffs_summary.c +0
-3@@ -191,10 +191,7 @@ int yaffs_summary_read(struct yaffs_dev *dev,struct yaffs_summary_header hdr;struct yaffs_block_info *bi =yaffs_get_block_info (dev, blk);int sum_bytes_per_chunk = dev->data_bytes_per_chunk -sizeof (hdr); -int sum_tags_bytes; - sum_tags_bytes =sizeof (struct yaffs_summary_tags ) * - dev->chunks_per_summary; buffer =yaffs_get_temp_buffer (dev); n_bytes =sizeof (struct yaffs_summary_tags ) * dev->chunks_per_summary; chunk_in_block = dev->chunks_per_summary;fs/yaffs2/yaffs_verify.c +0
-3@@ -224,7 +224,6 @@ void yaffs_verify_file(struct yaffs_obj *obj) {u32 x;int required_depth; -int actual_depth;int last_chunk;u32 offset_in_chunk;u32 the_chunk;@@ -256,8 +255,6 @@ void yaffs_verify_file(struct yaffs_obj *obj) required_depth++; } - actual_depth = obj->variant.file_variant.top_level; -/* Check that the chunks in the tnode tree are all correct. * We do this by scanning through the tnode tree and * checking the tags for every chunk match. fs/yaffs2/yaffs_yaffs1.c +3
-6@@ -23,7 +23,6 @@ int yaffs1_scan(struct yaffs_dev *dev) {struct yaffs_ext_tags tags;int blk; -int result;int chunk;int c;int deleted;@@ -95,8 +94,7 @@ int yaffs1_scan(struct yaffs_dev *dev)/* Read the tags and decide what to do */ chunk = blk * dev->param.chunks_per_block + c; - result =yaffs_rd_chunk_tags_nand (dev, chunk,NULL , - &tags); +yaffs_rd_chunk_tags_nand (dev, chunk,NULL , &tags);/* Let's have a good look at this chunk... */ @@ -181,9 +179,8 @@ int yaffs1_scan(struct yaffs_dev *dev)yaffs_set_chunk_bit (dev, blk, c); bi->pages_in_use++; - result =yaffs_rd_chunk_tags_nand (dev, chunk, - chunk_data, -NULL ); +yaffs_rd_chunk_tags_nand (dev, chunk, + chunk_data,NULL ); oh = (struct yaffs_obj_hdr *)chunk_data;fs/yaffs2/yaffs_yaffs2.c +3
-8@@ -946,7 +946,6 @@ static inline int yaffs2_scan_chunk(struct yaffs_dev *dev,int is_shrink;int is_unlinked;struct yaffs_ext_tags tags; -int result;int alloc_failed =0 ;int chunk = blk * dev->param.chunks_per_block + chunk_in_block;struct yaffs_file_var *file_var;@@ -954,12 +953,12 @@ static inline int yaffs2_scan_chunk(struct yaffs_dev *dev,struct yaffs_symlink_var *sl_var;if (summary_available) { - result =yaffs_summary_fetch (dev, &tags, chunk_in_block); +yaffs_summary_fetch (dev, &tags, chunk_in_block); tags.seq_number = bi->seq_number; }if (!summary_available || tags.obj_id ==0 ) { - result =yaffs_rd_chunk_tags_nand (dev, chunk,NULL , &tags); +yaffs_rd_chunk_tags_nand (dev, chunk,NULL , &tags); dev->tags_used++; }else { dev->summary_used++;@@ -1114,10 +1113,7 @@ static inline int yaffs2_scan_chunk(struct yaffs_dev *dev,* invalid data until needed. */ - result =yaffs_rd_chunk_tags_nand (dev, - chunk, - chunk_data, -NULL ); +yaffs_rd_chunk_tags_nand (dev, chunk, chunk_data,NULL ); oh = (struct yaffs_obj_hdr *)chunk_data;@@ -1349,7 +1345,6 @@ int yaffs2_scan_backwards(struct yaffs_dev *dev)int n_to_scan =0 ;enum yaffs_block_state state;int c; -int deleted;LIST_HEAD (hard_list);struct yaffs_block_info *bi;u32 seq_number;
fs/yaffs2/yaffs_yaffs2.c int yaffs2_scan_backwards(struct yaffs_dev *dev) · line 1467
Quoted 7 lines
fs/yaffs2/yaffs_yaffs2.c +0
-1@@ -1467,7 +1462,6 @@ int yaffs2_scan_backwards(struct yaffs_dev *dev)/* get the block to scan in the correct order */ blk = block_index[block_iter].block; bi =yaffs_get_block_info (dev, blk); - deleted =0 ; summary_available =yaffs_summary_read (dev, dev->sum_tags, blk);
This effectively makes VCMA9 and smdk2410 (the two boards which had the yaffs warnings) build clean.
Amicalement,
Signature · 1 line
Albert.
PATCH 1/1 yaffs2: Fix GCC 4.6 compile warnings
Quoted 9 lines · Albert ARIBAUD
Hi Anatolij,
Quoted 4 lines · Anatolij Gustschin
Fix:
yaffs_guts.c: In function 'yaffs_check_chunk_erased':
yaffs_guts.c:324:6: warning: variable 'result' set but not used [-Wunused-but-set-variable]
[snip]
Quoted 4 lines
Tested-by Albert ARIBAUD <[email protected]>This effectively makes VCMA9 and smdk2410 (the two boards which had the yaffs warnings) build clean.
It takes care of the warnings, but I still see this:
Configuring for VCMA9 board...
make: *** [u-boot] Error 139 /home/scott/fsl/tc/arm-gentoo-linux-gnu/bin/arm-gentoo-linux-gnu-size:
./u-boot: File format not recognizedfs/yaffs2/libyaffs2.o: In function `cmd_yaffs_devconfig':/home/scott/fsl/git/u-boot/upstream/fs/yaffs2/yaffs_uboot_glue.c:187:
undefined reference to `__udivdi3'fs/yaffs2/libyaffs2.o: In function `yaffsfs_DoStat':/home/scott/fsl/git/u-boot/upstream/fs/yaffs2/yaffsfs.c:1606: undefined reference to `__divdi3'
/home/scott/fsl/tc/arm-gentoo-linux-gnu/bin/arm-gentoo-linux-gnu-ld.bfd:
BFD (GNU Binutils) 2.21.1 assertion fail /var/tmp/portage/cross-arm-gentoo-linux-gnu/binutils-2.21.1-r1/work/binutils-2.21.1/bfd/elf32-arm.c:12478/bin/bash: line 1: 6558 Segmentation fault (core dumped)/home/scott/fsl/tc/arm-gentoo-linux-gnu/bin/arm-gentoo-linux-gnu-ld.bfd
-pie -T u-boot.lds -Bstatic -Ttext 0x0 $UNDEF_SYMarch/arm/cpu/arm920t/start.o --start-group api/libapi.o arch/arm/cpu/arm920t/libarm920t.oarch/arm/cpu/arm920t/s3c24x0/libs3c24x0.o arch/arm/lib/libarm.ocommon/libcommon.o disk/libdisk.o drivers/bios_emulator/libatibiosemu.o drivers/block/libblock.o drivers/dfu/libdfu.o drivers/dma/libdma.o drivers/fpga/libfpga.o drivers/gpio/libgpio.o drivers/hwmon/libhwmon.o drivers/i2c/libi2c.o drivers/input/libinput.o drivers/misc/libmisc.o drivers/mmc/libmmc.o drivers/mtd/libmtd.o drivers/mtd/nand/libnand.o drivers/mtd/onenand/libonenand.o drivers/mtd/spi/libspi_flash.odrivers/mtd/ubi/libubi.o drivers/net/libnet.o drivers/net/phy/libphy.o drivers/pci/libpci.o drivers/pcmcia/libpcmcia.odrivers/power/libpower.o drivers/rtc/librtc.odrivers/serial/libserial.o drivers/spi/libspi.odrivers/twserial/libtws.o drivers/usb/eth/libusb_eth.o drivers/usb/gadget/libusb_gadget.o drivers/usb/host/libusb_host.o drivers/usb/musb/libusb_musb.o drivers/usb/phy/libusb_phy.o drivers/usb/ulpi/libusb_ulpi.o drivers/video/libvideo.odrivers/watchdog/libwatchdog.o fs/cramfs/libcramfs.ofs/ext4/libext4fs.o fs/fat/libfat.o fs/fdos/libfdos.ofs/jffs2/libjffs2.o fs/reiserfs/libreiserfs.o fs/ubifs/libubifs.ofs/yaffs2/libyaffs2.o fs/zfs/libzfs.o lib/libfdt/libfdt.olib/libgeneric.o lib/lzma/liblzma.o lib/lzo/liblzo.o lib/zlib/libz.onet/libnet.o post/libpost.o test/libtest.o board/mpl/vcma9/libvcma9.o
--end-group /home/scott/fsl/git/u-boot/upstream/arch/arm/lib/libgcc.o
-Map u-boot.map -o u-boot
make: *** [u-boot] Error 139
This is with USE_PRIVATE_LIBGCC=yes and "gcc version 4.6.2 (Gentoo 4.6.2 p1.0, pie-0.4.5)" from Mike Frysinger's toolchain set.
Turning off USE_PRIVATE_LIBGCC produces more errors (lots of hard/soft FP
conflicts, undefined "raise", and the same linker segfault).
Is this toolchain expected to work?
-Scott
PATCH 1/1 yaffs2: Fix GCC 4.6 compile warnings
Quoted 13 lines · Scott Wood
Quoted 9 lines · Albert ARIBAUD
Hi Anatolij,
Quoted 4 lines · Anatolij Gustschin
Fix:
yaffs_guts.c: In function 'yaffs_check_chunk_erased':
yaffs_guts.c:324:6: warning: variable 'result' set but not used [-Wunused-but-set-variable][snip]
Quoted 2 lines
Tested-by Albert ARIBAUD <[email protected]>
Quoted 7 lines
Quoted 2 lines
This effectively makes VCMA9 and smdk2410 (the two boards which had the yaffs warnings) build clean.
It takes care of the warnings, but I still see this:
Configuring for VCMA9 board...
make: *** [u-boot] Error 139
The linaro and ELDK 4.2, 5.2 toolchains build this fine. I would suggest grabbing one of those for ARM.
Signature · 8 lines
Tom -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 836 bytes Desc: Digital signature URL: <http://lists.denx.de/pipermail/u-boot/attachments/20121009/4fe440d1/attachment.pgp>
PATCH 1/1 yaffs2: Fix GCC 4.6 compile warnings
Quoted 18 lines · Tom Rini
Quoted 4 lines · Scott Wood
Quoted 3 lines · Albert ARIBAUD
Hi Anatolij,
On Sat, 6 Oct 2012 11:31:03 +0200, Anatolij Gustschin
Quoted 12 lines
Quoted 6 lines
Quoted 4 lines · wrote:
Fix:
yaffs_guts.c: In function 'yaffs_check_chunk_erased':
yaffs_guts.c:324:6: warning: variable 'result' set but not used [-Wunused-but-set-variable][snip]
Quoted 4 lines
Tested-by Albert ARIBAUD <[email protected]>This effectively makes VCMA9 and smdk2410 (the two boards which had the yaffs warnings) build clean.
Quoted 7 lines
Quoted 4 lines
It takes care of the warnings, but I still see this:
Configuring for VCMA9 board...
make: *** [u-boot] Error 139The linaro and ELDK 4.2, 5.2 toolchains build this fine. I would suggest grabbing one of those for ARM.
I'll give one of them a try, but is it expected that the compiler will be able to do 64/32 division without __udivdi3? Shouldn't yaffs2 be using lldiv() or do_div()?
-Scott
PATCH 1/1 yaffs2: Fix GCC 4.6 compile warnings
Quoted 24 lines · Scott Wood
Quoted 23 lines · Tom Rini
Quoted 4 lines · Scott Wood
Quoted 3 lines · Albert ARIBAUD
Hi Anatolij,
On Sat, 6 Oct 2012 11:31:03 +0200, Anatolij Gustschin
Quoted 16 lines
Quoted 6 lines
Quoted 4 lines · wrote:
Fix:
yaffs_guts.c: In function 'yaffs_check_chunk_erased':
yaffs_guts.c:324:6: warning: variable 'result' set but not used [-Wunused-but-set-variable][snip]
Quoted 4 lines
Tested-by Albert ARIBAUD <[email protected]>This effectively makes VCMA9 and smdk2410 (the two boards which had the yaffs warnings) build clean.
It takes care of the warnings, but I still see this:
Configuring for VCMA9 board...
make: *** [u-boot] Error 139
Quoted 6 lines
Quoted 2 lines
The linaro and ELDK 4.2, 5.2 toolchains build this fine. I would suggest grabbing one of those for ARM.
I'll give one of them a try, but is it expected that the compiler will be able to do 64/32 division without
__udivdi3? Shouldn't yaffs2 be usinglldiv()ordo_div()?
Based on a very short skim, yes, yaffs2 looks to be buggy here and for example "end_block = mtd->size / mtd->erasesize - 1;" from yaffs_uboot_glue.c should be using mtd->erase_shift and shifting.
Signature · 8 lines
Tom -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 836 bytes Desc: Digital signature URL: <http://lists.denx.de/pipermail/u-boot/attachments/20121009/15b543c9/attachment.pgp>
Quoted 37 lines · Anatolij Gustschin
Fix:
yaffs_guts.c: In function 'yaffs_check_chunk_erased':
yaffs_guts.c:324:6: warning: variable 'result' set but not used [-Wunused-but-set-variable]yaffs_guts.c: In function 'yaffs_verify_chunk_written':
yaffs_guts.c:352:6: warning: variable 'result' set but not used [-Wunused-but-set-variable]yaffs_guts.c: In function 'yaffs_grab_chunk_cache':
yaffs_guts.c:1488:6: warning: variable 'pushout' set but not used [-Wunused-but-set-variable]yaffs_guts.c: In function 'yaffs_check_obj_details_loaded':
yaffs_guts.c:3180:6: warning: variable 'alloc_failed' set but not used [-Wunused-but-set-variable]
yaffs_guts.c:3179:6: warning: variable 'result' set but not used [-Wunused-but-set-variable]yaffs_guts.c: In function 'yaffs_update_oh':
yaffs_guts.c:3288:6: warning: variable 'result' set but not used [-Wunused-but-set-variable]yaffs_guts.c: In function 'yaffs_get_obj_name':
yaffs_guts.c:4447:7: warning: variable 'result' set but not used [-Wunused-but-set-variable]yaffs_summary.c: In function 'yaffs_summary_read':
yaffs_summary.c:194:6: warning: variable 'sum_tags_bytes' set but not used [-Wunused-but-set-variable]yaffs_verify.c: In function 'yaffs_verify_file':
yaffs_verify.c:227:6: warning: variable 'actual_depth' set but not used [-Wunused-but-set-variable]yaffs_yaffs1.c: In function 'yaffs1_scan':
yaffs_yaffs1.c:26:6: warning: variable 'result' set but not used [-Wunused-but-set-variable]yaffs_yaffs2.c: In function 'yaffs2_scan_chunk':
yaffs_yaffs2.c:949:6: warning: variable 'result' set but not used [-Wunused-but-set-variable]yaffs_yaffs2.c: In function 'yaffs2_scan_backwards':
yaffs_yaffs2.c:1352:6: warning: variable 'deleted' set but not used [-Wunused-but-set-variable]
Quoted 3 lines
Signed-off-by Anatolij Gustschin <[email protected]>Cc Charles Manning <[email protected]>Tested-by Albert ARIBAUD <[email protected]>
Applied to u-boot/master, thanks!
Signature · 8 lines
Tom -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 836 bytes Desc: Digital signature URL: <http://lists.denx.de/pipermail/u-boot/attachments/20121008/4943e13c/attachment.pgp>