Why does Go use its own Code generator? -
the current, official compiler go (http://code.google.com/p/go/) uses handcrafted, arguably arcane code generator, includes injecting custom sections elf binary.
this approach has spawned quite few bugs related utilities directly read and/or write elf information, such ldd
, objdump
or strip
.
i believe have been prevented using welltested crossplatform code generator, such llvm, , use linking facilities shipped os, such ld
on unix/linux (or ld.exe
on windows w/ mingw), or link.exe
on windows visual studio.
so why go use own code generator? reinventing wheel? or there more important reasons behind it?
for information on how use gccgo, more traditional compiler using gcc end, see setting , using gccgo.
the go language specification compiler agnostic. can choose available compilers, write 1 yourself, or contribute llvm go frontend project.
for historical perspective on go compiler technology, read answer question: what compiler technology used build compilers?
Comments
Post a Comment