PR 10263
[deliverable/binutils-gdb.git] / binutils / ChangeLog
1 2009-06-15 Nick Clifton <nickc@redhat.com>
2
3 PR 10263
4 * objdump.c (disassemble_bytes): Set the DISASSEMBLE_DATA bit in
5 the flags field of the disassemble_info structure if the -D switch
6 is in operation.
7
8 2009-06-12 Homer Xing <homer.xing@yahoo.com>
9
10 * NEWS: Mention new feature added to gprof.
11
12 2009-06-12 John Reiser <jreiser@BitWagon.com>
13
14 * readelf.c (process_symbol_table): Set gnubuckets to NULL after
15 freeing it and before returning.
16
17 2009-06-12 Jakub Jelinek <jakub@redhat.com>
18
19 * readelf.c (process_symbol_table): Don't return early if
20 .hash/.gnu.hash is empty/unusable and not -D.
21
22 2009-06-09 Tom Bramer <tjb@postpro.net>
23
24 PR 10165
25 * winduni.c (wind_MultiByteToWideChar): Do not pass MB_PRECOMPOSED
26 to MultiByteToWideChar when using the CP_UTF8 or CO_UTF7 types.
27
28 2009-06-04 Alan Modra <amodra@bigpond.net.au>
29
30 * strings.c (main): Delay parsing of decimal digits.
31
32 2009-06-04 Alan Modra <amodra@bigpond.net.au>
33
34 * dep-in.sed: Don't use \n in replacement part of s command.
35 * Makefile.am (DEP1): LC_ALL for uniq.
36 Run "make dep-am".
37 * Makefile.in: Regenerate.
38
39 2009-06-03 Tristan Gingold <gingold@adacore.com>
40
41 * MAINTAINERS: Add myself as Mach-O maintainer.
42
43 2009-06-01 Alan Modra <amodra@bigpond.net.au>
44
45 PR 10199
46 * doc/binutils.texi (nm): Correct -S description.
47
48 2009-05-28 Nick Clifton <nickc@redhat.com>
49
50 * po/da.po: Updated Danish translation.
51
52 2009-05-28 Nick Clifton <nickc@redhat.com>
53
54 * readelf.c (display_debug_section): Do not display debug sections
55 with the NOBITS section type.
56
57 2009-05-27 Rafael Avila de Espindola <espindola@google.com>
58
59 * aclocal.m4: Include ../config/plugins.m4.
60 * configure.in: Use AC_PLUGINS.
61 * configure: Regenerate.
62 * Makefile.in: Regenerate.
63 * doc/Makefile.in: Regenerate.
64
65 2009-05-27 Rafael Avila de Espindola <espindola@google.com>
66
67 * ar.c (main): Call bfd_plugin_set_program_name.
68 * nm.c (main): Call bfd_plugin_set_program_name.
69
70 2009-05-27 Nathan Sidwell <nathan@codesourcery.com>
71
72 * sysdump.c (tab): Use puts rather than two printfs.
73
74 2009-05-26 Nick Clifton <nickc@redhat.com>
75
76 * po/id.po: Updated Indonesian translation.
77 * po/binutils.pot: Updated template file.
78
79 2009-05-26 Rafael Avila de Espindola <espindola@google.com>
80
81 * ar.c: Include plugin.h.
82 (main): Handle the --plugin option.
83 * nm.c: Include plugin.h.
84 (OPTION_PLUGIN): New.
85 (long_options): Add plugin.
86 (main): Handle OPTION_PLUGIN.
87 * NEWS: Mention the new feature.
88 * doc/binutils: Documement the new command line options.
89 * configure.in: Check for --enable-plugins.
90 * configure: Regenerate.
91
92 2009-05-26 Alan Modra <amodra@bigpond.net.au>
93
94 * dep-in.sed: Output one filename per line with all lines having
95 continuation backslash. Prefix first line with "A", following
96 lines with "B".
97 * Makefile.am (DEP): Don't use dep.sed here.
98 (DEP1): Run $MKDEP on single files, use dep.sed here on dependencies,
99 sort and uniq.
100 * Makefile.in: Regenerate.
101
102 2009-05-25 Tristan Gingold <gingold@adacore.com>
103
104 * makefile.vms-in: Fix CFLAGS, add addr2line.exe target.
105
106 * configure.com: Fix it: handle alloca and define TARGET in config.h.
107
108 2009-05-22 Alan Modra <amodra@bigpond.net.au>
109
110 * Makefile.am: Run "make dep-am".
111 * Makefile.in: Regenerate.
112
113 2009-05-12 Alan Modra <amodra@bigpond.net.au>
114
115 * objcopy.c (set_long_section_mode): Check input_bfd is coff
116 before accessing coff specific fields of bfd.
117
118 2009-05-09 Dave Korn <dave.korn.cygwin@gmail.com>
119
120 * MAINTAINERS: Add myself as PE/COFF co-maintainer.
121
122 2009-05-08 Kai Tietz <kai.tietz@onevision.com>
123
124 * winduni.c (iconv_onechar): Only define when HAVE_ICONV
125 is defined, but not when __CYGWIN__ or _WIN32 are defined.
126 See wind_iconv_cp for call logic of this local funtion.
127
128 2009-05-05 Guillaume Duhamel <guillaume.duhamel@gmail.com>
129
130 PR 10109
131 * winduni.c: Replace test of HAVE_ICONV_H with a test of
132 HAVE_ICONV.
133 (iconv_onechar): Use ICONV_CONST instead of "const".
134 (wind_MultiByteToWideChar): Initialise local strings.
135
136 2009-04-30 Nick Clifton <nickc@redhat.com>
137
138 * readelf.c (dump_relocations): Display a relocation against an
139 ifunc symbol as if it were a function invocation.
140 (get_symbol_type): Handle STT_GNU_IFUNC.
141
142 2009-04-29 Anthony Green <green@moxielogic.com>
143
144 * NEWS: Tweak verilog support description.
145
146 2009-04-29 Alan Modra <amodra@bigpond.net.au>
147 Denis Scherbakov <denis_scherbakov@yahoo.com>
148
149 * readelf.c (slurp_ia64_unwind_table): Correct 64-bit unwind table
150 read, and merge with 32-bit case.
151
152 2009-04-27 Anthony Green <green@moxielogic.com>
153
154 * NEWS: Mention verilog support added to bfd.
155
156 2009-04-27 H.J. Lu <hongjiu.lu@intel.com>
157
158 * objcopy.c (copy_object): Copy pe_opthdr before changing PE
159 parameters.
160
161 2009-04-24 Cary Coutant <ccoutant@google.com>
162
163 * dwarf.c (process_extended_line_op): Add DW_LNE_set_discriminator.
164 Add missing newlines to HP extensions.
165
166 2009-04-17 H.J. Lu <hongjiu.lu@intel.com>
167
168 * objcopy.c (set_pe_subsystem): Replace efi-rom with sal-rtd.
169 * doc/binutils.texi: Likewise.
170
171 2009-04-17 H.J. Lu <hongjiu.lu@intel.com>
172
173 PR binutils/10074
174 * objcopy.c: Include coff/i386.h and coff/pe.h.
175 (pe_file_alignment): New.
176 (pe_heap_commit): Likewise.
177 (pe_heap_reserve): Likewise.
178 (pe_image_base): Likewise.
179 (pe_section_alignment): Likewise.
180 (pe_stack_commit): Likewise.
181 (pe_stack_reserve): Likewise.
182 (pe_subsystem): Likewise.
183 (pe_major_subsystem_version): Likewise.
184 (pe_minor_subsystem_version): Likewise.
185 (set_pe_subsystem): Likewise.
186 (convert_efi_target): Likewise.
187 (command_line_switch): Add OPTION_FILE_ALIGNMENT,
188 OPTION_HEAP, OPTION_IMAGE_BASE, OPTION_SECTION_ALIGNMENT,
189 OPTION_STACK and OPTION_SUBSYSTEM.
190 (copy_options): Likewise.
191 (copy_usage): Add --file-alignment, --heap, --image-base,
192 --section-alignment, --stack and --subsystem.
193 (copy_object): Set up PE parameters.
194 (copy_main): Process Add OPTION_FILE_ALIGNMENT,
195 OPTION_HEAP, OPTION_IMAGE_BASE, OPTION_SECTION_ALIGNMENT,
196 OPTION_STACK and OPTION_SUBSYSTEM. Convert EFI target to
197 PEI target.
198
199 * NEWS: Mention --file-alignment, --heap, --image-base,
200 --section-alignment, --stack and --subsystem command line
201 options for objcopy.
202
203 * doc/binutils.texi: Document --file-alignment, --heap,
204 --image-base, --section-alignment, --stack and --subsystem
205 command line options for objcopy.
206
207 2009-04-15 Anthony Green <green@moxielogic.com>
208
209 * MAINTAINERS: Add myself as Moxie port maintainer.
210
211 2009-04-14 Dave Korn <dave.korn.cygwin@gmail.com>
212
213 * objcopy.c (enum long_section_name_handling): New enum type.
214 (enum command_line_switch): Add OPTION_LONG_SECTION_NAMES.
215 (copy_options[]): Add entry for --long-section-names option.
216 (copy_usage): Document it.
217 (set_long_section_mode): New subroutine.
218 (copy_file): Call it.
219 (copy_main): Accept OPTION_LONG_SECTION_NAMES and parse arg.
220 * doc/binutils.texi: Update objcopy documentation with details
221 of new option.
222
223 2009-04-01 Dave Korn <dave.korn.cygwin@gmail.com>
224
225 * dlltool.c (set_dll_name_from_def): Accept new second arg that
226 indicates if we are building DLL or EXE, and use it to add a
227 default suffix to the output filename when none is already present.
228 (def_name): Indicate we are building an EXE when calling it.
229 (def_library): Indicate we are building a DLL when calling it.
230
231 2009-04-01 Jari Aalto <jari.aalto@cante.net>
232
233 PR 9972
234 * doc/binutils.texi (strings): Document the -V alias for the
235 --version option.
236 * strings.c (usage): Likewise.
237
238 2009-03-31 Nick Clifton <nickc@redhat.com>
239
240 PR 9992
241 * configure.in: Import Solaris specific largefile test from
242 bfd/configure.in.
243 * configure: Regenerate.
244
245 2009-03-30 Richard Sandiford <rdsandiford@googlemail.com>
246
247 * MAINTAINERS: Add self.
248
249 2009-03-27 Nick Clifton <nickc@redhat.com>
250
251 * dwarf.c (display_debug_ranges): Add the base address to the
252 displayed values for 'Begin' and 'End'.
253
254 2009-03-25 Ryan Mansfield <rmansfield@qnx.com>
255
256 * readelf.c (process_file_header): Don't report a corrupt string
257 table index if it is zero.
258
259 2009-03-19 H.J. Lu <hongjiu.lu@intel.com>
260
261 * dwarf.c (dwarf_regnames): Moved before frame_need_space.
262 (dwarf_regnames_count): Likewise.
263 (frame_need_space): Return int.
264 (display_debug_frames): Check invalid registers.
265
266 2009-03-19 H.J. Lu <hongjiu.lu@intel.com>
267
268 * readelf.c (debug_apply_relocations): Check relocations
269 against STT_SECTION symbol.
270
271 2009-03-18 H.J. Lu <hongjiu.lu@intel.com>
272
273 * readelf.c (debug_apply_relocations): Allow relocations
274 against function symbols.
275
276 2009-03-18 Alan Modra <amodra@bigpond.net.au>
277
278 * sysdep.h: Include alloca-conf.h instead of config.h and remove
279 existing #if's handling alloca.
280 * Makefile.am: Run "make dep-am".
281 * Makefile.in: Regenerate.
282
283 2009-03-14 Richard Sandiford <r.sandiford@uk.ibm.com>
284
285 * configure.tgt: Extend AIX 5 behavior to AIX 6 and above.
286 * configure.in: Likewise.
287 * configure: Regenerate.
288
289 2009-03-13 H.J. Lu <hongjiu.lu@intel.com>
290
291 PR binutils/9945
292 * objcopy.c (copy_object): Clear HAS_RELOC when stripping all.
293
294 2009-03-11 Chris Demetriou <cgd@google.com>
295
296 * ar.c (deterministic): New global variable.
297 (main): Recognize new 'D' option, which enables 'deterministic mode'.
298 (usage): Document new 'D' option.
299 (write_archive): Set BFD_DETERMINISTIC_OUTPUT in output archive's
300 flags if deterministic mode was requested.
301 * doc/binutils.texi (ar): Document deterministic mode ('D' option).
302
303 2009-03-09 H.J. Lu <hongjiu.lu@intel.com>
304
305 PR binutils/9933
306 * objcopy.c (filter_symbols): Properly handle common symbols
307 in relocatable file.
308
309 2009-03-06 Nick Clifton <nickc@redhat.com>
310
311 * po/es.po: Updated Spanish translation.
312
313 2009-03-05 Nick Clifton <nickc@redhat.com>
314
315 * objdump.c (disassemble_section): If the computed next offset is
316 not beyond the current offset then just continue to the end.
317
318 2009-03-04 Tristan Gingold <gingold@adacore.com>
319
320 * MAINTAINERS: Add myself as VMS maintainer.
321
322 2009-03-03 Nick Clifton <nickc@redhat.com>
323
324 * readelf.c: Update formatting.
325
326 2009-03-03 Alan Modra <amodra@bigpond.net.au>
327
328 * Makefile.am: Run "make dep-am".
329 * Makefile.in: Regenerate.
330
331 2009-03-03 Alan Modra <amodra@bigpond.net.au>
332
333 * objdump.c (disassemble_section): Mask address before sign extending.
334
335 2009-03-02 Sebastian Biallas <sb@biallas.net>
336
337 * ieee.c (parse_ieee_ty): Add support for undocumented 'v' type.
338 (parse_ieee_bb): Set the filename if it has not already been
339 discovered.
340
341 2009-03-02 Cary Coutant <ccoutant@google.com>
342
343 * readelf.c (adjust_relative_path): New function.
344 (struct archive_info): New type.
345 (setup_archive): New function.
346 (release_archive): New function.
347 (setup_nested_archive): New function.
348 (get_archive_member_name): New function.
349 (get_archive_member_name_at): New function.
350 (make_qualified_name): New function.
351 (process_archive): Factor out code for reading archive index and
352 long filename table to setup_archive. Add support for thin archives.
353
354 2009-03-02 Nick Clifton <nickc@redhat.com>
355
356 * po/sk.po: Updated Slovak translation.
357
358 2009-03-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
359
360 * configure: Regenerate.
361
362 2009-02-23 Cary Coutant <ccoutant@google.com>
363
364 * objdump.c (load_specific_debug_section): New function, from
365 load_debug_section.
366 (load_debug_section): Use load_specific_debug_section.
367 (dump_dwarf_section): Likewise.
368
369 2009-02-23 Cary Coutant <ccoutant@google.com>
370
371 * readelf.c (parse_args): Select all sections explicitly for -w.
372
373 2009-02-09 Kai Tietz <kai.tietz@onevision.com>
374
375 * windres.c (set_endianess): Copy name without leading '-'.
376
377 2009-02-09 Tristan Gingold <gingold@adacore.com>
378
379 * NEWS: Mention feature match between objdump and readelf for dumping
380 dwarf info.
381
382 * doc/binutils.texi (objdump): Document -W/--dwarf improvments to
383 objdump.
384
385 * objdump.c (usage): Update documentation for -W/--dwarf.
386 (enum option_values): Add OPTION_DWARF.
387 (long_options): --dwarf can accept arguments.
388 (dump_dwarf_section): Also check enabled field.
389 (main): Option -W can accept arguments, code moved to
390 dwarf.c and call dwarf_select_sections_all instead.
391 * readelf.c (process_section_headers): Remove do_debug_lines_decoded.
392 (parse_args): Move code to...
393 * dwarf.c (dwarf_select_sections_by_letters,
394 dwarf_select_sections_by_names): : ...here (new functions).
395 (do_debug_lines_decoded): Remove and replaced by ...
396 (FLAG_DEBUG_LINES_RAW, FLAG_DEBUG_LINES_DECODED): ... new macros.
397 (display_debug_lines): Adjust for previous change.
398 (dwarf_select_sections_all): New function.
399 (debug_displays): Add initializer for enabled field.
400 * dwarf.h (do_debug_lines_decoded): Remove.
401 Add prototypes for the new functions.
402 (struct dwarf_section_display): Add enabled field.
403
404 2009-02-06 Nick Clifton <nickc@redhat.com>
405
406 * po/vi.po: Updated Vietnamese translation.
407
408 2009-02-03 Sandip Matte <sandip@rmicorp.com>
409
410 * readelf.c (get_machine_flags): Handle E_MIPS_MACH_XLR.
411
412 2009-02-03 H.J. Lu <hongjiu.lu@intel.com>
413
414 * NEWS: Move --as-needed change to ...
415 * ../ld/NEWS: Here.
416
417 2009-02-03 Carlos O'Donell <carlos@codesourcery.com>
418
419 * configure.in: AC_SUBST pdfdir.
420 * Makefile.am: Add install-pdf, install-pdf-am,
421 and install-pdf-recursive targets.
422 * doc/Makefile.am: Define pdf__strip_dir. Add
423 install-pdf and install-pdf-am targets.
424 * po/Make-in: Add install-pdf target.
425 * configure: Regenerate.
426 * Makefile.in: Regenerate.
427 * doc/Makefile.in: Regenerate.
428
429 2009-02-03 H.J. Lu <hongjiu.lu@intel.com>
430
431 PR binutils/9784
432 * NEWS: Mention --prefix=PREFIX and --prefix-strip=LEVEL.
433
434 * doc/binutils.texi: Document --prefix=PREFIX and
435 --prefix-strip=LEVEL.
436
437 * objdump.c: Include "filenames.h".
438 (prefix): New.
439 (prefix_strip): Likewise.
440 (prefix_length): Likewise.
441 (usage): Add --prefix=PREFIX and --prefix-strip=LEVEL.
442 (option_values): Add OPTION_PREFIX and OPTION_PREFIX_STRIP.
443 (long_options): Likewise.
444 (show_line): Handle prefix and prefix_strip.
445 (main): Handle OPTION_PREFIX and OPTION_PREFIX_STRIP.
446
447 * readelf.c (PATH_MAX): Moved to ...
448 * sysdep.h: Here.
449
450 2009-01-31 Alan Modra <amodra@bigpond.net.au>
451
452 * NEWS: Mention --as-needed change.
453
454 2009-01-29 Alan Modra <amodra@bigpond.net.au>
455
456 PR 9798
457 * bucomm.c (bfd_nonfatal_message): Use bfd_get_archive_filename.
458 (bfd_get_archive_filename): Constify param.
459 * bucomm.h (bfd_get_archive_filename): Update prototype.
460 * objcopy.c (RETURN_NONFATAL): Delete.
461 (copy_unknown_object): Don't call bfd_get_archive_filename for
462 bfd_nonfatal_message filename, instead just pass bfd.
463 (copy_object): Likewise.
464 (copy_archive, copy_file): Likewise. Expand RETURN_NONFATAL. On
465 bfd_close errors, do not pass the bfd to bfd_nonfatal_message.
466 (setup_bfd_headers): Fix error message.
467
468 2009-01-27 Nick Clifton <nickc@redhat.com>
469
470 PR 9774
471 * objdump.c (disassemble_section): When the target uses signed
472 addresses make sure that we compute signed values.
473
474 2009-01-27 Nick Clifton <nickc@redhat.com>
475
476 * MAINTAINERS: Remove Thiemo Seufer's name from the list of MIPS
477 maintainers.
478
479 2009-01-26 Nick Clifton <nickc@redhat.com>
480
481 PR 9766
482 * dlltool.c (xlate): When strip text after the @ sign, look for
483 the last one not the first one.
484
485 2009-01-16 Alan Modra <amodra@bigpond.net.au>
486
487 * configure.in (commonbfdlib): Delete.
488 * configure: Regenerate.
489
490 2008-01-14 Charles Wilson <cygwin@cwilson.fastmail.fm>
491
492 Cleanup code related to --identify option.
493
494 * binutils/dlltool.c (file scope): Removed globals identify_ms,
495 identify_member_contains_symname_result,
496 identify_dll_name_list_head, and identify_dll_name_list_tail.
497 Renamed existing typedef dll_name_list_type to
498 dll_name_list_node_type.
499 Added new typedefs dll_name_list_type, symname_search_data_type,
500 and identify_data_type.
501 (identify_append_dll_name_to_list): Renamed to...
502 (dll_name_list_append): ...here. Changed signature to accept list
503 argument rather than use global.
504 (identify_count_dll_name_list): Renamed to...
505 (dll_name_list_count): ...here. Changed signature to accept list
506 argument rather than use global.
507 (identify_print_dll_name_list): Renamed to...
508 (dll_name_list_print): ...here. Changed signature to accept list
509 argument rather than use global.
510 (identify_free_dll_name_list): Renamed to...
511 (dll_name_list_free_contents): ...here.
512 (dll_name_list_free): New function.
513 (dll_name_list_create): New function.
514 (identify_process_section_p): Changed signature to accept
515 ms_style_implib argument rather than use global.
516 (identify_member_contains_symname): Expect incoming void * data to
517 be symname_search_data_type.
518 (identify_dll_for_implib): Use new functions dll_name_list_create
519 and dll_name_list_free. Use new types symname_search_data_type
520 and identify_data_type to communicate with search routines.
521 (identify_search_section): Expect incoming void * data to be
522 identify_data_type. Use its contents rather than global
523 variables.
524
525 2009-01-13 Charles Wilson <cygwin@cwilson.fastmail.fm>
526
527 Add --identify-strict option. Handle ms-style implibs:
528
529 * dlltool.c (file scope): Added new globals identify_ms and
530 identify_strict. New typedef dll_name_list_type, and globals
531 identify_dll_name_list_head and identify_dll_name_list_tail. Added
532 new global identify_member_contains_symname_result.
533 (identify_append_dll_name_to_list): New function.
534 (identify_count_dll_name_list): New function.
535 (identify_print_dll_name_list): New function.
536 (identify_free_dll_name_list): New function.
537 (identify_search_archive): Changed signature to take function
538 pointer to operation to apply to each member, and data to pass on
539 to that function.
540 (identify_search_member): Changed signature to accept user data
541 from caller.
542 (identify_member_contains_symname): New function.
543 (identify_dll_for_implib): Rewrite. Now determines whether implib
544 is ms- or binutils- style, before searching sections for
545 dllname. Allows multiple dllnames.
546 (identify_process_section_p): Search alternate section for dllname
547 when implib is ms-style.
548 (identify_search_section): Add additional conditions to excludes
549 candidate sections from consideration.
550 (usage): Added --identify-strict.
551 (long_options): Added --identify-strict.
552 (main): Handle --identify-strict option.
553 * doc/binutils.texi: Document --identify-strict option.
554 * NEWS: Document --identify and --identify-strict options.
555
556 2009-01-13 Alan Modra <amodra@bigpond.net.au>
557
558 PR 7034
559 * doc/binutils.texi (objdump -R): Note effect of -d or -D.
560
561 2009-01-13 Alan Modra <amodra@bigpond.net.au>
562
563 * objdump.c (disassemble_section): Don't assume non-instruction
564 data if object symbol at given address is in different section.
565
566 2009-01-12 Kai Tietz <kai.tietz@onevision.com>
567
568 * dlltool.c (create_for_pep): New.
569 (flush_page): Use create_for_pep instead of using
570 macro DLLTOOL_MX86_64 clause.
571 (generate_idata_ofile): Likewise.
572 (make_one_lib_file): Likewise.
573 (make_head): Likewise.
574 (make_tail): Likewise.
575 (main): Initialize create_for_pep.
576
577 2009-01-08 Kai Tietz <kai.tietz@onevision.com>
578
579 * dlltool.c (use_nul_prefixed_import_tables): New.
580 (make_head): Make prefix leading zero prefix element for
581 idata$4 and idata$5 dependent to new flag.
582 (usage): Add new option --use-nul-prefixed-import-tables.
583 (OPTION_USE_NUL_PREFIXED_IMPORT_TABLES): New.
584 (long_options): Add --use-nul-prefixed-import-tables.
585 (main): Likewise.
586 * doc/binutils.texi: Add new option documentation for
587 --use-nul-prefixed-import-tables.
588 * NEWS: Add new option.
589
590 2009-01-06 Kai Tietz <kai.tietz@onevision.com>
591
592 * windres.c (set_endianess): Get architecture name
593 for internal target names like "pe-arm-wince-little".
594 (find_arch_match): New helper.
595 * ChangeLog: Reset it.
596 * ChangeLog-2008: Moved old ChangeLog.
597
598 For older changes see ChangeLog-2008
599 \f
600 Local Variables:
601 mode: change-log
602 left-margin: 8
603 fill-column: 74
604 version-control: never
605 End:
This page took 0.04149 seconds and 4 git commands to generate.