Ошибка 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
Другие вопросы по тегам