Что означает tinfo6? - PullRequest
       72

Что означает tinfo6?

0 голосов
/ 10 сентября 2018

Работая с Haskell и особенно с GHC, я часто вижу слово tinfo6 . В основном это выглядит как arch-vendor-os triple x86_64-linux-tinfo6, как будто это была какая-то ОС. Но что на самом деле означает tinfo6 ?

1 Ответ

0 голосов
/ 10 сентября 2018

появляется в виде triple-arch-vendor-os x86_64-linux-tinfo6

Я думаю, вы путаете целевые триплеты GNU с целевыми триплетами GHC.Целевой триплет GHC равен <architecture>-<operating system>-<ABI>.

Итак, tinfo6 - это ABI.Я не знаю много о GHC, но я делаю помню, что у него есть соглашение о вызовах, которое не является соглашением о вызовах C.

Забавный факт: это соглашение о вызовах фактически не может быть выраженопоэтому в C бэкэнд C GHC фактически вызывает GCC для генерации сборки, затем сценарий Perl (!!!), являющийся частью компилятора GHC, ищет вызовы в коде сборки и перезаписывает ихк соглашению о вызове GHC;после этого компилятор снова вызовет GCC (или, скорее, GAS), чтобы собрать объектный файл.(Этот довольно умный, но несколько сумасшедший хак является одной из причин перехода к нативному и LLVM бэкенду.)

Так что, к сожалению, я не знаю, что означает tinfo6, но я уверен, что это такназвание соглашения о вызовах GHC или ABI.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...