272 Commits

Author SHA1 Message Date
Mikael Pettersson
d7cecec3a9 rebar.config: add sim_loader:format_error/1 to xref_ignore 2020-06-28 13:34:15 +02:00
Mikael Pettersson
a9513554d6 sim: sim_loader: add ELF loader 2020-06-26 23:25:12 +02:00
Mikael Pettersson
1983581477 sim: sim_core.hrl: describe user-mode execution context 2020-06-26 23:12:12 +02:00
Mikael Pettersson
16ba843e11 sim: sim_mem: add user-mode memory emulation 2020-06-26 23:12:05 +02:00
Mikael Pettersson
5e0b8e7742 sim: initial top-level framework 2020-06-09 21:55:39 +02:00
Mikael Pettersson
438cef200e TODO: remove some obsolete stuff 2020-06-08 19:20:09 +02:00
Mikael Pettersson
617887e2ef README: mention 'ld' 2020-06-08 19:19:57 +02:00
Mikael Pettersson
e082530780 as: output:symbol_image/1: handle symbols without values 2020-06-07 21:18:53 +02:00
Mikael Pettersson
ec21b92348 readelf: add support for printing program header tables 2020-06-07 21:18:53 +02:00
Mikael Pettersson
c0c4f491ca pdp10_elf36: add support for reading program header tables 2020-06-07 21:18:47 +02:00
Mikael Pettersson
e1320acc78 ld: handle input file options 2020-06-07 21:18:47 +02:00
Mikael Pettersson
e24b529f05 ld: ld_input: error if there are no input files 2020-06-07 21:18:47 +02:00
Mikael Pettersson
ebbfad04bc ld: ld_output: new phase to output ELF and apply relocations 2020-06-07 21:18:40 +02:00
Mikael Pettersson
67c96e0d65 pdp10-relocation.txt: correct descriptions of byte pointer relocations 2020-06-06 14:31:38 +02:00
Mikael Pettersson
d235aac0cd pdp10_elf36: add Ehdr and Phdr write support 2020-06-06 14:31:38 +02:00
Mikael Pettersson
198bf54c7c pdp10_elf36: read_Ehdr/1: more sanity checks 2020-06-06 14:31:38 +02:00
Mikael Pettersson
d60f570258 ld: ld_symtab: new phase to compute global and per-file symbol tables 2020-06-06 14:31:38 +02:00
Mikael Pettersson
b1b7dc280c ld: ld_assign: new phase to assign load addresses and file offsets to segments 2020-06-06 14:31:38 +02:00
Mikael Pettersson
ca515b376e pdp10_elf36.hrl: define ELF36_PHDR_SIZEOF 2020-06-06 14:31:38 +02:00
Mikael Pettersson
fa1d534960 ld: ld_phase2: improve grammar in comment 2020-06-06 14:31:38 +02:00
Mikael Pettersson
775358fd5c ld: ld_phase1: only collect SHF_ALLOC sections 2020-06-06 14:31:38 +02:00
Mikael Pettersson
a10bc2104c ld: ld_phase1: record ShNdx in sectfrags, do not compute unused SectionsMap 2020-06-06 14:31:31 +02:00
Mikael Pettersson
c04d1a3c94 ld: separate -module and -export directives by an empty line 2020-04-05 16:56:31 +02:00
Mikael Pettersson
8b38ce8191 ld: ld_phase2: new, implement linking phase 2 2020-04-05 16:51:47 +02:00
Mikael Pettersson
872c500337 ld: ld_internal.hrl: define type for ld_phase2:phase2/1 2020-04-04 21:50:54 +02:00
Mikael Pettersson
bbb6a51252 ld: ld_phase1: new, implement linking phase 1 2020-03-31 23:27:46 +02:00
Mikael Pettersson
37f13ee351 ld: ld_input: return more data for each input ELF file 2020-03-31 23:27:03 +02:00
Mikael Pettersson
20e6341000 ld: ld_internal.hrl: new, define types for ld_input:input/2 and ld_phase1:phase1/1 2020-03-31 23:26:00 +02:00
Mikael Pettersson
84011377d9 ld: implement input processing logic 2020-03-23 20:56:59 +01:00
Mikael Pettersson
ffa2ab64b6 ld: options processing corrections 2020-03-23 20:56:53 +01:00
Mikael Pettersson
5c99f6bafc pdp10_elf36.hrl: fix typo in description for STV_HIDDEN 2020-03-23 00:37:58 +01:00
Mikael Pettersson
d712c86cf7 ld: top-level structure, options processing 2020-03-17 20:33:08 +01:00
Mikael Pettersson
de6db33f71 strtol: include Base in invalid_base errors 2020-03-16 22:49:17 +01:00
Mikael Pettersson
7964864840 getopt: an argument inexactly matching two different but equivalent options is considered a match 2020-03-16 22:49:17 +01:00
Mikael Pettersson
c9993fca72 pdp10_stdio: tidy source code file header 2020-03-14 18:08:39 +01:00
Mikael Pettersson
b370ab9452 escript_runtime: add specs for exported functions 2020-03-14 18:08:39 +01:00
Mikael Pettersson
1fd3a7c0b4 getopt: when OptString starts with '-' tag non-options also after '--' 2020-03-14 18:08:39 +01:00
Mikael Pettersson
ecda1ffaad getopt: opt-in support for single-dash options, e.g. ld's -nostdlib 2020-03-12 22:33:05 +01:00
Mikael Pettersson
a83fb418b1 getopt: change per-element parsing to return new state instead of tail-calling parse_argv/5 2020-03-12 22:33:05 +01:00
Mikael Pettersson
4e30e25a89 getopt: factor out duplicated code for non-options 2020-03-12 22:33:05 +01:00
Mikael Pettersson
2a0f15ac52 getopt: throw badarg on invalid LongOpts instead of returning error tuple 2020-03-12 22:33:05 +01:00
Mikael Pettersson
a8277651b0 nm: correct handling of error Reason from getopt:parse/3 2020-03-12 22:33:05 +01:00
Mikael Pettersson
aaca744f1c pdp10_stdio: be more careful not to create duplicate Modes for file:open/2 2020-03-12 19:52:45 +01:00
Mikael Pettersson
4b627eaf78 pdp10_stdio: source code formatting fixes 2020-03-12 19:52:45 +01:00
Mikael Pettersson
43f78e318a pdp10_elf36.hrl: sync with binutils-2.34 ELF definitions 2020-03-04 16:24:22 +01:00
Mikael Pettersson
5e6a7772d1 erlang: add dialyzer checks to compile step 2020-03-03 23:29:37 +01:00
Mikael Pettersson
84f67a1ad9 as: as: fix dialyzer error 2020-03-03 23:27:59 +01:00
Mikael Pettersson
a20cc87722 as: output: fix dialyzer errors 2020-03-03 23:16:59 +01:00
Mikael Pettersson
b7f51949f6 as: assemble: fix dialyzer errors 2020-03-03 22:21:20 +01:00
Mikael Pettersson
cf296afe52 as: input: fix dialyzer errors 2020-03-03 20:39:23 +01:00