arduino / toolchain-avr

The AVR toolchain used by the Arduino IDE
142 stars 48 forks source link

Switch OSX build to x86_64 #58

Closed SConaway closed 5 years ago

SConaway commented 5 years ago

As you've probably heard, Apple is deprecating x32 software soon. What's needed to switch to x86_64 for this toolchain? I've tried building it on my mac, but to no avail.

facchinm commented 5 years ago

avr-gcc 7.3.0 (compiled using staging branch) (https://github.com/arduino/Arduino/issues/7949#issuecomment-442969335) already targets x86_64 on OSX (https://github.com/arduino/toolchain-avr/commit/df66a5f11d4a5b32b267c3ad88ef519f4d6221c1). Can you test that build (or try to reproduce it) and report if the warning is not triggered anymore? Thanks!

SConaway commented 5 years ago

Trying it now. It's showing as 64 bit now (file *). It seems faster in the IDE, but maybe not. The IDE seems to work.

Build errors:
$ ./binutils.build.bash
...
Undefined symbols for architecture x86_64:
  "__bfd_abort", referenced from:
      _fix_new_internal in write.o
      _size_seg in write.o
      _adjust_reloc_syms in write.o
      _number_to_chars_bigendian in write.o
      _number_to_chars_littleendian in write.o
  "__bfd_elf_obj_attrs_arg_type", referenced from:
      _obj_elf_vendor_attribute in obj-elf.o
  "__bfd_std_section", referenced from:
      _main in as.o
      _dwarf2_finish in dwarf2dbg.o
      _make_expr_symbol in expr.o
      _expr_build_dot in expr.o
      _current_location in expr.o
      _expr in expr.o
      _operand in expr.o
      ...
  "__hex_value", referenced from:
      _integer_constant in expr.o
      _hex_float in read.o
  "__obstack_begin", referenced from:
      _hash_new_sized in hash.o
      _read_begin in read.o
      _subsegs_begin in subsegs.o
      _subseg_set_rest in subsegs.o
  "__obstack_free", referenced from:
      _s_endif in cond.o
      _cond_exit_macro in cond.o
      _hash_die in hash.o
      _hash_delete in hash.o
      _s_stab_generic in stabs.o
  "__obstack_newchunk", referenced from:
      _s_ifdef in cond.o
      _s_if in cond.o
      _s_ifb in cond.o
      _s_ifc in cond.o
      _s_ifeqs in cond.o
      _cfi_add_label in dw2gencfi.o
      _frag_alloc in frags.o
      ...
  "__sch_istable", referenced from:
      _atof_generic in atof-generic.o
      _dwarf2_directive_loc in dwarf2dbg.o
      _input_file_open in input-file.o
      _listing_newline in listing.o
      _debugging_pseudo in listing.o
      _macro_expand_body in macro.o
      _read_a_source_file in read.o
      ...
  "__sch_tolower", referenced from:
      _operand in expr.o
      _define_macro in macro.o
      _check_macro in macro.o
      _delete_macro in macro.o
      _read_a_source_file in read.o
      _md_parse_option in tc-avr.o
      _avr_operand in tc-avr.o
      ...
  "__sch_toupper", referenced from:
      _save_symbol_name in symbols.o
      _symbol_find_noref in symbols.o
  "_bfd_alloc", referenced from:
      _write_object_file in write.o
  "_bfd_arch_bits_per_address", referenced from:
      _write_object_file in write.o
  "_bfd_cache_close_all", referenced from:
      _output_file_close in output-file.o
  "_bfd_close", referenced from:
      _output_file_close in output-file.o
  "_bfd_elf_add_obj_attr_int", referenced from:
      _obj_elf_vendor_attribute in obj-elf.o
  "_bfd_elf_add_obj_attr_int_string", referenced from:
      _obj_elf_vendor_attribute in obj-elf.o
  "_bfd_elf_add_obj_attr_string", referenced from:
      _obj_elf_vendor_attribute in obj-elf.o
  "_bfd_elf_get_default_section_type", referenced from:
      _obj_elf_change_section in obj-elf.o
  "_bfd_elf_obj_attr_size", referenced from:
      _write_object_file in write.o
  "_bfd_elf_set_obj_attr_contents", referenced from:
      _write_object_file in write.o
  "_bfd_errmsg", referenced from:
      _output_file_create in output-file.o
      _output_file_close in output-file.o
      _s_linkonce in read.o
      _symbol_create in symbols.o
      _symbol_clone in symbols.o
      _dot_symbol_init in symbols.o
      _write_contents in write.o
      ...
  "_bfd_get_arch_size", referenced from:
      _cfi_finish in dw2gencfi.o
      _select_cie_for_fde in dw2gencfi.o
      _output_fde in dw2gencfi.o
  "_bfd_get_compression_header_size", referenced from:
      _compress_debug in write.o
  "_bfd_get_error", referenced from:
      _output_file_create in output-file.o
      _output_file_close in output-file.o
      _s_linkonce in read.o
      _symbol_create in symbols.o
      _symbol_clone in symbols.o
      _dot_symbol_init in symbols.o
      _write_contents in write.o
      ...
  "_bfd_get_reloc_code_name", referenced from:
      _print_fixup in write.o
  "_bfd_get_section_by_name", referenced from:
      _dwarf2_finish in dwarf2dbg.o
      _elf_begin in obj-elf.o
      _adjust_stab_sections in obj-elf.o
  "_bfd_get_section_by_name_if", referenced from:
      _obj_elf_change_section in obj-elf.o
  "_bfd_getl16", referenced from:
      _md_apply_fix in tc-avr.o
  "_bfd_hash_set_default_size", referenced from:
      _set_gas_hash_table_size in hash.o
  "_bfd_init", referenced from:
      _main in as.o
  "_bfd_install_relocation", referenced from:
      _install_reloc in write.o
  "_bfd_is_local_label", referenced from:
      _S_IS_LOCAL in symbols.o
  "_bfd_make_section", referenced from:
      _avr_post_relax_hook in tc-avr.o
  "_bfd_make_section_anyway", referenced from:
      _subseg_get in subsegs.o
      _subseg_force_new in subsegs.o
  "_bfd_make_section_old_way", referenced from:
      _subseg_get in subsegs.o
      _subseg_new in subsegs.o
  "_bfd_map_over_sections", referenced from:
      _write_object_file in write.o
      _elf_adjust_symtab in obj-elf.o
      _elf_frob_file in obj-elf.o
  "_bfd_openw", referenced from:
      _output_file_create in output-file.o
  "_bfd_putl16", referenced from:
      _md_apply_fix in tc-avr.o
      _md_assemble in tc-avr.o
  "_bfd_putl32", referenced from:
      _md_apply_fix in tc-avr.o
      _md_assemble in tc-avr.o
  "_bfd_reloc_name_lookup", referenced from:
      _s_reloc in read.o
  "_bfd_reloc_type_lookup", referenced from:
      _s_reloc in read.o
      _tc_gen_reloc in tc-avr.o
  "_bfd_scan_vma", referenced from:
      _main in as.o
  "_bfd_set_error_program_name", referenced from:
      _main in as.o
  "_bfd_set_format", referenced from:
      _output_file_create in output-file.o
  "_bfd_set_reloc", referenced from:
      _write_relocs in write.o
  "_bfd_set_section_contents", referenced from:
      _write_contents in write.o
  "_bfd_set_section_flags", referenced from:
      _main in as.o
      _dwarf2_finish in dwarf2dbg.o
      _cfi_finish in dw2gencfi.o
      _s_linkonce in read.o
      _get_stab_string_offset in stabs.o
      _s_stab_generic in stabs.o
      _write_object_file in write.o
      ...
  "_bfd_set_section_size", referenced from:
      _size_seg in write.o
      _compress_debug in write.o
      _avr_post_relax_hook in tc-avr.o
      _elf_adjust_symtab in obj-elf.o
  "_bfd_set_symtab", referenced from:
      _write_object_file in write.o
  "_bfd_update_compression_header", referenced from:
      _compress_debug in write.o
  "_concat", referenced from:
      _main in as.o
      _s_weakref in read.o
  "_deflate", referenced from:
      _compress_data in compress-debug.o
      _compress_finish in compress-debug.o
  "_deflateEnd", referenced from:
      _compress_finish in compress-debug.o
  "_deflateInit_", referenced from:
      _compress_init in compress-debug.o
  "_expandargv", referenced from:
      _main in as.o
  "_filename_cmp", referenced from:
      _register_dependency in depend.o
      _get_filenum in dwarf2dbg.o
      _new_logical_line_flags in input-scrub.o
      _new_logical_line in input-scrub.o
      _listing_newline in listing.o
      _listing_source_file in listing.o
      _generate_asm_file in stabs.o
      ...
  "_filename_ncmp", referenced from:
      _get_filenum in dwarf2dbg.o
      _remap_debug_filename in remap.o
  "_get_run_time", referenced from:
      _main in as.o
      _dump_statistics in as.o
  "_getpwd", referenced from:
      _dwarf2_finish in dwarf2dbg.o
      _stabs_generate_asm_file in stabs.o
  "_hex_init", referenced from:
      _main in as.o
  "_lbasename", referenced from:
      _get_filenum in dwarf2dbg.o
  "_unlink_if_ordinary", referenced from:
      _close_output_file in as.o
      _as_fatal in messages.o
  "_xatexit", referenced from:
      _main in as.o
  "_xcalloc", referenced from:
      _cfi_new_fde in dw2gencfi.o
      _cfi_add_advance_loc in dw2gencfi.o
      _cfi_add_label in dw2gencfi.o
      _cfi_add_CFA_offset in dw2gencfi.o
      _cfi_add_CFA_def_cfa in dw2gencfi.o
      _cfi_add_CFA_register in dw2gencfi.o
      _cfi_add_CFA_def_cfa_register in dw2gencfi.o
      ...
  "_xexit", referenced from:
      _main in as.o
      _as_fatal in messages.o
      _as_assert in messages.o
      _as_abort in messages.o
  "_xmalloc", referenced from:
      _app_push in app.o
      _main in as.o
      _register_dependency in depend.o
      _dwarf2_gen_line_info in dwarf2dbg.o
      _get_filenum in dwarf2dbg.o
      _dwarf2_move_insn in dwarf2dbg.o
      _get_line_subseg in dwarf2dbg.o
      ...
  "_xmalloc_set_program_name", referenced from:
      _main in as.o
  "_xrealloc", referenced from:
      _get_filenum in dwarf2dbg.o
      _input_scrub_next_buffer in input-scrub.o
      _read_a_source_file in read.o
      _read_symbol_name in read.o
      _add_include_dir in read.o
      _sb_add_sb in sb.o
      _sb_scrub_and_add_sb in sb.o
      ...
  "_xstrdup", referenced from:
      _main in as.o
      _register_dependency in depend.o
      _get_filenum in dwarf2dbg.o
      _listing_newline in listing.o
      _listing_source_file in listing.o
      _s_incbin in read.o
      _s_func in read.o
      ...
  "_xstrerror", referenced from:
      _input_file_open in input-file.o
      _input_file_give_next_buffer in input-file.o
      _input_file_get in input-file.o
      _listing_print in listing.o
      _s_func in read.o
      _stabs_generate_asm_func in stabs.o
      _stabs_generate_asm_endfunc in stabs.o
      ...
ld: symbol(s) not found for architecture x86_64
Works:

./tools.bash ./avr-libc.build.bash I'll update as I go.

SConaway commented 5 years ago

@facchinm when is this getting released?