- В догонку, проблемный код valgrind такой code define FIND _sec, _se, xintrea (ok), 17:39 , 18-Мрт-20 (1)
В догонку, проблемный код valgrind такой:
# define FIND(_sec, _seg) \ do { \ ElfXX_Shdr a_shdr; \ ML_(img_get)(&a_shdr, dimg, \ INDEX_BIS(shdr_dioff, i, shdr_dent_szB), \ sizeof(a_shdr)); \ if (di->_sec##_present \ && 0 == ML_(img_strcmp_c)(dimg, shdr_strtab_dioff \ + a_shdr.sh_name, "." #_sec)) { \ vg_assert(di->_sec##_size == a_shdr.sh_size); \ /* JRS 2013-Jun-01: the following assert doesn't contain */ \ /* any ==s, which seems to me to be suspicious. */ \ vg_assert(di->_sec##_avma + a_shdr.sh_addr + _seg##_dbias); \ /* Assume we have a correct value for the main */ \ /* object's bias. Use that to derive the debuginfo */ \ /* object's bias, by adding the difference in SVMAs */ \ /* for the corresponding sections in the two files. */ \ /* That should take care of all prelinking effects. */ \ di->_sec##_debug_svma = a_shdr.sh_addr; \ di->_sec##_debug_bias \ = di->_sec##_bias + \ di->_sec##_svma - di->_sec##_debug_svma; \ TRACE_SYMTAB("acquiring ." #_sec \ " debug svma = %#lx .. %#lx\n", \ di->_sec##_debug_svma, \ di->_sec##_debug_svma + di->_sec##_size - 1); \ TRACE_SYMTAB("acquiring ." #_sec " debug bias = %#lx\n", \ (UWord)di->_sec##_debug_bias); \ } \ } while (0); /* SECTION SEGMENT */ FIND(text, rx) FIND(data, rw) FIND(sdata, rw) FIND(rodata, rw) FIND(bss, rw) <!-- Проблема тут FIND(sbss, rw) # undef FIND
- Во первых, если вы поставили себе это изделие потому что оно сертифицировано - т, ыы (?), 20:41 , 18-Мрт-20 (2)
- Мы сами производители изделия, и потребителю поставляем, естественно, в комплект, xintrea (ok), 09:06 , 19-Мрт-20 (3)
- В общем, я поразмыслил и решил, что срабатывает всего лишь ассерт, который может, xintrea (ok), 10:16 , 19-Мрт-20 (4)
|