stalbordboat · GitHub

I wrote this build task for the tcc toolchain. It's just a modified gcc toolchain:

MRuby::Toolchain.new(:tcc) do |conf, params|
  default_command = 'tcc'
  compiler_flags = %w(-g -O3 -Wall -Wundef)
  c_mandatory_flags = %w(-std=gnu99)
  compile_opt = '%{flags} -o "%{outfile}" "%{infile}"'
  conf.linker do |linker|
    linker.command = default_command
    linker.flags = [ENV['LDFLAGS'] || %w()]
    linker.libraries = %w(m)
    linker.library_paths = []
    linker.option_library = '-l%s'
    linker.option_library_path = '-L%s'
    linker.link_options = '%{flags} -o "%{outfile}" %{objs} %{flags_before_libraries} %{libs} %{flags_after_libraries}'
  end
end

When it reaches the point of building mrbc(linking it with libmruby_core.a) it fails and give me this error:

LD    build/host/mrbc/bin/mrbc
tcc: error: undefined symbol 'etext'
tcc: error: undefined symbol 'edata'

any idea what's going on here? Thank you in advance for any help!

Read the original on github.com ↗