Вопрос Как установить libmudflap в 64-битном 14.04 «Trusty»


Я хочу продемонстрировать бродягу, работающую над этой программой,

int
main()
{
  int tab[10];
  int i;
  for (i = 1; i <= 10; i++)
    tab[i] = 0;
  return 0;
}

но я получаю сообщение об ошибке,

$ gcc -fmudflap -lmudflap bounds-violation.c 
In file included from <command-line>:0:0:
/usr/include/stdc-predef.h:59:1: fatal error: mf-runtime.h: No such file or directory
 #endif
 ^
compilation terminated.

Поэтому мне нужны библиотеки брызговиков. Но для моей платформы x86_64 не существует соответствующей библиотеки:

$ uname -a
Linux orca 3.13.0-29-generic #53-Ubuntu SMP Wed Jun 4 21:00:20 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
$ apt-cache search mudflap
lib64mudflap0-dbg-powerpc-cross - GCC mudflap shared support libraries (64 bit debug symbols)
lib64mudflap0-powerpc-cross - GCC mudflap shared support libraries (64bit)
libhfmudflap0-armel-cross - GCC mudflap shared support libraries (hard float)
libhfmudflap0-dbg-armel-cross - GCC mudflap shared support libraries (hard float debug symbols)
libmudflap0-4.7-dev-armel-cross - GCC mudflap support libraries (development files)
libmudflap0-4.7-dev-armhf-cross - GCC mudflap support libraries (development files)
libmudflap0-4.8-dev-armhf-cross - GCC mudflap support libraries (development files)
libmudflap0-4.8-dev-powerpc-cross - GCC mudflap support libraries (development files)
libmudflap0-armel-cross - GCC mudflap shared support libraries
libmudflap0-armhf-cross - GCC mudflap shared support libraries
libmudflap0-dbg-armel-cross - GCC mudflap shared support libraries (debug symbols)
libmudflap0-dbg-armhf-cross - GCC mudflap shared support libraries (debug symbols)
libmudflap0-dbg-powerpc-cross - GCC mudflap shared support libraries (debug symbols)
libmudflap0-powerpc-cross - GCC mudflap shared support libraries
libsfmudflap0-armhf-cross - GCC mudflap shared support libraries (soft float)
libsfmudflap0-dbg-armhf-cross - GCC mudflap shared support libraries (soft float debug symbols)

Почему все вещи ARM и Armel? Поиск в сетевых предложениях должен содержать пакет, называемый libmudflap0-4.8-dev, что соответствует предустановленной версии GCC в Trusty, но ее не существует.

Это ошибка? Если нет, как установить libmudflap?

Благодарю.


2
2018-06-22 20:26


происхождения




ответы:


Я не понимал, что в GCC из-за версии 4.9 mudflap устарел. Несмотря на то, что Ubuntu 14.04 отправляет 4.8, я думаю, что они прекратили пакет. Погляди AddressSanitiser вместо.


2
2018-06-25 20:41