diff options
author | H.J. Lu <hjl.tools@gmail.com> | 2009-04-17 13:46:18 +0000 |
---|---|---|
committer | H.J. Lu <hjl.tools@gmail.com> | 2009-04-17 13:46:18 +0000 |
commit | 92dd451149162bb67d49460d7d906ecbd0abeb1b (patch) | |
tree | 264458c1a68edc0d13335c26715e60c20f72bfd4 /binutils/doc | |
parent | 69c5861ee1e736adf16998ba505b5054fc633f3f (diff) | |
download | gdb-92dd451149162bb67d49460d7d906ecbd0abeb1b.zip gdb-92dd451149162bb67d49460d7d906ecbd0abeb1b.tar.gz gdb-92dd451149162bb67d49460d7d906ecbd0abeb1b.tar.bz2 |
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.
Diffstat (limited to 'binutils/doc')
-rw-r--r-- | binutils/doc/binutils.texi | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/binutils/doc/binutils.texi b/binutils/doc/binutils.texi index 55d14d0..fe30d6a 100644 --- a/binutils/doc/binutils.texi +++ b/binutils/doc/binutils.texi @@ -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... |