* Makefile.tpl (all): Avoid a trailing backslash.
[deliverable/binutils-gdb.git] / binutils / ChangeLog
CommitLineData
1533edfb
AM
12009-06-01 Alan Modra <amodra@bigpond.net.au>
2
3 PR 10199
4 * doc/binutils.texi (nm): Correct -S description.
5
b662cd9e
NC
62009-05-28 Nick Clifton <nickc@redhat.com>
7
8 * po/da.po: Updated Danish translation.
9
5dff79d8
NC
102009-05-28 Nick Clifton <nickc@redhat.com>
11
12 * readelf.c (display_debug_section): Do not display debug sections
13 with the NOBITS section type.
14
fc579192
NC
152009-05-27 Rafael Avila de Espindola <espindola@google.com>
16
17 * aclocal.m4: Include ../config/plugins.m4.
18 * configure.in: Use AC_PLUGINS.
19 * configure: Regenerate.
20 * Makefile.in: Regenerate.
21 * doc/Makefile.in: Regenerate.
22
232009-05-27 Rafael Avila de Espindola <espindola@google.com>
24
25 * ar.c (main): Call bfd_plugin_set_program_name.
26 * nm.c (main): Call bfd_plugin_set_program_name.
27
3614867c
NS
282009-05-27 Nathan Sidwell <nathan@codesourcery.com>
29
30 * sysdump.c (tab): Use puts rather than two printfs.
31
f12e7348
NC
322009-05-26 Nick Clifton <nickc@redhat.com>
33
34 * po/id.po: Updated Indonesian translation.
35 * po/binutils.pot: Updated template file.
36
ce3c775b
NC
372009-05-26 Rafael Avila de Espindola <espindola@google.com>
38
39 * ar.c: Include plugin.h.
40 (main): Handle the --plugin option.
41 * nm.c: Include plugin.h.
42 (OPTION_PLUGIN): New.
43 (long_options): Add plugin.
44 (main): Handle OPTION_PLUGIN.
45 * NEWS: Mention the new feature.
46 * doc/binutils: Documement the new command line options.
47 * configure.in: Check for --enable-plugins.
48 * configure: Regenerate.
49
00f3247a
AM
502009-05-26 Alan Modra <amodra@bigpond.net.au>
51
52 * dep-in.sed: Output one filename per line with all lines having
53 continuation backslash. Prefix first line with "A", following
54 lines with "B".
55 * Makefile.am (DEP): Don't use dep.sed here.
56 (DEP1): Run $MKDEP on single files, use dep.sed here on dependencies,
57 sort and uniq.
58 * Makefile.in: Regenerate.
59
c5ac1056
TG
602009-05-25 Tristan Gingold <gingold@adacore.com>
61
62 * makefile.vms-in: Fix CFLAGS, add addr2line.exe target.
63
64 * configure.com: Fix it: handle alloca and define TARGET in config.h.
65
2b3decb5
AM
662009-05-22 Alan Modra <amodra@bigpond.net.au>
67
68 * Makefile.am: Run "make dep-am".
69 * Makefile.in: Regenerate.
70
78e82dc3
AM
712009-05-12 Alan Modra <amodra@bigpond.net.au>
72
73 * objcopy.c (set_long_section_mode): Check input_bfd is coff
74 before accessing coff specific fields of bfd.
75
57f6e0bc
DK
762009-05-09 Dave Korn <dave.korn.cygwin@gmail.com>
77
78 * MAINTAINERS: Add myself as PE/COFF co-maintainer.
79
34e8a6f7
KT
802009-05-08 Kai Tietz <kai.tietz@onevision.com>
81
82 * winduni.c (iconv_onechar): Only define when HAVE_ICONV
83 is defined, but not when __CYGWIN__ or _WIN32 are defined.
84 See wind_iconv_cp for call logic of this local funtion.
85
6f4c2146
NC
862009-05-05 Guillaume Duhamel <guillaume.duhamel@gmail.com>
87
88 PR 10109
89 * winduni.c: Replace test of HAVE_ICONV_H with a test of
90 HAVE_ICONV.
91 (iconv_onechar): Use ICONV_CONST instead of "const".
92 (wind_MultiByteToWideChar): Initialise local strings.
93
d8045f23
NC
942009-04-30 Nick Clifton <nickc@redhat.com>
95
96 * readelf.c (dump_relocations): Display a relocation against an
97 ifunc symbol as if it were a function invocation.
98 (get_symbol_type): Handle STT_GNU_IFUNC.
99
43cd3ced
AG
1002009-04-29 Anthony Green <green@moxielogic.com>
101
102 * NEWS: Tweak verilog support description.
103
c6a0c689
AM
1042009-04-29 Alan Modra <amodra@bigpond.net.au>
105 Denis Scherbakov <denis_scherbakov@yahoo.com>
106
107 * readelf.c (slurp_ia64_unwind_table): Correct 64-bit unwind table
108 read, and merge with 32-bit case.
109
c067354b
NC
1102009-04-27 Anthony Green <green@moxielogic.com>
111
112 * NEWS: Mention verilog support added to bfd.
113
325c681d
L
1142009-04-27 H.J. Lu <hongjiu.lu@intel.com>
115
116 * objcopy.c (copy_object): Copy pe_opthdr before changing PE
117 parameters.
118
ed4a4bdf
CC
1192009-04-24 Cary Coutant <ccoutant@google.com>
120
121 * dwarf.c (process_extended_line_op): Add DW_LNE_set_discriminator.
122 Add missing newlines to HP extensions.
123
d9118602
L
1242009-04-17 H.J. Lu <hongjiu.lu@intel.com>
125
126 * objcopy.c (set_pe_subsystem): Replace efi-rom with sal-rtd.
127 * doc/binutils.texi: Likewise.
128
92dd4511
L
1292009-04-17 H.J. Lu <hongjiu.lu@intel.com>
130
131 PR binutils/10074
132 * objcopy.c: Include coff/i386.h and coff/pe.h.
133 (pe_file_alignment): New.
134 (pe_heap_commit): Likewise.
135 (pe_heap_reserve): Likewise.
136 (pe_image_base): Likewise.
137 (pe_section_alignment): Likewise.
138 (pe_stack_commit): Likewise.
139 (pe_stack_reserve): Likewise.
140 (pe_subsystem): Likewise.
141 (pe_major_subsystem_version): Likewise.
142 (pe_minor_subsystem_version): Likewise.
143 (set_pe_subsystem): Likewise.
144 (convert_efi_target): Likewise.
145 (command_line_switch): Add OPTION_FILE_ALIGNMENT,
146 OPTION_HEAP, OPTION_IMAGE_BASE, OPTION_SECTION_ALIGNMENT,
147 OPTION_STACK and OPTION_SUBSYSTEM.
148 (copy_options): Likewise.
149 (copy_usage): Add --file-alignment, --heap, --image-base,
150 --section-alignment, --stack and --subsystem.
151 (copy_object): Set up PE parameters.
152 (copy_main): Process Add OPTION_FILE_ALIGNMENT,
153 OPTION_HEAP, OPTION_IMAGE_BASE, OPTION_SECTION_ALIGNMENT,
154 OPTION_STACK and OPTION_SUBSYSTEM. Convert EFI target to
155 PEI target.
156
157 * NEWS: Mention --file-alignment, --heap, --image-base,
158 --section-alignment, --stack and --subsystem command line
159 options for objcopy.
160
161 * doc/binutils.texi: Document --file-alignment, --heap,
162 --image-base, --section-alignment, --stack and --subsystem
163 command line options for objcopy.
164
20135e4c
NC
1652009-04-15 Anthony Green <green@moxielogic.com>
166
17eb60e9 167 * MAINTAINERS: Add myself as Moxie port maintainer.
20135e4c 168
0408dee6
DK
1692009-04-14 Dave Korn <dave.korn.cygwin@gmail.com>
170
171 * objcopy.c (enum long_section_name_handling): New enum type.
172 (enum command_line_switch): Add OPTION_LONG_SECTION_NAMES.
173 (copy_options[]): Add entry for --long-section-names option.
174 (copy_usage): Document it.
175 (set_long_section_mode): New subroutine.
176 (copy_file): Call it.
177 (copy_main): Accept OPTION_LONG_SECTION_NAMES and parse arg.
178 * doc/binutils.texi: Update objcopy documentation with details
179 of new option.
180
2fe50fe3
DK
1812009-04-01 Dave Korn <dave.korn.cygwin@gmail.com>
182
183 * dlltool.c (set_dll_name_from_def): Accept new second arg that
184 indicates if we are building DLL or EXE, and use it to add a
185 default suffix to the output filename when none is already present.
186 (def_name): Indicate we are building an EXE when calling it.
187 (def_library): Indicate we are building a DLL when calling it.
188
ffbe5983
NC
1892009-04-01 Jari Aalto <jari.aalto@cante.net>
190
191 PR 9972
192 * doc/binutils.texi (strings): Document the -V alias for the
193 --version option.
194 * strings.c (usage): Likewise.
195
e3525117
NC
1962009-03-31 Nick Clifton <nickc@redhat.com>
197
198 PR 9992
199 * configure.in: Import Solaris specific largefile test from
200 bfd/configure.in.
201 * configure: Regenerate.
202
93abc97a
RS
2032009-03-30 Richard Sandiford <rdsandiford@googlemail.com>
204
205 * MAINTAINERS: Add self.
206
4a149252
NC
2072009-03-27 Nick Clifton <nickc@redhat.com>
208
209 * dwarf.c (display_debug_ranges): Add the base address to the
210 displayed values for 'Begin' and 'End'.
211
15ba6505
AM
2122009-03-25 Ryan Mansfield <rmansfield@qnx.com>
213
214 * readelf.c (process_file_header): Don't report a corrupt string
215 table index if it is zero.
216
665ce1f6
L
2172009-03-19 H.J. Lu <hongjiu.lu@intel.com>
218
219 * dwarf.c (dwarf_regnames): Moved before frame_need_space.
220 (dwarf_regnames_count): Likewise.
221 (frame_need_space): Return int.
222 (display_debug_frames): Check invalid registers.
223
55f25fc3
L
2242009-03-19 H.J. Lu <hongjiu.lu@intel.com>
225
226 * readelf.c (debug_apply_relocations): Check relocations
227 against STT_SECTION symbol.
228
13e4f8ad
L
2292009-03-18 H.J. Lu <hongjiu.lu@intel.com>
230
231 * readelf.c (debug_apply_relocations): Allow relocations
232 against function symbols.
233
8d25cc3d
AM
2342009-03-18 Alan Modra <amodra@bigpond.net.au>
235
236 * sysdep.h: Include alloca-conf.h instead of config.h and remove
237 existing #if's handling alloca.
238 * Makefile.am: Run "make dep-am".
239 * Makefile.in: Regenerate.
240
e5231592
RS
2412009-03-14 Richard Sandiford <r.sandiford@uk.ibm.com>
242
243 * configure.tgt: Extend AIX 5 behavior to AIX 6 and above.
244 * configure.in: Likewise.
245 * configure: Regenerate.
246
3516e984
L
2472009-03-13 H.J. Lu <hongjiu.lu@intel.com>
248
249 PR binutils/9945
250 * objcopy.c (copy_object): Clear HAS_RELOC when stripping all.
251
36e4dce6
CD
2522009-03-11 Chris Demetriou <cgd@google.com>
253
254 * ar.c (deterministic): New global variable.
255 (main): Recognize new 'D' option, which enables 'deterministic mode'.
256 (usage): Document new 'D' option.
257 (write_archive): Set BFD_DETERMINISTIC_OUTPUT in output archive's
258 flags if deterministic mode was requested.
259 * doc/binutils.texi (ar): Document deterministic mode ('D' option).
260
0691f7af
L
2612009-03-09 H.J. Lu <hongjiu.lu@intel.com>
262
263 PR binutils/9933
264 * objcopy.c (filter_symbols): Properly handle common symbols
265 in relocatable file.
266
d11fd249
NC
2672009-03-06 Nick Clifton <nickc@redhat.com>
268
269 * po/es.po: Updated Spanish translation.
270
84d7b001
NC
2712009-03-05 Nick Clifton <nickc@redhat.com>
272
273 * objdump.c (disassemble_section): If the computed next offset is
274 not beyond the current offset then just continue to the end.
275
e7f990e2
TG
2762009-03-04 Tristan Gingold <gingold@adacore.com>
277
278 * MAINTAINERS: Add myself as VMS maintainer.
279
54b70fa3
NC
2802009-03-03 Nick Clifton <nickc@redhat.com>
281
282 * readelf.c: Update formatting.
283
a1f7ca36
AM
2842009-03-03 Alan Modra <amodra@bigpond.net.au>
285
286 * Makefile.am: Run "make dep-am".
287 * Makefile.in: Regenerate.
288
095ad3b8
AM
2892009-03-03 Alan Modra <amodra@bigpond.net.au>
290
291 * objdump.c (disassemble_section): Mask address before sign extending.
292
220df88b
NC
2932009-03-02 Sebastian Biallas <sb@biallas.net>
294
295 * ieee.c (parse_ieee_ty): Add support for undocumented 'v' type.
296 (parse_ieee_bb): Set the filename if it has not already been
297 discovered.
298
2cf0635d 2992009-03-02 Cary Coutant <ccoutant@google.com>
095ad3b8 300
2cf0635d
NC
301 * readelf.c (adjust_relative_path): New function.
302 (struct archive_info): New type.
303 (setup_archive): New function.
304 (release_archive): New function.
305 (setup_nested_archive): New function.
306 (get_archive_member_name): New function.
307 (get_archive_member_name_at): New function.
308 (make_qualified_name): New function.
309 (process_archive): Factor out code for reading archive index and
310 long filename table to setup_archive. Add support for thin archives.
311
c7c1befa
NC
3122009-03-02 Nick Clifton <nickc@redhat.com>
313
314 * po/sk.po: Updated Slovak translation.
315
58e24671
RW
3162009-03-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
317
318 * configure: Regenerate.
319
7bcbeb0f
CC
3202009-02-23 Cary Coutant <ccoutant@google.com>
321
322 * objdump.c (load_specific_debug_section): New function, from
323 load_debug_section.
324 (load_debug_section): Use load_specific_debug_section.
325 (dump_dwarf_section): Likewise.
326
613ff48b
CC
3272009-02-23 Cary Coutant <ccoutant@google.com>
328
329 * readelf.c (parse_args): Select all sections explicitly for -w.
330
48b2f7b2
KT
3312009-02-09 Kai Tietz <kai.tietz@onevision.com>
332
333 * windres.c (set_endianess): Copy name without leading '-'.
334
4cb93e3b
TG
3352009-02-09 Tristan Gingold <gingold@adacore.com>
336
337 * NEWS: Mention feature match between objdump and readelf for dumping
338 dwarf info.
339
340 * doc/binutils.texi (objdump): Document -W/--dwarf improvments to
341 objdump.
342
343 * objdump.c (usage): Update documentation for -W/--dwarf.
344 (enum option_values): Add OPTION_DWARF.
345 (long_options): --dwarf can accept arguments.
346 (dump_dwarf_section): Also check enabled field.
347 (main): Option -W can accept arguments, code moved to
348 dwarf.c and call dwarf_select_sections_all instead.
349 * readelf.c (process_section_headers): Remove do_debug_lines_decoded.
350 (parse_args): Move code to...
351 * dwarf.c (dwarf_select_sections_by_letters,
352 dwarf_select_sections_by_names): : ...here (new functions).
353 (do_debug_lines_decoded): Remove and replaced by ...
354 (FLAG_DEBUG_LINES_RAW, FLAG_DEBUG_LINES_DECODED): ... new macros.
355 (display_debug_lines): Adjust for previous change.
356 (dwarf_select_sections_all): New function.
357 (debug_displays): Add initializer for enabled field.
358 * dwarf.h (do_debug_lines_decoded): Remove.
359 Add prototypes for the new functions.
360 (struct dwarf_section_display): Add enabled field.
095ad3b8 361
dfb37fbf
NC
3622009-02-06 Nick Clifton <nickc@redhat.com>
363
364 * po/vi.po: Updated Vietnamese translation.
365
52b6b6b9
JM
3662009-02-03 Sandip Matte <sandip@rmicorp.com>
367
368 * readelf.c (get_machine_flags): Handle E_MIPS_MACH_XLR.
369
28024d9d
L
3702009-02-03 H.J. Lu <hongjiu.lu@intel.com>
371
372 * NEWS: Move --as-needed change to ...
373 * ../ld/NEWS: Here.
374
31dd3154
JM
3752009-02-03 Carlos O'Donell <carlos@codesourcery.com>
376
377 * configure.in: AC_SUBST pdfdir.
378 * Makefile.am: Add install-pdf, install-pdf-am,
379 and install-pdf-recursive targets.
380 * doc/Makefile.am: Define pdf__strip_dir. Add
381 install-pdf and install-pdf-am targets.
382 * po/Make-in: Add install-pdf target.
383 * configure: Regenerate.
384 * Makefile.in: Regenerate.
385 * doc/Makefile.in: Regenerate.
386
0dafdf3f
L
3872009-02-03 H.J. Lu <hongjiu.lu@intel.com>
388
389 PR binutils/9784
390 * NEWS: Mention --prefix=PREFIX and --prefix-strip=LEVEL.
391
392 * doc/binutils.texi: Document --prefix=PREFIX and
393 --prefix-strip=LEVEL.
394
395 * objdump.c: Include "filenames.h".
396 (prefix): New.
397 (prefix_strip): Likewise.
398 (prefix_length): Likewise.
399 (usage): Add --prefix=PREFIX and --prefix-strip=LEVEL.
400 (option_values): Add OPTION_PREFIX and OPTION_PREFIX_STRIP.
401 (long_options): Likewise.
402 (show_line): Handle prefix and prefix_strip.
403 (main): Handle OPTION_PREFIX and OPTION_PREFIX_STRIP.
404
405 * readelf.c (PATH_MAX): Moved to ...
406 * sysdep.h: Here.
407
010e5ae2
AM
4082009-01-31 Alan Modra <amodra@bigpond.net.au>
409
410 * NEWS: Mention --as-needed change.
411
8d8e0703
AM
4122009-01-29 Alan Modra <amodra@bigpond.net.au>
413
414 PR 9798
415 * bucomm.c (bfd_nonfatal_message): Use bfd_get_archive_filename.
416 (bfd_get_archive_filename): Constify param.
417 * bucomm.h (bfd_get_archive_filename): Update prototype.
418 * objcopy.c (RETURN_NONFATAL): Delete.
419 (copy_unknown_object): Don't call bfd_get_archive_filename for
420 bfd_nonfatal_message filename, instead just pass bfd.
421 (copy_object): Likewise.
422 (copy_archive, copy_file): Likewise. Expand RETURN_NONFATAL. On
423 bfd_close errors, do not pass the bfd to bfd_nonfatal_message.
424 (setup_bfd_headers): Fix error message.
425
1b0adfe0
NC
4262009-01-27 Nick Clifton <nickc@redhat.com>
427
428 PR 9774
429 * objdump.c (disassemble_section): When the target uses signed
430 addresses make sure that we compute signed values.
431
9f04c329
NC
4322009-01-27 Nick Clifton <nickc@redhat.com>
433
434 * MAINTAINERS: Remove Thiemo Seufer's name from the list of MIPS
435 maintainers.
436
2c2ce03f
NC
4372009-01-26 Nick Clifton <nickc@redhat.com>
438
439 PR 9766
440 * dlltool.c (xlate): When strip text after the @ sign, look for
441 the last one not the first one.
442
29670fb9
AM
4432009-01-16 Alan Modra <amodra@bigpond.net.au>
444
445 * configure.in (commonbfdlib): Delete.
446 * configure: Regenerate.
447
25893672
NC
4482008-01-14 Charles Wilson <cygwin@cwilson.fastmail.fm>
449
450 Cleanup code related to --identify option.
451
452 * binutils/dlltool.c (file scope): Removed globals identify_ms,
453 identify_member_contains_symname_result,
454 identify_dll_name_list_head, and identify_dll_name_list_tail.
455 Renamed existing typedef dll_name_list_type to
456 dll_name_list_node_type.
457 Added new typedefs dll_name_list_type, symname_search_data_type,
458 and identify_data_type.
459 (identify_append_dll_name_to_list): Renamed to...
460 (dll_name_list_append): ...here. Changed signature to accept list
461 argument rather than use global.
462 (identify_count_dll_name_list): Renamed to...
463 (dll_name_list_count): ...here. Changed signature to accept list
464 argument rather than use global.
465 (identify_print_dll_name_list): Renamed to...
466 (dll_name_list_print): ...here. Changed signature to accept list
467 argument rather than use global.
468 (identify_free_dll_name_list): Renamed to...
469 (dll_name_list_free_contents): ...here.
470 (dll_name_list_free): New function.
471 (dll_name_list_create): New function.
472 (identify_process_section_p): Changed signature to accept
473 ms_style_implib argument rather than use global.
474 (identify_member_contains_symname): Expect incoming void * data to
475 be symname_search_data_type.
476 (identify_dll_for_implib): Use new functions dll_name_list_create
477 and dll_name_list_free. Use new types symname_search_data_type
478 and identify_data_type to communicate with search routines.
479 (identify_search_section): Expect incoming void * data to be
480 identify_data_type. Use its contents rather than global
481 variables.
482
71c57c16
NC
4832009-01-13 Charles Wilson <cygwin@cwilson.fastmail.fm>
484
485 Add --identify-strict option. Handle ms-style implibs:
486
487 * dlltool.c (file scope): Added new globals identify_ms and
488 identify_strict. New typedef dll_name_list_type, and globals
489 identify_dll_name_list_head and identify_dll_name_list_tail. Added
490 new global identify_member_contains_symname_result.
491 (identify_append_dll_name_to_list): New function.
492 (identify_count_dll_name_list): New function.
493 (identify_print_dll_name_list): New function.
494 (identify_free_dll_name_list): New function.
495 (identify_search_archive): Changed signature to take function
496 pointer to operation to apply to each member, and data to pass on
497 to that function.
498 (identify_search_member): Changed signature to accept user data
499 from caller.
500 (identify_member_contains_symname): New function.
501 (identify_dll_for_implib): Rewrite. Now determines whether implib
502 is ms- or binutils- style, before searching sections for
095ad3b8 503 dllname. Allows multiple dllnames.
71c57c16
NC
504 (identify_process_section_p): Search alternate section for dllname
505 when implib is ms-style.
506 (identify_search_section): Add additional conditions to excludes
507 candidate sections from consideration.
508 (usage): Added --identify-strict.
509 (long_options): Added --identify-strict.
510 (main): Handle --identify-strict option.
511 * doc/binutils.texi: Document --identify-strict option.
512 * NEWS: Document --identify and --identify-strict options.
513
840b96a7
AM
5142009-01-13 Alan Modra <amodra@bigpond.net.au>
515
516 PR 7034
517 * doc/binutils.texi (objdump -R): Note effect of -d or -D.
518
22f4bbf5
AM
5192009-01-13 Alan Modra <amodra@bigpond.net.au>
520
521 * objdump.c (disassemble_section): Don't assume non-instruction
522 data if object symbol at given address is in different section.
523
2ea2f3c6
KT
5242009-01-12 Kai Tietz <kai.tietz@onevision.com>
525
526 * dlltool.c (create_for_pep): New.
527 (flush_page): Use create_for_pep instead of using
528 macro DLLTOOL_MX86_64 clause.
529 (generate_idata_ofile): Likewise.
530 (make_one_lib_file): Likewise.
531 (make_head): Likewise.
532 (make_tail): Likewise.
533 (main): Initialize create_for_pep.
534
e77b97d4
KT
5352009-01-08 Kai Tietz <kai.tietz@onevision.com>
536
537 * dlltool.c (use_nul_prefixed_import_tables): New.
538 (make_head): Make prefix leading zero prefix element for
539 idata$4 and idata$5 dependent to new flag.
540 (usage): Add new option --use-nul-prefixed-import-tables.
541 (OPTION_USE_NUL_PREFIXED_IMPORT_TABLES): New.
542 (long_options): Add --use-nul-prefixed-import-tables.
543 (main): Likewise.
544 * doc/binutils.texi: Add new option documentation for
545 --use-nul-prefixed-import-tables.
546 * NEWS: Add new option.
547
1069ad51 5482009-01-06 Kai Tietz <kai.tietz@onevision.com>
84e94c90 549
1069ad51
KT
550 * windres.c (set_endianess): Get architecture name
551 for internal target names like "pe-arm-wince-little".
552 (find_arch_match): New helper.
553 * ChangeLog: Reset it.
554 * ChangeLog-2008: Moved old ChangeLog.
84e94c90 555
1069ad51 556For older changes see ChangeLog-2008
252b5132
RH
557\f
558Local Variables:
559mode: change-log
560left-margin: 8
561fill-column: 74
562version-control: never
563End:
This page took 0.416416 seconds and 4 git commands to generate.