Ошибка gcc в Ubuntu 18.04
Я пытаюсь скомпилировать hello.c используя gcc с -mnop-mcount
вариант. Но ошибка происходит, как показано ниже:
$ gcc -pg -mfentry -mnop-mcount -o hello hello.c
cc1: error: -mnop-mcount is not implemented for -fPIC
Моя версия GCC 7.3.0:
$ gcc --version
gcc (Ubuntu 7.3.0-16ubuntu3) 7.3.0
Copyright (C) 2017 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
И моя версия Ubuntu 18.04 LTS:
$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 18.04 LTS
Release: 18.04
Codename: bionic
1 ответ
gcc6 и далее генерирует fpic
код по умолчанию из-за способа его компилирования в Ubuntu. Чтобы отключить это поведение, используйте fno-pic
пометить следующим образом:
gcc -pg -mfentry -mnop-mcount -fno-pic -o hello hello.c