Alan Modra
5184c2ae47
* objdump.c (dump_dwarf): Correct setting of is_relocatable.
2007-07-10 13:52:39 +00:00
Roland McGrath
fd2f25da9b
.
2007-07-09 21:25:39 +00:00
Roland McGrath
1118d2524e
2007-07-09 Roland McGrath <roland@redhat.com>
...
* readelf.c (get_gnu_elf_note_type): New function.
(process_note): Use it for "GNU" name.
2007-07-09 21:19:51 +00:00
Andreas Schwab
f51a0672c1
* Makefile.am (HFILES): Add dwarf.h, sysdep.h and unwind-ia64.h.
...
(CFILES): Add unwind-ia64.c.
Regenerate dependencies.
* Makefile.in: Regenerate.
2007-07-08 14:31:20 +00:00
Andreas Schwab
f2bea8660c
* Makefile.am (HFILES): Add dwarf.h, sysdep.h and unwind-ia64.h.
...
(CFILES): Add unwind-ia64.c.
Regenerate dependencies.
* Makefile.in: Regenerate.
2007-07-08 12:57:07 +00:00
Nick Clifton
32866df75e
Change sources over to using GPLv3
2007-07-05 16:54:46 +00:00
Nick Clifton
c6998d15d5
* resrc.c: (read_rc_file): Add include path of user passed rc input file.
...
* windres.c: (windres_add_include_dir): New.
(main): Use of windres_add_include_dir.
* windres.h: (windres_add_include_dir): Add prototype.
2007-07-05 09:51:30 +00:00
Alan Modra
29422971f1
Add new --common option to size.
2007-07-05 09:01:28 +00:00
Alan Modra
c3de112b3c
* emul_aix.c (ar_emul_aix_internal): Rename "next" to "archive_next".
2007-07-04 22:24:21 +00:00
Alan Modra
e205a09915
PR 4716
...
* objcopy.c (filter_symbols): Correct relocatable file test.
2007-07-02 08:05:06 +00:00
Alan Modra
ae351704e2
Regenerate files.
2007-07-02 07:12:53 +00:00
H.J. Lu
86b57e315d
bfd/
...
2007-06-30 H.J. Lu <hongjiu.lu@intel.com>
* aclocal.m4: Regenerated.
* Makefile.in: Likewise.
bfd/doc/
2007-06-30 H.J. Lu <hongjiu.lu@intel.com>
* Makefile.in: Likewise.
binutils/
2007-06-30 H.J. Lu <hongjiu.lu@intel.com>
* aclocal.m4: Regenerated.
* doc/Makefile.in: Likewise.
* Makefile.in: Likewise.
gas/
2007-06-30 H.J. Lu <hongjiu.lu@intel.com>
* aclocal.m4: Regenerated.
* doc/Makefile.in: Likewise.
* Makefile.in: Likewise.
gprof/
2007-06-30 H.J. Lu <hongjiu.lu@intel.com>
* aclocal.m4: Regenerated.
* Makefile.in: Likewise.
ld/
2007-06-30 H.J. Lu <hongjiu.lu@intel.com>
* aclocal.m4: Regenerated.
* Makefile.in: Likewise.
opcodes/
2007-06-30 H.J. Lu <hongjiu.lu@intel.com>
* aclocal.m4: Regenerated.
* Makefile.in: Likewise.
2007-06-30 17:21:16 +00:00
Joseph Myers
34c8bcbae2
bfd:
...
* elf32-ppc.c (ppc_elf_merge_obj_attributes): New.
(ppc_elf_merge_private_bfd_data): Call it.
binutils:
* readelf.c (display_power_gnu_attribute, process_power_specific):
New.
(process_arch_specific): Call process_power_specific.
include/elf:
* ppc.h (Tag_GNU_Power_ABI_FP): Define.
ld/testsuite:
* ld-powerpc/attr-gnu-4-0.s, ld-powerpc/attr-gnu-4-00.d,
ld-powerpc/attr-gnu-4-01.d, ld-powerpc/attr-gnu-4-02.d,
ld-powerpc/attr-gnu-4-1.s, ld-powerpc/attr-gnu-4-10.d,
ld-powerpc/attr-gnu-4-11.d, ld-powerpc/attr-gnu-4-12.d,
ld-powerpc/attr-gnu-4-13.d, ld-powerpc/attr-gnu-4-2.s,
ld-powerpc/attr-gnu-4-20.d, ld-powerpc/attr-gnu-4-21.d,
ld-powerpc/attr-gnu-4-22.d, ld-powerpc/attr-gnu-4-3.s,
ld-powerpc/attr-gnu-4-31.d: New.
* ld-powerpc/powerpc.exp: Run these new tests.
2007-06-30 00:03:40 +00:00
Joseph Myers
2cf19d5cb9
bfd:
...
* elfxx-mips.c (mips_elf_merge_obj_attributes): New.
(_bfd_mips_elf_merge_private_bfd_data): Call it.
binutils:
* readelf.c (display_mips_gnu_attribute): New.
(process_mips_specific): Call process_attributes.
include/elf:
* mips.h (Tag_GNU_MIPS_ABI_FP): Define.
ld/testsuite:
* ld-mips-elf/attr-gnu-4-0.s, ld-mips-elf/attr-gnu-4-00.d,
ld-mips-elf/attr-gnu-4-01.d, ld-mips-elf/attr-gnu-4-02.d,
ld-mips-elf/attr-gnu-4-03.d, ld-mips-elf/attr-gnu-4-1.s,
ld-mips-elf/attr-gnu-4-10.d, ld-mips-elf/attr-gnu-4-11.d,
ld-mips-elf/attr-gnu-4-12.d, ld-mips-elf/attr-gnu-4-13.d,
ld-mips-elf/attr-gnu-4-14.d, ld-mips-elf/attr-gnu-4-2.s,
ld-mips-elf/attr-gnu-4-20.d, ld-mips-elf/attr-gnu-4-21.d,
ld-mips-elf/attr-gnu-4-22.d, ld-mips-elf/attr-gnu-4-23.d,
ld-mips-elf/attr-gnu-4-3.s, ld-mips-elf/attr-gnu-4-30.d,
ld-mips-elf/attr-gnu-4-31.d, ld-mips-elf/attr-gnu-4-32.d,
ld-mips-elf/attr-gnu-4-33.d, ld-mips-elf/attr-gnu-4-4.s,
ld-mips-elf/attr-gnu-4-41.d: New.
* ld-mips-elf/mips-elf.exp: Run these new tests.
2007-06-29 16:41:32 +00:00
Joseph Myers
104d59d19c
bfd:
...
* elf-attrs.c: New.
* Makefile.am (BFD32_BACKENDS): Add elf-attrs.lo.
(BFD32_BACKENDS_CFILES): Add elf-attrs.c.
(elf-attrs.lo): Generate dependencies.
* Makefile.in: Regenerate.
* configure.in (elf): Add elf-attrs.lo.
* configure: Regenerate.
* elf-bfd.h (struct elf_backend_data): Add entries for object
attributes.
(NUM_KNOWN_OBJ_ATTRIBUTES, obj_attribute, obj_attribute_list,
OBJ_ATTR_PROC, OBJ_ATTR_GNU, OBJ_ATTR_FIRST, OBJ_ATTR_LAST,
Tag_NULL, Tag_File, Tag_Section, Tag_Symbol, Tag_compatibility):
New.
(struct elf_obj_tdata): Add entries for object attributes.
(elf_known_obj_attributes, elf_other_obj_attributes,
elf_known_obj_attributes_proc, elf_other_obj_attributes_proc):
New.
(bfd_elf_obj_attr_size, bfd_elf_set_obj_attr_contents,
bfd_elf_get_obj_attr_int, bfd_elf_add_obj_attr_int,
bfd_elf_add_proc_attr_int, bfd_elf_add_obj_attr_string,
bfd_elf_add_proc_attr_string, bfd_elf_add_obj_attr_compat,
bfd_elf_add_proc_attr_compat, _bfd_elf_attr_strdup,
_bfd_elf_copy_obj_attributes, _bfd_elf_obj_attrs_arg_type,
_bfd_elf_parse_attributes, _bfd_elf_merge_object_attributes): New.
* elf.c (_bfd_elf_copy_private_bfd_data): Copy object attributes.
(bfd_section_from_shdr): Handle attributes sections.
* elflink.c (bfd_elf_final_link): Handle attributes sections.
* elfxx-target.h (elf_backend_obj_attrs_vendor,
elf_backend_obj_attrs_section, elf_backend_obj_attrs_arg_type,
elf_backend_obj_attrs_section_type): New.
(elfNN_bed): Update.
* elf32-arm.c (NUM_KNOWN_ATTRIBUTES, aeabi_attribute,
aeabi_attribute_list): Remove.
(struct elf32_arm_obj_tdata): Remove object attributes fields.
(check_use_blx, bfd_elf32_arm_set_vfp11_fix, using_thumb2,
elf32_arm_copy_private_bfd_data, elf32_arm_merge_eabi_attributes):
Update for new object attributes interfaces.
(uleb128_size, is_default_attr, eabi_attr_size,
elf32_arm_eabi_attr_size, write_uleb128, write_eabi_attribute,
elf32_arm_set_eabi_attr_contents, elf32_arm_bfd_final_link,
elf32_arm_new_eabi_attr, elf32_arm_get_eabi_attr_int,
elf32_arm_add_eabi_attr_int, attr_strdup,
elf32_arm_add_eabi_attr_string, elf32_arm_add_eabi_attr_compat,
copy_eabi_attributes, elf32_arm_parse_attributes): Remove. Moved
to generic code in elf-attrs.c.
(elf32_arm_obj_attrs_arg_type): New.
(elf32_arm_fake_sections): Do not handle .ARM.attributes.
(elf32_arm_section_from_shdr): Do not handle SHT_ARM_ATTRIBUTES.
(bfd_elf32_bfd_final_link): Remove.
(elf_backend_obj_attrs_vendor, elf_backend_obj_attrs_section,
elf_backend_obj_attrs_arg_type,
elf_backend_obj_attrs_section_type): New.
* elf32-bfin.c (bfin_elf_copy_private_bfd_data): Copy object
attributes.
* elf32-frv.c (frv_elf_copy_private_bfd_data): Likewise.
* elf32-iq2000.c (iq2000_elf_copy_private_bfd_data): Likewise.
* elf32-mep.c (mep_elf_copy_private_bfd_data): Likewise.
* elf32-mt.c (mt_elf_copy_private_bfd_data): Likewise.
* elf32-sh.c (sh_elf_copy_private_data): Likewise.
* elf64-sh64.c (sh_elf64_copy_private_data_internal): Likewise.
binutils:
* readelf.c (display_gnu_attribute): New.
(process_arm_specific): Rearrange as process_attributes.
(process_arm_specific): Replace by wrapper of process_attributes.
gas:
* as.c (create_obj_attrs_section): New.
(main): Call create_obj_attrs_section for ELF.
* read.c (s_gnu_attribute, skip_whitespace, skip_past_char,
skip_past_comma, s_vendor_attribute): New.
(potable): Add gnu_attribute for ELF.
* read.h (s_vendor_attribute): Declare.
* config/tc-arm.c (s_arm_eabi_attribute): Replace by wrapper
round s_vendor_attribute.
(aeabi_set_public_attributes): Update for new attributes
interfaces.
(arm_md_end): Remove attributes contents setting now done
generically.
include/elf:
* arm.h (elf32_arm_add_eabi_attr_int,
elf32_arm_add_eabi_attr_string, elf32_arm_add_eabi_attr_compat,
elf32_arm_get_eabi_attr_int, elf32_arm_set_eabi_attr_contents,
elf32_arm_eabi_attr_size, Tag_NULL, Tag_File, Tag_Section,
Tag_Symbol, Tag_compatibility): Remove.
* common.h (SHT_GNU_ATTRIBUTES): Define.
ld:
* emulparams/armelf.sh (OTHER_SECTIONS): Remove .ARM.attributes.
(ATTRS_SECTIONS): Define.
* scripttempl/elf.sc, scripttempl/elf32sh-symbian.sc,
scripttempl/elf_chaos.sc, scripttempl/elfi370.sc,
scripttempl/elfxtensa.sc: Handle ATTRS_SECTIONS.
2007-06-29 16:29:17 +00:00
Roland McGrath
1ac7d223d3
.
2007-06-29 00:34:18 +00:00
Roland McGrath
c1c0eb9e7b
2007-06-28 Roland McGrath <roland@frob.com>
...
* objcopy.c (setup_section): Don't reset ELF section type to
SHT_NOBITS when it is SHT_NOTE.
* doc/binutils.texi (objcopy, strip): Mention under --only-keep-debug.
2007-06-29 00:34:14 +00:00
Alan Modra
cc481421d0
bfd/
...
* bfd.c (struct bfd): Rename "next" to "archive_next".
* archive.c: Rename uses throughout file.
* archive64.c: Likewise.
* coff-rs6000.c: Likewise.
* ecoff.c: Likewise.
* som.c: Likewise.
* bfd-in2.h: Regenerate.
binutils/
* ar.c: Rename uses of bfd.next to bfd.archive_next throughout.
* arsup.c: Likewise.
* binemul.c: Likewise.
* objcopy.c: Likewise.
* dlltool.c: Likewise.
ld/
* pe-dll.c: Rename uses of bfd.next to bfd.archive_next throughout.
2007-06-27 11:54:10 +00:00
Nick Clifton
cd6a2ed0be
PR binutils/4693
...
* Makefile.am (windres_DEPENDENCIES, windmc_DEPENDENCIES): Move dependency on $(LIBICONV) to ...
(windres_LDADD, windmc_LDADD) ... here.
2007-06-26 14:39:52 +00:00
H.J. Lu
4b3a42a7c8
2007-06-23 H.J. Lu <hongjiu.lu@intel.com>
...
* binutils-all/strip-3.d: Also strip .xtensa.info section.
2007-06-23 16:15:53 +00:00
Alan Modra
daaf07b244
* embedspu.sh (relas): Correct sh_info parsing.
2007-06-21 00:31:39 +00:00
Danny Smith
b1364e8f1b
* objdump.c: Include sys/stat.h.
2007-06-19 21:08:17 +00:00
Nick Clifton
692ed3e78f
* Makefile.am: Add windmc tool.
...
* Makefile.in: Regenerate.
* configure.in: Add windmc tool.
* configure: Regenerate.
* mclex.c: New.
* mcparse.y: New.
* windmc.c: New.
* windmc.h: New.
* doc/Makefile.am: Add windmc tool.
* doc/Makefile.in: Regenerate.
* doc/binutils.texi: Add windmc documentation.
* NEWS: Mention new tool.
2007-06-19 13:24:33 +00:00
Nick Clifton
30ff741fa7
Add description of new --codepage switch for windres which was accidentally omitted when the full patch was checked in.
2007-06-19 11:29:05 +00:00
Nick Clifton
e8f5eee43d
* objdump.c: Include sys/mman.h
...
(print_file_list): Remove f, add map, mapsize, linemap, maxline, last_line, first fields.
(slurp_file): Add.
(index_file): Add.
(print_file_open): Call slurp_file and index_file. Initialize new fields.
(skip_to_line): Rename to print_line and write only single line.
(dump_line): Add.
(show_line): Change to new algorithm.
2007-06-18 16:38:49 +00:00
Nick Clifton
03997556da
* resres.c (probe_binary): Fix test for badly formatted headers.
2007-06-18 16:02:45 +00:00
Nick Clifton
d856f2ddfa
* rclex.c: (cpp_line): Add code_page pragma support.
...
* windres.c: (usage, long_options, main): Add new option --codepage or -c.
* winduni.c: (wind_default_codepage, wind_current_codepage): New.
(unicode_from_ascii, ascii_from_unicode): Use wind_current_codepage as codepage parameter.
(unicode_print): Print 4 characters for hexadecimal values in unicode strings.
* winduni.h: (wind_default_codepage, wind_current_codepage): Export.
* doc/binutils.texi: Document new option.
* NEWS: Mention new feature.
2007-06-18 15:30:33 +00:00
Alan Modra
dbdca70b82
* embedspu.sh: Parse _SPUEAR_ symbol values as hex.
2007-06-18 02:09:20 +00:00
H.J. Lu
798879259b
bfd/
...
2007-06-14 H.J. Lu <hongjiu.lu@intel.com>
* Makefile.am (ACLOCAL_AMFLAGS): Add -I . -I ../config.
* acinclude.m4: Don't include m4 files. Remove libtool
kludge.
* Makefile.in: Regenerated.
* doc/Makefile.in: Likewise.
* aclocal.m4: Likewise.
* configure: Likewise.
binutils/
2007-06-14 H.J. Lu <hongjiu.lu@intel.com>
* Makefile.am (ACLOCAL_AMFLAGS): Add -I ../config -I ../bfd.
* acinclude.m4: Removed.
* Makefile.in: Regenerated.
* aclocal.m4: Likewise.
* configure: Likewise.
gas/
2007-06-14 H.J. Lu <hongjiu.lu@intel.com>
* Makefile.am (ACLOCAL_AMFLAGS): Add -I ../config -I ../bfd.
* acinclude.m4: Don't include m4 files.
(BFD_BINARY_FOPEN): Removed.
Remove libtool kludge.
* Makefile.in: Regenerated.
* doc/Makefile.in: Likewise.
* aclocal.m4: Likewise.
* configure: Likewise.
gprof/
2007-06-14 H.J. Lu <hongjiu.lu@intel.com>
* Makefile.am (ACLOCAL_AMFLAGS): Add -I ../config -I ../bfd.
* acinclude.m4: Removed.
* Makefile.in: Regenerated.
* aclocal.m4: Likewise.
* configure: Likewise.
ld/
2007-06-14 H.J. Lu <hongjiu.lu@intel.com>
* Makefile.am (ACLOCAL_AMFLAGS): Add -I ../config -I ../bfd.
* acinclude.m4: Removed.
* Makefile.in: Regenerated.
* aclocal.m4: Likewise.
* configure: Likewise.
opcodes/
2007-06-14 H.J. Lu <hongjiu.lu@intel.com>
* Makefile.am (ACLOCAL_AMFLAGS): Add -I ../config -I ../bfd.
* acinclude.m4: Removed.
* Makefile.in: Regenerated.
* doc/Makefile.in: Likewise.
* aclocal.m4: Likewise.
* configure: Likewise.
2007-06-14 15:31:01 +00:00
Nathan Sidwell
a87b0a599b
* dwarf.c (decode_location_expression): Add DW_OP_form_tls_address.
2007-06-11 11:30:29 +00:00
H.J. Lu
8fd9b8a45f
Cleanup white spaces and fix an entry.
2007-06-07 14:07:02 +00:00
Nick Clifton
4b2c5b4af6
PR binutils/4356 binutils/591
...
* resrc.c (filename_need_quotes): New function.
(look_for_default): If filename_need_quotes is true then quote the filename in the command line being created.
(read_rc_file): Likewise.
2007-06-06 08:02:47 +00:00
Ben Elliston
3cc783058e
* doc/binutils.texi (objdump): Fix capitalisation of "PowerPC".
2007-06-06 04:46:41 +00:00
Nick Clifton
5ba684e24c
* Makefile.am: Add LIBICONV to windres.
...
* acinclude.m4: Added missing "lib-*.m4" and "lt*.m4" files.
* configure.in: Add AC_CHECK_HEADER for iconv.h and use AM_ICONV.
* config.in: Add ICONV defines.
* aclocal: Regenerate.
* confugure: Regenerate.
* winduni.c: (local_iconv_map codepages, wind_language_t, languages, unicode_is$
(ascii_from_unicode): Use codepage_from_unicode.
(ascii_from_unicode): Use unicode_from_codepage.
Use for cygwin windows API for unicode transformation.
* winduni.h: (CP_ACP, CP_UTF7, CP_UTF8, CP_OEM, CP_UTF16): New macros.
(wind_language_t, local_iconv_map): New types.
(wind_find_language_by_id, wind_find_language_by_codepage,
(unicode_is_valid_codepage, wind_find_codepage_info, unicode_from_codepage, c$
2007-06-05 13:10:30 +00:00
Alan Modra
7354508966
* embedspu.sh: Handle R_SPU_PPU* relocs with no symbol.
2007-06-05 00:27:39 +00:00
Alan Modra
42bb2e3317
bfd/
...
* elf.c (elf_fake_sections): Adjust test for SHT_NOBITS sections
created by objcopy --only-keep-debug.
(_bfd_elf_init_private_section_data): Only change elf_section_type
if it is SHT_NULL.
binutils/
* objcopy.c (copy_object): Revert 2007-05-11 change. Don't
avoid calling bfd_copy_private_bfd_data for ELF STRIP_NONDEBUG.
(setup_section): Don't modify flags, and don't avoid calling
bfd_copy_private_section_data for ELF STRIP_NONDEBUG.
* readelf.c (process_program_headers): Ignore .dynamic of type
SHT_NOBITS.
2007-05-30 14:29:27 +00:00
Alan Modra
3ba20bde7e
binutils/
...
* embedspu.sh: Emit SPU ELF image to .data.rel.ro.speelf if
pic or pie and image needs relocs.
ld/
* emultempl/spuelf.em (base_name): New function, split out from..
(embedded_spu_file) ..here. Pass -fPIC or -fpie to embedspu
invocation if we deduce a shared lib or position independent
executable build by looking at ctrbegin* linker input files.
2007-05-29 13:10:10 +00:00
Steve Ellcey
d7040cdb28
* regenerated files from updating libtool.
2007-05-24 18:12:51 +00:00
Steve Ellcey
37ad95141b
* ltmain.sh: Update from GCC.
...
* libtool.m4: Update from GCC.
* ltsugar.m4: New. Update from GCC.
* ltversion.m4: New. Update from GCC.
* ltoptions.m4: New. Update from GCC.
* ltconfig: Remove.
* ltcf-c.sh: Remove.
* ltcf-cxx.sh: Remove.
* ltcf-gcj.sh: Remove.
* src-release: Update with new libtool file list.
* newlib/*/configure.in: invoke _LD_DECL_SED.
* newlib/*/Makefile.am: Ensure toplevel is included in ACLOCAL_AMFLAGS.
* Regenerate subdirectories
2007-05-24 17:33:42 +00:00
Nick Clifton
fc108f8fea
* rcparse.y: Join strings for elements having no side-effects in "rc"-grammar.
...
* testsuite/binutils-all/windres/version_cat.rc: New.
* testsuite/binutils-all/windres/version_cat.rsd: New.
2007-05-24 11:01:07 +00:00
Nick Clifton
4a594fce16
Updated windres tool
2007-05-23 08:48:29 +00:00
Paul Brook
e39ff52a3b
2007-05-22 Paul Brook <paul@codesourcery.com>
...
bunutils/
* objdump.c (find_symbol_for_address): Merge section and target
specific filtering code.
ld/testsuite/
* ld-arm-mixed-lib.d: Update expected output.
* ld-arm/arm-app.d: Ditto.
* ld-arm/mixed-app.d: Ditto.
* ld-arm/arm-lib-plt32.d: Ditto.
* ld-arm/arm-app-abs32.d: Ditto.
* ld-arm/mixed-app-v5.d: Ditto.
* ld-arm/armthumb-lib.d: Ditto.
* ld-arm/arm-lib.d: Ditto.
gas/testsuite/
* gas/arm/backslash-at.d: Update expected output.
2007-05-22 15:05:12 +00:00
Nick Clifton
0e9517a90d
Use @copying around copyright notices
2007-05-22 09:16:39 +00:00
Richard Sandiford
7df428b116
binutils/
...
* objdump.c (disassemble_bytes): Ignore disassembler_needs_relocs
for executables and shared libraries.
ld/testsuite/
* ld-arm/emit-relocs1.d, ld-arm/emit-relocs1.s,
* ld-arm/emit-relocs1-vxworks.d: New tests.
* ld-arm/arm-elf.exp: Run them.
* ld-arm/vxworks1.dd: Expect proper branch targets.
2007-05-21 06:36:01 +00:00
Nathan Sidwell
12f498a721
* objcopy.c (strip_main): Detect identical input and output file
...
names.
(copy_main): Refactor tempname detection and use.
2007-05-18 06:36:14 +00:00
Nick Clifton
d57376011b
* objdump.c (load_debug_section): Select bias for DWARF debug addresses based on the flavour of the bfd.
2007-05-17 08:39:22 +00:00
Joseph Myers
f891f2a91d
* binutils-all/strip-3.d: Strip .pdr section.
2007-05-17 00:06:22 +00:00
Alan Modra
b8b6abe0f8
* binutils-all/objcopy.exp: Only run needed-by-reloc test for ELF.
2007-05-15 04:23:50 +00:00
Alan Modra
8adb2e35e2
PR 4479
...
* objcopy.c (copy_object): Don't copy ELF program headers for
--only-keep-debug.
2007-05-11 14:09:50 +00:00
Alan Modra
b4de647686
* binutils-all/needed-by-reloc.s: Use .long rather than .4byte.
2007-05-11 07:16:28 +00:00