Zkuste přidat -nostartfiles
na vaše možnosti linkeru, tj.
$(LINK) -nostartfiles -g ...
Z dokumentace gcc:
-nostartfiles
Do not use the standard system startup files when linking. The standard system libraries are used normally, unless -nostdlib or -nodefaultlibs is used.
To způsobí crt1.o
nesmí být propojen (ve výchozím nastavení je normálně propojen) – obvykle se používá pouze tehdy, když implementujete svůj vlastní _start
kód.
-shared
možnost odkazu musí být použita při kompilaci .so
Problém pro mě byl, že jsem omylem uvedl int main()
ve jmenném prostoru. Ujistěte se, že to nedělejte, jinak se zobrazí tato otravná chyba odkazu.
Doufám, že to někomu pomůže :)
zkontrolovat, zda je VT-x aktivován bez nutnosti restartu v Linuxu?
jak chránit CPU před linuxovým plánovačem (zabránit tomu, aby plánoval vlákna na tomto CPU)?