The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Вариант для распечатки  
Пред. тема | След. тема 
Форум Программирование под UNIX (Отладка и профилирование)
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

Не хочет работать valgrind в Astra Linux 1.3, xintrea (ok), 18-Мрт-20, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


1. "Не хочет работать valgrind в Astra Linux 1.3"  +/
Сообщение от xintrea (ok), 18-Мрт-20, 17:39 
В догонку, проблемный код 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


Ответить | Правка | Наверх | Cообщить модератору

2. "Не хочет работать valgrind в Astra Linux 1.3"  +/
Сообщение от ыы (?), 18-Мрт-20, 20:41 
Во первых, если вы поставили себе это изделие потому что оно сертифицировано - то проверьте- не бинарная ли была сертификация. если она была бинарная- то о такой вещи как обновление и установка новой версии - забудьте. Все версии новее - только через производителя дистрибутива.
Во вторых  - обратитесь в поставщику решения.
Ответить | Правка | Наверх | Cообщить модератору

3. "Не хочет работать valgrind в Astra Linux 1.3"  +/
Сообщение от xintrea (ok), 19-Мрт-20, 09:06 
> Во первых, если вы поставили себе это изделие потому что оно сертифицировано
> - то проверьте- не бинарная ли была сертификация. если она была
> бинарная- то о такой вещи как обновление и установка новой версии
> - забудьте. Все версии новее - только через производителя дистрибутива.

Мы сами производители изделия, и потребителю поставляем, естественно, в комплекте с официальной Астрой. Но для разработки мы на свои рабочие станции и на тестовые платформы можем ставить все что нам необходимо. Потом все исходники ПО уходят на сертификацию, и они должны корректно работать с той Астрой, которая идет в комплекте с оборудованием.

> Во вторых  - обратитесь в поставщику решения.

Не вариант, наш сертификат на техническую поддержку от Астры кончился несколько лет назад.

Ответить | Правка | Наверх | Cообщить модератору

4. "Не хочет работать valgrind в Astra Linux 1.3"  +/
Сообщение от xintrea (ok), 19-Мрт-20, 10:16 
В общем, я поразмыслил и решил, что срабатывает всего лишь ассерт, который может быть неправильным для Астры. Авторы valgrind наворотили несколько ассертов на размеры секций, и изменяли их в 2013 году.

В любом случая, я просто закомментировал проблемный ассерт:


vg_assert(di->_sec##_size == a_shdr.sh_size);


и valgrind стартанул.

Ответить | Правка | К родителю #2 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру