Mikael Pettersson
|
5adda72e1f
|
ld: record a fragment's output offset separately from its input shdr
|
2020-07-06 12:12:19 +02:00 |
|
Mikael Pettersson
|
92d5ed6a1a
|
sim: sim_core: improve diagnostic output formatting
|
2020-07-06 12:05:58 +02:00 |
|
Mikael Pettersson
|
271f580e73
|
sim: sim_loader: fix parameter order to lists:duplicate/2, add alignment checks
|
2020-07-06 12:04:42 +02:00 |
|
Mikael Pettersson
|
d0c6103989
|
readelf: also disassemble loadable segments containing code
|
2020-07-05 19:46:03 +02:00 |
|
Mikael Pettersson
|
8631bc5c2a
|
sim: sim_core: add instruction fetch, effective address calculation, and code to start a freshly loaded program
|
2020-07-05 16:01:42 +02:00 |
|
Mikael Pettersson
|
5e138be489
|
sim: sim_core.hrl: add type for effective addresses, tweaks
|
2020-07-05 15:56:13 +02:00 |
|
Mikael Pettersson
|
d431e548b8
|
sim: sim_loader: convert entry point from byte to word address
|
2020-07-05 15:54:33 +02:00 |
|
Mikael Pettersson
|
b0b43b35ff
|
sim: sim_core: start implementing the simulator core
|
2020-06-28 21:48:07 +02:00 |
|
Mikael Pettersson
|
1bfa79597a
|
sim: sim_core.hrl: correct type of ac field
|
2020-06-28 21:43:08 +02:00 |
|
Mikael Pettersson
|
76e19ce3ae
|
sim: sim_loader: also set up envp[] for _start()
|
2020-06-28 13:40:35 +02:00 |
|
Mikael Pettersson
|
0947a15735
|
sim: sim_loader: prefix Argv with Exe path
|
2020-06-28 13:35:10 +02:00 |
|
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 |
|