forked from Imagelibrary/binutils-gdb
bfd/
2009-04-17 H.J. Lu <hongjiu.lu@intel.com> PR binutils/10074 * coffcode.h (bfd_pei_p): New. * config.bfd: Remove bfd_efi_bsdrv_ia32_vec, bfd_efi_rtdrv_ia32_vec, bfd_efi_bsdrv_x86_64_vec, bfd_efi_rtdrv_x86_64_vec, bfd_efi_bsdrv_ia64_vec and bfd_efi_rtdrv_ia64_vec. Replace bfd_efi_app_ia32_vec, bfd_efi_app_x86_64_vec and bfd_efi_app_ia64_vec with i386pei_vec, x86_64pei_vec and bfd_pei_ia64_vec, respectively. * configure.in: Remove bfd_efi_bsdrv_ia32_vec, bfd_efi_rtdrv_ia32_vec, bfd_efi_bsdrv_x86_64_vec, bfd_efi_rtdrv_x86_64_vec, bfd_efi_bsdrv_ia64_vec and bfd_efi_rtdrv_ia64_vec. Replace bfd_efi_ia64_vec with bfd_pei_ia64_vec. * targets.c: Likewise. * configure: Regenerated. * libcoff.h: Likewise. * Makefile.in: Likewise. * efi-app-ia32.c: Removed. * efi-app-x86_64.c: Likewise. * efi-bsdrv-ia32.c: Likewise. * efi-bsdrv-ia64.c: Likewise. * efi-bsdrv-x86_64.c: Likewise. * efi-rtdrv-ia32.c: Likewise. * efi-rtdrv-ia64.c: Likewise. * efi-rtdrv-x86_64.c: Likewise. * efi-rtdrv-ia32.c: Likewise. * efi-app-ia64.c: Moved to ... * pei-ia64.c: This. (TARGET_SYM): Set to bfd_pei_ia64_vec. (TARGET_NAME): Set to pei-ia64. * libpei.h (bfd_target_pei_p): Removed. (bfd_target_pei_arch): Likewise. (bfd_target_efi_app_p): Likewise. (bfd_target_efi_app_arch): Likewise. (bfd_target_efi_bsdrv_p): Likewise. (bfd_target_efi_bsdrv_arch): Likewise. (bfd_target_efi_rtdrv_p): Likewise. (bfd_target_efi_rtdrv_arch): Likewise. (bfd_pe_executable_p): Likewise. * Makefile.am (BFD32_BACKENDS): Remove efi-app-ia32.lo, efi-bsdrv-ia32.lo and efi-rtdrv-ia32.lo. (BFD32_BACKENDS_CFILES): Remove efi-app-ia32.c, efi-bsdrv-ia32.c and efi-rtdrv-ia32.c. (BFD64_BACKENDS): Remove efi-app-ia64.lo, efi-bsdrv-ia64.lo, efi-rtdrv-ia64.lo, efi-app-x86_64.lo, efi-bsdrv-x86_64.lo and efi-rtdrv-x86_64.lo. Add pei-ia64.lo. (BFD64_BACKENDS_CFILES): Remove efi-app-ia64.c, efi-bsdrv-ia64.c, efi-rtdrv-ia64.c, efi-app-x86_64.c, efi-bsdrv-x86_64.c and efi-rtdrv-x86_64.c. Add pei-ia64.c. (efi-app-ia64.lo): Removed. (efi-bsdrv-ia32.lo): Likewise. (efi-rtdrv-ia32.lo): Likewise. (efi-app-ia64.lo): Likewise. (efi-bsdrv-ia64.lo): Likewise. (efi-rtdrv-ia64.lo): Likewise. (efi-app-x86_64.lo): Likewise. (efi-bsdrv-x86_64.lo): Likewise. (efi-rtdrv-x86_64.lo): Likewise. (pei-ia64.lo): New. * peicode.h (coff_swap_scnhdr_in): Replace bfd_pe_executable_p with bfd_pei_p. (arch_type): Removed. (pe_arch): Likewise. (pe_bfd_object_p): Just return coff_object_p. * peXXigen.c (_bfd_XXi_swap_scnhdr_out): Replace bfd_pe_executable_p with bfd_pei_p. binutils/ 2009-04-17 H.J. Lu <hongjiu.lu@intel.com> PR binutils/10074 * objcopy.c: Include coff/i386.h and coff/pe.h. (pe_file_alignment): New. (pe_heap_commit): Likewise. (pe_heap_reserve): Likewise. (pe_image_base): Likewise. (pe_section_alignment): Likewise. (pe_stack_commit): Likewise. (pe_stack_reserve): Likewise. (pe_subsystem): Likewise. (pe_major_subsystem_version): Likewise. (pe_minor_subsystem_version): Likewise. (set_pe_subsystem): Likewise. (convert_efi_target): Likewise. (command_line_switch): Add OPTION_FILE_ALIGNMENT, OPTION_HEAP, OPTION_IMAGE_BASE, OPTION_SECTION_ALIGNMENT, OPTION_STACK and OPTION_SUBSYSTEM. (copy_options): Likewise. (copy_usage): Add --file-alignment, --heap, --image-base, --section-alignment, --stack and --subsystem. (copy_object): Set up PE parameters. (copy_main): Process Add OPTION_FILE_ALIGNMENT, OPTION_HEAP, OPTION_IMAGE_BASE, OPTION_SECTION_ALIGNMENT, OPTION_STACK and OPTION_SUBSYSTEM. Convert EFI target to PEI target. * NEWS: Mention --file-alignment, --heap, --image-base, --section-alignment, --stack and --subsystem command line options for objcopy. * doc/binutils.texi: Document --file-alignment, --heap, --image-base, --section-alignment, --stack and --subsystem command line options for objcopy.
This commit is contained in:
@@ -1027,6 +1027,12 @@ objcopy [@option{-F} @var{bfdname}|@option{--target=}@var{bfdname}]
|
||||
[@option{--readonly-text}]
|
||||
[@option{--pure}]
|
||||
[@option{--impure}]
|
||||
[@option{--file-alignment=}@var{num}]
|
||||
[@option{--heap=}@var{size}]
|
||||
[@option{--image-base=}@var{address}]
|
||||
[@option{--section-alignment=}@var{num}]
|
||||
[@option{--stack=}@var{size}]
|
||||
[@option{--subsystem=}@var{which}:@var{major}.@var{minor}]
|
||||
[@option{-v}|@option{--verbose}]
|
||||
[@option{-V}|@option{--version}]
|
||||
[@option{--help}] [@option{--info}]
|
||||
@@ -1520,6 +1526,49 @@ distribution and the second a debugging information file which is only
|
||||
needed if debugging abilities are required. The suggested procedure
|
||||
to create these files is as follows:
|
||||
|
||||
@item --file-alignment @var{num}
|
||||
Specify the file alignment. Sections in the file will always begin at
|
||||
file offsets which are multiples of this number. This defaults to
|
||||
512.
|
||||
[This option is specific to PE targets.]
|
||||
|
||||
@item --heap @var{reserve}
|
||||
@itemx --heap @var{reserve},@var{commit}
|
||||
Specify the number of bytes of memory to reserve (and optionally commit)
|
||||
to be used as heap for this program.
|
||||
[This option is specific to PE targets.]
|
||||
|
||||
@item --image-base @var{value}
|
||||
Use @var{value} as the base address of your program or dll. This is
|
||||
the lowest memory location that will be used when your program or dll
|
||||
is loaded. To reduce the need to relocate and improve performance of
|
||||
your dlls, each should have a unique base address and not overlap any
|
||||
other dlls. The default is 0x400000 for executables, and 0x10000000
|
||||
for dlls.
|
||||
[This option is specific to PE targets.]
|
||||
|
||||
@item --section-alignment @var{num}
|
||||
Sets the section alignment. Sections in memory will always begin at
|
||||
addresses which are a multiple of this number. Defaults to 0x1000.
|
||||
[This option is specific to PE targets.]
|
||||
|
||||
@item --stack @var{reserve}
|
||||
@itemx --stack @var{reserve},@var{commit}
|
||||
Specify the number of bytes of memory to reserve (and optionally commit)
|
||||
to be used as stack for this program.
|
||||
[This option is specific to PE targets.]
|
||||
|
||||
@item --subsystem @var{which}
|
||||
@itemx --subsystem @var{which}:@var{major}
|
||||
@itemx --subsystem @var{which}:@var{major}.@var{minor}
|
||||
Specifies the subsystem under which your program will execute. The
|
||||
legal values for @var{which} are @code{native}, @code{windows},
|
||||
@code{console}, @code{posix}, @code{efi-app}, @code{efi-bsd},
|
||||
@code{efi-rtd}, @code{efi-rom}, and @code{xbox}. You may optionally set
|
||||
the subsystem version also. Numeric values are also accepted for
|
||||
@var{which}.
|
||||
[This option is specific to PE targets.]
|
||||
|
||||
@enumerate
|
||||
@item Link the executable as normal. Assuming that is is called
|
||||
@code{foo} then...
|
||||
|
||||
Reference in New Issue
Block a user