]> sourceware.org Git - newlib-cygwin.git/log
newlib-cygwin.git
13 years ago * fhandler_tty.cc (fhandler_pty_master::setup): Create pty pipes
Corinna Vinschen [Wed, 22 Jun 2011 07:58:01 +0000 (07:58 +0000)]
* fhandler_tty.cc (fhandler_pty_master::setup): Create pty pipes
non-inheritable.

13 years ago * fhandler_tty.cc (fhandler_pty_master::setup): Fix crash in debug
Corinna Vinschen [Wed, 22 Jun 2011 07:37:49 +0000 (07:37 +0000)]
* fhandler_tty.cc (fhandler_pty_master::setup): Fix crash in debug
output.

13 years agolibgloss: bfin: handle result2/errcode in sim syscalls
Michael Frysinger [Wed, 22 Jun 2011 04:18:45 +0000 (04:18 +0000)]
libgloss: bfin: handle result2/errcode in sim syscalls

The sim passes back results via two values, and the error code via a 3rd.
make sure libgloss extracts all three so that things like errno work as
expected.  This fixes many gdb tests which look for this sort of thing.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
13 years agolibgloss: bfin: trim trailing whitespace
Michael Frysinger [Wed, 22 Jun 2011 03:00:44 +0000 (03:00 +0000)]
libgloss: bfin: trim trailing whitespace

13 years ago PR ld/12570
Jakub Jelinek [Mon, 20 Jun 2011 13:18:48 +0000 (13:18 +0000)]
PR ld/12570
include/
* bfdlink.h (struct bfd_link_info): Add no_ld_generated_unwind_info
option.
ld/
* emultempl/elf32.em (OPTION_LD_GENERATED_UNWIND_INFO,
OPTION_NO_LD_GENERATED_UNWIND_INFO): Define.
(gld${EMULATION_NAME}_handle_option): Handle
--ld-generated-unwind-info and --no-ld-generated-unwind-info.
* ld.texinfo (--ld-generated-unwind-info,
--no-ld-generated-unwind-info): Document.
bfd/
* elf-eh-frame.c (_bfd_elf_parse_eh_frame): Allow no relocations
at all for linker created .eh_frame sections.
(_bfd_elf_discard_section_eh_frame): Handle linker created
.eh_frame sections with no relocations.
* elf64-x86-64.c: Include dwarf2.h.
(elf_x86_64_eh_frame_plt): New variable.
(PLT_CIE_LENGTH, PLT_FDE_LENGTH, PLT_FDE_START_OFFSET,
PLT_FDE_LEN_OFFSET): Define.
(struct elf_x86_64_link_hash_table): Add plt_eh_frame field.
(elf_x86_64_create_dynamic_sections): Create and fill in
.eh_frame section for .plt section.
(elf_x86_64_size_dynamic_sections): Write .plt section size
into .eh_frame FDE covering .plt section.
(elf_x86_64_finish_dynamic_sections): Write .plt section
start into .eh_frame FDE covering .plt section.  Call
_bfd_elf_write_section_eh_frame on htab->plt_eh_frame section.
(elf_backend_plt_alignment): Define to 4.
* elf32-i386.c: Include dwarf2.h.
(elf_i386_eh_frame_plt): New variable.
(PLT_CIE_LENGTH, PLT_FDE_LENGTH, PLT_FDE_START_OFFSET,
PLT_FDE_LEN_OFFSET): Define.
(struct elf_i386_link_hash_table): Add plt_eh_frame field.
(elf_i386_create_dynamic_sections): Create and fill in
.eh_frame section for .plt section.
(elf_i386_size_dynamic_sections): Write .plt section size
into .eh_frame FDE covering .plt section.
(elf_i386_finish_dynamic_sections): Write .plt section
start into .eh_frame FDE covering .plt section.  Call
_bfd_elf_write_section_eh_frame on htab->plt_eh_frame section.
(elf_backend_plt_alignment): Define to 4.
ld/testsuite/
* ld-x86-64/x86-64.exp: Link some testcases with
--no-ld-generated-unwind-info.
* ld-x86-64/tlsbin.rd: Add --no-ld-generated-unwind-info to ld
comment.
* ld-x86-64/tlsdesc.dd: Likewise.
* ld-x86-64/tlspic.dd: Likewise.
* ld-x86-64/tlsdesc.sd: Likewise.
* ld-x86-64/tlspic.rd: Likewise.
* ld-x86-64/tlsbindesc.rd: Likewise.
* ld-x86-64/tlsbindesc.sd: Likewise.
* ld-x86-64/tlsbin.td: Likewise.
* ld-x86-64/tlsdesc.pd: Likewise.
* ld-x86-64/tlsdesc.td: Likewise.
* ld-x86-64/tlsbindesc.dd: Likewise.
* ld-x86-64/tlsbin.dd: Likewise.
* ld-x86-64/tlsgdesc.rd: Likewise.
* ld-x86-64/tlspic.sd: Likewise.
* ld-x86-64/tlsbindesc.td: Likewise.
* ld-x86-64/tlspic.td: Likewise.
* ld-x86-64/tlsbin.sd: Likewise.
* ld-x86-64/ilp32-4.d: Likewise.
* ld-x86-64/tlsgdesc.dd: Add --no-ld-generated-unwind-info to ld
comment.  Adjust.
* ld-x86-64/tlsdesc.rd: Likewise.
* ld-x86-64/tlsgd6.dd: Adjust.
* ld-x86-64/tlsgd5.dd: Likewise.
* ld-i386/i386.exp: Link some testcases with
--no-ld-generated-unwind-info.
* ld-i386/tlsbin.rd: Add --no-ld-generated-unwind-info to ld
comment..
* ld-i386/tlsdesc.dd: Likewise.
* ld-i386/tlspic.dd: Likewise.
* ld-i386/tlsdesc.sd: Likewise.
* ld-i386/tlsgdesc.dd: Likewise.
* ld-i386/tlsnopic.sd: Likewise.
* ld-i386/tlspic.rd: Likewise.
* ld-i386/tlsdesc.rd: Likewise.
* ld-i386/tlsbindesc.rd: Likewise.
* ld-i386/tlsbindesc.sd: Likewise.
* ld-i386/tlsbin.td: Likewise.
* ld-i386/tlsdesc.td: Likewise.
* ld-i386/tlsnopic.dd: Likewise.
* ld-i386/tlsbindesc.dd: Likewise.
* ld-i386/tlsbin.dd: Likewise.
* ld-i386/tlsgdesc.rd: Likewise.
* ld-i386/tlspic.sd: Likewise.
* ld-i386/tlsnopic.rd: Likewise.
* ld-i386/tlsbindesc.td: Likewise.
* ld-i386/tlspic.td: Likewise.
* ld-i386/tlsbin.sd: Likewise.

13 years agosim: bfin: fix sign extension in dsp insns with MM flag
Michael Frysinger [Sat, 18 Jun 2011 19:42:55 +0000 (19:42 +0000)]
sim: bfin: fix sign extension in dsp insns with MM flag

After testing the hardware with all the different dsp flags, the MM flag
triggers sign extension in all modes.  So drop the limited use of it, and
the local custom helper that was also extending unsigned values.  We also
can see that the flag checks in the mult/mac insns have the same behavior
with sign extending, so add a helper func to keep the logic the same in
both places.

Signed-off-by: Robin Getz <robin.getz@analog.com>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
13 years ago * path.cc (normalize_win32_path): Skip all slashes after recognizing
Corinna Vinschen [Sat, 18 Jun 2011 08:36:59 +0000 (08:36 +0000)]
* path.cc (normalize_win32_path): Skip all slashes after recognizing
a ".." path component.  Add comment.

13 years agoopcodes: blackfin: fix style
Michael Frysinger [Sat, 18 Jun 2011 06:43:57 +0000 (06:43 +0000)]
opcodes: blackfin: fix style

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
13 years ago * fhandler.cc (fhandler_base::open): Drop local create_options variable.
Corinna Vinschen [Fri, 17 Jun 2011 11:04:44 +0000 (11:04 +0000)]
* fhandler.cc (fhandler_base::open): Drop local create_options variable.
Use options member instead.
* fhandler.h (class fhandler_base): Change type of access member to
ACCESS_MASK.  Change get_access and set_access methods accordingly.
Add options member.  Add get_options and set_options methods.
(class fhandler_disk_file): Add prw_handle.
(fhandler_disk_file::prw_open): Declare.
(fhandler_disk_file::close): Declare.
(fhandler_disk_file::dup): Declare.
(fhandler_disk_file::fixup_after_fork): Declare.
* fhandler_disk_file.cc (fhandler_disk_file::fhandler_disk_file):
Initialize prw_handle to NULL.
(fhandler_disk_file::close): Close prw_handle.
(fhandler_disk_file::dup): New method.
(fhandler_disk_file::fixup_after_fork): Set prw_handle to NULL since
prw_handle is not inherited.
(fhandler_disk_file::prw_open): New method.  Add long comment to
explain current behaviour.
(fhandler_disk_file::pread): Revert previous change.  Change to use
prw_handle if possible.
(fhandler_disk_file::pwrite): Change to use prw_handle if possible.

13 years ago * dcrt0.cc (dll_crt0_1): Call strace.dll_info after call to pinfo_init.
Corinna Vinschen [Fri, 17 Jun 2011 08:30:27 +0000 (08:30 +0000)]
* dcrt0.cc (dll_crt0_1): Call strace.dll_info after call to pinfo_init.
* strace.cc (strace::hello): Drop printing DLL information here since
application info is not always available at this point.
(strace::dll_info): New method to print DLL info.
* include/sys/strace.h (strace::dll_info): Declare.

13 years ago * dtable.cc (handle_to_fn): Accommodate name change of pty named pipes,
Corinna Vinschen [Fri, 17 Jun 2011 08:27:32 +0000 (08:27 +0000)]
* dtable.cc (handle_to_fn): Accommodate name change of pty named pipes,
otherwise ptys are not recognized.

13 years ago* fhandler_console.cc (fhandler_console::set_unit): Set pc.file_attributes() to
Christopher Faylor [Thu, 16 Jun 2011 23:00:00 +0000 (23:00 +0000)]
* fhandler_console.cc (fhandler_console::set_unit): Set pc.file_attributes() to
reflect existence.
* fhandler.h (fhandler_pty_common::fhandler_pty_common): Ditto.
* pinfo.cc (_pinfo::set_ctty): Output device numbers in hex.

13 years ago* errno.cc (EIO): Lowercase "o" representative string.
Christopher Faylor [Wed, 15 Jun 2011 17:36:10 +0000 (17:36 +0000)]
* errno.cc (EIO): Lowercase "o" representative string.

13 years agoinclude/elf/
Ulrich Weigand [Wed, 15 Jun 2011 16:36:58 +0000 (16:36 +0000)]
include/elf/
* common.h (NT_ARM_VFP): Define.

bfd/
* elf-bfd.h (elfcore_write_arm_vfp): Add prototype.
* elf.c (elfcore_grok_arm_vfp): New function.
(elfcore_grok_note): Call it to handle NT_ARM_VFP notes.
(elfcore_write_arm_vfp): New function.
(elfcore_write_register_note): Call it to handle .reg-arm-vfp.

binutils/
* readelf.c (get_note_type): Handle NT_ARM_VFP.

13 years ago * cygwinenv.sgml (using-cygwinenv): Move envcache, strip_title, title,
Corinna Vinschen [Wed, 15 Jun 2011 11:41:26 +0000 (11:41 +0000)]
* cygwinenv.sgml (using-cygwinenv): Move envcache, strip_title, title,
tty, and upcaseenv options to list of obsolete options.
* effectively.sgml (using-console): Remove section.
* new-features.sgml (ov-new1.7.10): Document removed CYGWIN options.
Document removed tty mode.

13 years ago* cygheap.h (init_cygheap::ctty_on_hold): Remove conditionalized variable.
Christopher Faylor [Tue, 14 Jun 2011 21:48:43 +0000 (21:48 +0000)]
* cygheap.h (init_cygheap::ctty_on_hold): Remove conditionalized variable.
* dcrt0.cc (do_exit): Remove code which handled CYGWIN=tty style ttys.
* devices.in: Remove "/dev/ttym".
* dtable.cc: Rename tty to pty where appropriate throughout.
(dtable::stdio_init): Use new t->is_console rather than using now-deleted hwnd
element in tty structure.
(dtable::init_std_file_from_handle): Remove code which handled CYGWIN=tty style
ttys.
(fh_alloc): Ditto.
* fhandler.h: Rename tty to pty where appropriate.
(fhandler_pty_common): Delete output_done_event, ioctl_request_event,
ioctl_done_event.
(fhandler_pty_master::setup): Delete argument.
(fhandler_tty_master): Delete.
(fhandler_union): Delete __tty_master.
* fhandler_console.cc (use_tty): Delete.
(fhandler_console::get_tty_stuff): Set is_console to true rather than calling
sethwnd.
(fhandler_console::send_winch_maybe): Remove CYGWIN=tty considerations.
(fhandler_console::input_tcsetattr): Ditto.
* fhandler_termios.cc (fhandler_termios::tcsetpgrp): Use new t->is_console
rather than using now-deleted hwnd element in tty structure.
* fhandler_tty.cc: Rename tty to pty where appropriate throughout.
(tty_master): Delete.
(process_input): Ditto.
(process_output): Ditto.
(process_ioctl): Ditto.
(fhandler_tty_master::*): Ditto.
(fhandler_pty_master::process_slave_output): Remove CYGWIN=tty considerations.
(fhandler_pty_slave::open): Ditto for *_done_event.
(fhandler_pty_slave::write): Ditto.
(fhandler_pty_slave::ioctl): Ditto.
(fhandler_pty_slave::fch_open_handles): Ditto.
(fhandler_pty_slave::fch_set_sd): Ditto.
(fhandler_pty_slave::fch_close_handles): Ditto.
(fhandler_pty_common::close): Ditto.
(fhandler_pty_master::setup): Ditto.  Remove now-unneeded ispty parameter.
(fhandler_pty_master::open): Reflect argument removal for tty::allocate.
* select.cc: Rename tty to pty where appropriate throughout.
* sigproc.cc (proc_subproc): Remove CYGWIN=tty considerations.
* tty.cc (ttyslot): Accommodate CYGWIN=tty removal.
(tty_list::init_session): Ditto.
(tty_list::attach): Ditto.
(tty::create_master): Delete.
(tty_list::terminate): Ditto.
(tty_list::allocate): Delete "with_console" parameter.  Remove CYGWIN=tty
considerations.
(tty::init): Set is_console = false.  Use 'false' for was_opened since it is a
boolean.
* tty.h (*_{DONE,REQUEST}_EVENT): Delete.
(tty_min::is_console): Declare new field which replaces hwnd.
(tty_min::gethwnd): Delete.
(tty_min::sethwnd): Ditto.
(tty_list::allocate): Delete parameter.
(tty_list::terminate): Delete declaration.
* include/sys/cygwin.h (PID_USETTY): Redefine to PID_UNUSED1 and change comment
to reflect its availability.

13 years ago* mingw: Force use of bash.
Christopher Faylor [Tue, 14 Jun 2011 15:04:04 +0000 (15:04 +0000)]
* mingw: Force use of bash.

13 years ago * libc/time/asctime_r.c (asctime_r): Replace call to sprintf with call
Corinna Vinschen [Tue, 14 Jun 2011 14:31:59 +0000 (14:31 +0000)]
* libc/time/asctime_r.c (asctime_r): Replace call to sprintf with call
to siprintf.
* libc/time/strftime.c: Define snprintf to sniprintf in multibyte case.
* libc/time/tzset_r.c: Define sscanf to siscanf.

13 years agolibgloss:
Joseph Myers [Tue, 14 Jun 2011 13:40:48 +0000 (13:40 +0000)]
libgloss:
* configure.in: Don't handle strongarm, ep9312 and xscale target
names.
* configure: Regenerate.
* libnosys/configure.in: Don't handle strongarm and thumb target
names.
* libnosys/configure: Regenerate.

newlib:
* configure.host: Don't handle ep9312, strongarm, xscale and thumb
target names.
* libc/machine/configure.in: Don't handle xscale target names.
* libc/machine/configure: Regenerate.

13 years ago * libc/time/tzset_r.c (tzset_r): Correct behavior for changing from
Corinna Vinschen [Tue, 14 Jun 2011 07:50:40 +0000 (07:50 +0000)]
* libc/time/tzset_r.c (tzset_r):  Correct behavior for changing from
non-GMT to GMT, when un-setting TZ.  Set _timezone and _daylight even
if no DST is given in TZ.

13 years agoprintf: set errno for read-only stream
Eric Blake [Tue, 14 Jun 2011 03:56:05 +0000 (03:56 +0000)]
printf: set errno for read-only stream

* libc/stdio/wsetup.c (__swsetup_r): Set errno on failure.
* libc/stdio/fvwrite.c (__sfvwrite_r): Simplify.
* libc/stdio/wbuf.c (__swbuf_r): Likewise.
* libc/stdio/local.h (cantwrite): Adjust comment.

13 years ago* fhandler_tty_slave.cc (fhandler_tty_slave::fhandler_tty_slave): Revert
Christopher Faylor [Mon, 13 Jun 2011 23:49:00 +0000 (23:49 +0000)]
* fhandler_tty_slave.cc (fhandler_tty_slave::fhandler_tty_slave): Revert
previous change since unit 0 is perfectly valid.

13 years agomerge from gcc
DJ Delorie [Mon, 13 Jun 2011 23:01:42 +0000 (23:01 +0000)]
merge from gcc

13 years ago * configure.ac (tilepro-*-*) New case.
Nick Clifton [Mon, 13 Jun 2011 15:24:43 +0000 (15:24 +0000)]
* configure.ac (tilepro-*-*) New case.
(tilegx-*-*): Likewise.
* configure: Regenerate.

13 years ago * Makefile.am (ALL_MACHINES): Add cpu-tilegx.lo and cpu-tilepro.lo.
Nick Clifton [Mon, 13 Jun 2011 15:18:54 +0000 (15:18 +0000)]
* Makefile.am (ALL_MACHINES): Add cpu-tilegx.lo and cpu-tilepro.lo.
    (ALL_MACHINE_CFILES): Add cpu-tilegx.c and cpu-tilepro.c.
    (BFD32_BACKENDS): Add elf32-tilegx.lo, elf32-tilepro.lo,
    and elfxx-tilegx.lo.
    (BFD32_BACKENDS_CFILES): Add elf32-tilegx.c elf32-tilepro.c, and
    elfxx-tilegx.c.
    (BFD64_BACKENDS): Add elf64-tilegx.lo.
    (BFD64_BACKENDS_CFILES): Add elf64-tilegx.c.
    * Makefile.in: Regenerate.
    * arctures.c (bfd_architecture): Define bfd_arch_tilepro,
    bfd_arch_tilegx, bfd_mach_tilepro, bfd_mach_tilegx.
    (bfd_arch_info): Add bfd_tilegx_arch, bfd_tilepro_arch.
    (bfd_archures_list): Add bfd_tilegx_arch, bfd_tilepro_arch.
    bfd-in2.h: Regenerate.
    * config.bfd: Handle tilegx-*-* and tilepro-*-*.
    * configure.in: Handle bfd_elf32_tilegx_vec, bfd_elf32_tilepro_vec,
    and bfd_elf64_tilegx_vec.
    * configure: Regenerate.
    * elf-bfd.h (enum elf_target_id): Define TILEGX_ELF_DATA and
    TILEPRO_ELF_DATA.
    * libbfd.h: Regenerate.
    * reloc.c: Add BFD_RELOC_TILEPRO_{COPY, GLOB_DAT, JMP_SLOT,
    RELATIVE, BROFF_X1, JOFFLONG_X1, JOFFLONG_X1_PLT, IMM8_X0,
    IMM8_Y0, IMM8_X1, IMM8_Y1, DEST_IMM8_X1, MT_IMM15_X1, MF_IMM15_X1,
    IMM16_X0, IMM16_X1, IMM16_X0_LO, IMM16_X1_LO, IMM16_X0_HI,
    IMM16_X1_HI, IMM16_X0_HA, IMM16_X1_HA, IMM16_X0_PCREL,
    IMM16_X1_PCREL, IMM16_X0_LO_PCREL, IMM16_X1_LO_PCREL,
    IMM16_X0_HI_PCREL, IMM16_X1_HI_PCREL, IMM16_X0_HA_PCREL,
    IMM16_X1_HA_PCREL, IMM16_X0_GOT, IMM16_X1_GOT, IMM16_X0_GOT_LO,
    IMM16_X1_GOT_LO, IMM16_X0_GOT_HI, IMM16_X1_GOT_HI,
    IMM16_X0_GOT_HA, IMM16_X1_GOT_HA, MMSTART_X0, MMEND_X0,
    MMSTART_X1, MMEND_X1, SHAMT_X0, SHAMT_X1, SHAMT_Y0, SHAMT_Y1,
    IMM16_X0_TLS_GD, IMM16_X1_TLS_GD, IMM16_X0_TLS_GD_LO,
    IMM16_X1_TLS_GD_LO, IMM16_X0_TLS_GD_HI, IMM16_X1_TLS_GD_HI,
    IMM16_X0_TLS_GD_HA, IMM16_X1_TLS_GD_HA, IMM16_X0_TLS_IE,
    IMM16_X1_TLS_IE, IMM16_X0_TLS_IE_LO, IMM16_X1_TLS_IE_LO,
    IMM16_X0_TLS_IE_HI, IMM16_X1_TLS_IE_HI, IMM16_X0_TLS_IE_HA,
    IMM16_X1_TLS_IE_HA, TLS_DTPMOD32, TLS_DTPOFF32, TLS_TPOFF32}
    Add BFD_RELOC_TILEGX_{HW0, HW1, HW2, HW3, HW0_LAST, HW1_LAST,
    HW2_LAST, COPY, GLOB_DAT, JMP_SLOT, RELATIVE, BROFF_X1,
    JUMPOFF_X1, JUMPOFF_X1_PLT, IMM8_X0, IMM8_Y0, IMM8_X1, IMM8_Y1,
    DEST_IMM8_X1, MT_IMM14_X1, MF_IMM14_X1, MMSTART_X0, MMEND_X0,
    SHAMT_X0, SHAMT_X1, SHAMT_Y0, SHAMT_Y1, IMM16_X0_HW0,
    IMM16_X1_HW0, IMM16_X0_HW1, IMM16_X1_HW1, IMM16_X0_HW2,
    IMM16_X1_HW2, IMM16_X0_HW3, IMM16_X1_HW3, IMM16_X0_HW0_LAST,
    IMM16_X1_HW0_LAST, IMM16_X0_HW1_LAST, IMM16_X1_HW1_LAST,
    IMM16_X0_HW2_LAST, IMM16_X1_HW2_LAST, IMM16_X0_HW0_PCREL,
    IMM16_X1_HW0_PCREL, IMM16_X0_HW1_PCREL, IMM16_X1_HW1_PCREL,
    IMM16_X0_HW2_PCREL, IMM16_X1_HW2_PCREL, IMM16_X0_HW3_PCREL,
    IMM16_X1_HW3_PCREL, IMM16_X0_HW0_LAST_PCREL,
    IMM16_X1_HW0_LAST_PCREL, IMM16_X0_HW1_LAST_PCREL,
    IMM16_X1_HW1_LAST_PCREL, IMM16_X0_HW2_LAST_PCREL,
    IMM16_X1_HW2_LAST_PCREL, IMM16_X0_HW0_GOT, IMM16_X1_HW0_GOT,
    IMM16_X0_HW1_GOT, IMM16_X1_HW1_GOT, IMM16_X0_HW2_GOT,
    IMM16_X1_HW2_GOT, IMM16_X0_HW3_GOT, IMM16_X1_HW3_GOT,
    IMM16_X0_HW0_LAST_GOT, IMM16_X1_HW0_LAST_GOT,
    IMM16_X0_HW1_LAST_GOT, IMM16_X1_HW1_LAST_GOT,
    IMM16_X0_HW2_LAST_GOT, IMM16_X1_HW2_LAST_GOT, IMM16_X0_HW0_TLS_GD,
    IMM16_X1_HW0_TLS_GD, IMM16_X0_HW1_TLS_GD, IMM16_X1_HW1_TLS_GD,
    IMM16_X0_HW2_TLS_GD, IMM16_X1_HW2_TLS_GD, IMM16_X0_HW3_TLS_GD,
    IMM16_X1_HW3_TLS_GD, IMM16_X0_HW0_LAST_TLS_GD,
    IMM16_X1_HW0_LAST_TLS_GD, IMM16_X0_HW1_LAST_TLS_GD,
    IMM16_X1_HW1_LAST_TLS_GD, IMM16_X0_HW2_LAST_TLS_GD,
    IMM16_X1_HW2_LAST_TLS_GD, IMM16_X0_HW0_TLS_IE,
    IMM16_X1_HW0_TLS_IE, IMM16_X0_HW1_TLS_IE, IMM16_X1_HW1_TLS_IE,
    IMM16_X0_HW2_TLS_IE, IMM16_X1_HW2_TLS_IE, IMM16_X0_HW3_TLS_IE,
    IMM16_X1_HW3_TLS_IE, IMM16_X0_HW0_LAST_TLS_IE,
    IMM16_X1_HW0_LAST_TLS_IE, IMM16_X0_HW1_LAST_TLS_IE,
    IMM16_X1_HW1_LAST_TLS_IE, IMM16_X0_HW2_LAST_TLS_IE,
    IMM16_X1_HW2_LAST_TLS_IE, TLS_DTPMOD64, TLS_DTPOFF64, TLS_TPOFF64,
    TLS_DTPMOD32, TLS_DTPOFF32, TLS_TPOFF32}
    * targets.c (bfd_elf32_tilegx_vec): Declare.
    (bfd_elf32_tilepro_vec): Declare.
    (bfd_elf64_tilegx_vec): Declare.
    (bfd_target_vector): Add bfd_elf32_tilegx_vec, bfd_elf32_tilepro_vec,
    and bfd_elf64_tilegx_vec.
    * cpu-tilegx.c: New file.
    * cpu-tilepro.c: New file.
    * elf32-tilepro.h: New file.
    * elf32-tilepro.c: New file.
    * elf32-tilegx.c: New file.
    * elf32-tilegx.h: New file.
    * elf64-tilegx.c: New file.
    * elf64-tilegx.h: New file.
    * elfxx-tilegx.c: New file.
    * elfxx-tilegx.h: New file.

* Makefile.am (TARGET_CPU_CFILES): Add config/tc-tilegx.c and
config/tc-tilepro.c.
(TARGET_CPU_HFILES): Add config/tc-tilegx.h and
config/tc-tilepro.h.
* Makefile.in: Regenerate.
* configure.tgt (tilepro-*-*): New.
(tilegx-*-*): Likewise.
* config/tc-tilegx.c: New file.
* config/tc-tilegx.h: Likewise.
* config/tc-tilepro.h: Likewise.
* config/tc-tilepro.c: Likewise.
* doc/Makefile.am (CPU_DOCS): Add c-tilegx.texi and
c-tilepro.texi.
* doc/Makefile.in: Regenerate.
* doc/all.texi (TILEGX): Define.
(TILEPRO): Define.
* doc/as.texinfo: Add Tile-Gx and TILEPro documentation.  Include
c-tilegx.texi and c-tilepro.texi.
* doc/c-tilegx.texi: New.
* doc/c-tilepro.texi: New.

        * gas/tilepro/t_constants.s: New file.
* gas/tilepro/t_constants.d: Likewise.
* gas/tilepro/t_insns.s: Likewise.
* gas/tilepro/tilepro.exp: Likewise.
* gas/tilepro/t_insns.d: Likewise.
* gas/tilegx/tilegx.exp: Likewise.
* gas/tilegx/t_insns.d: Likewise.
* gas/tilegx/t_insns.s: Likewise.

* dis-asm.h (print_insn_tilegx): Declare.
(print_insn_tilepro): Likewise.

* tilegx.h: New file.
* tilepro.h: New file.

* common.h: Add EM_TILEGX.
* tilegx.h: New file.
* tilepro.h: New file.

* Makefile.am (ALL_EMULATION_SOURCES): Add eelf32tilegx.c and
eelf32tilepro.c.
(ALL_64_EMULATION_SOURCES): Add eelf64tilegx.c.
(eelf32tilegx.c): New target.
(eelf32tilepro.c): Likewise.
(eelf64tilegx.c): Likewise.
* Makefile.in: Regenerate.
* configure.tgt: Handle tilegx-*-* and tilepro-*-*.
* emulparams/elf32tilegx.sh: New file.
* emulparams/elf64tilegx.sh: New file.
* emulparams/elf32tilepro.sh: New file.

* ld-elf/eh5.d: Don't run on tile*.
* ld-srec/srec.exp: xfail on tile*.
* ld-tilegx/external.s: New file.
* ld-tilegx/reloc.d: New file.
* ld-tilegx/reloc.s: New file.
* ld-tilegx/tilegx.exp: New file.
* ld-tilepro/external.s: New file.
* ld-tilepro/reloc.d: New file.
* ld-tilepro/reloc.s: New file.
* ld-tilepro/tilepro.exp: New file.

* Makefile.am (TARGET_LIBOPCODES_CFILES): Add tilegx-dis.c,
tilegx-opc.c, tilepro-dis.c, and tilepro-opc.c.
* Makefile.in: Regenerate.
* configure.in: Handle bfd_tilegx_arch and bfd_tilepro_arch.
* configure: Regenerate.
* disassemble.c (disassembler): Add ARCH_tilegx and ARCH_tilepro.
* po/POTFILES.in: Regenerate.
* tilegx-dis.c: New file.
* tilegx-opc.c: New file.
* tilepro-dis.c: New file.
* tilepro-opc.c: New file.

13 years agoRename FH_BAD to FH_NADA throughout.
Christopher Faylor [Sun, 12 Jun 2011 20:15:26 +0000 (20:15 +0000)]
Rename FH_BAD to FH_NADA throughout.
* devices.h (FH_ERROR): New value.
(iscons_dev): Extend to detect all the console device types.
* devices.in: Set aside storage for FH_ERROR.
* dtable.cc (dtable::init_std_file_from_handle): Use iscons_dev to detect when
device is a console.
(fh_alloc): Pass device to console constructor.
(build_fh_pc): Short circuit when we detect that the constructor saw an error.
* fhandler.h (fhandler_console::fhandler_console): Accept fh_devices parameter.
(get_tty_stuff): Change to void.
* fhandler_console (fhandler_console::set_unit): Set device to FH_ERROR on
attempt to access anything other than the current console.
(fhandler_console::get_tty_stuff): Change to void return.
(fhandler_console::open): Return EPERM on FH_ERROR device type.
(fhandler_console::fhandler_console): Set the device type appropriately before
calling get_tty_stuff and rely on that function to reset it if necessary.

13 years ago2011-06-09 Yaakov Selkowitz <yselkowitz@...>
Jeff Johnston [Fri, 10 Jun 2011 18:30:38 +0000 (18:30 +0000)]
2011-06-09  Yaakov Selkowitz  <yselkowitz@...>

        * libc/include/string.h (strdupa): New macro function.
        (strndupa): New macro function.

13 years ago* environ.cc (create_upcaseenv): Delete.
Christopher Faylor [Fri, 10 Jun 2011 15:06:13 +0000 (15:06 +0000)]
* environ.cc (create_upcaseenv): Delete.
(ucenv): Don't honor create_upcaseenv.
(environ_init): Remove early retrieval of CYGWIN environment variable.  Change
comment to reflect new behavior.

13 years ago* child_info.h (CURR_CHILD_INFO_MAGIC): Reset.
Christopher Faylor [Thu, 9 Jun 2011 21:20:27 +0000 (21:20 +0000)]
* child_info.h (CURR_CHILD_INFO_MAGIC): Reset.
(child_info::old_title): Delete.
(child_info::~child_info_spawn): Remove recording of old_title.
* dcrt0.cc (title_buf): Delete.
(child_info_spawn::handle_spawn): Remove recording of old_title.
(dll_crt0_1): Get rid of all title handling.
(do_exit): Ditto.
* environ.cc (known): Delete strip_title and title.
* fhandler_console.cc (fhandler_console::write): Remove recording of old_title.
* globals.cc (exit_states): Remove ES_TITLE.
(display_title): Delete.
(strip_title_path): Delete.
(old_title): Delete.
* spawn.cc (spawn_guts): Remove old_title accommodation.

13 years ago* environ.cc (envcache): Delete.
Christopher Faylor [Thu, 9 Jun 2011 19:08:22 +0000 (19:08 +0000)]
* environ.cc (envcache): Delete.
(known): Remove envcache.
(getwinenv): Don't honor envcache setting.

13 years ago* environ.c: Move code earlier to allow:
Christopher Faylor [Thu, 9 Jun 2011 17:50:41 +0000 (17:50 +0000)]
* environ.c: Move code earlier to allow:
(_addenv): Call parse_options() when CYGWIN environment variable is being
changed.
(parse_options): Change parameter to 'const'.

13 years ago2011-06-09 Tristan Gingold <gingold@adacore.com>
Tristan Gingold [Thu, 9 Jun 2011 08:53:05 +0000 (08:53 +0000)]
2011-06-09  Tristan Gingold  <gingold@adacore.com>

* ia64.h (Elf64_External_VMS_ORIG_DYN_Note): New struct.

13 years ago* environ.cc (tty_is_gone): Add missing space to message.
Christopher Faylor [Wed, 8 Jun 2011 19:51:15 +0000 (19:51 +0000)]
* environ.cc (tty_is_gone): Add missing space to message.

13 years ago* environ.cc (settings::set_process_state): Delete.
Christopher Faylor [Wed, 8 Jun 2011 19:27:48 +0000 (19:27 +0000)]
* environ.cc (settings::set_process_state): Delete.
(tty_is_gone): New function.
(known): Change "tty" to call tty_is_gone().  Remove unneeded '&' from
beginning of function address.
(parse_options): Remove set_process_state handling.
* shared_info.h (CURR_USER_MAGIC): Reset.
(user_info::warned_notty): New member.

13 years ago* fhandler_console.cc (fhandler_console::open_shared_console): Semi-revert to
Christopher Faylor [Tue, 7 Jun 2011 20:55:10 +0000 (20:55 +0000)]
* fhandler_console.cc (fhandler_console::open_shared_console): Semi-revert to
using fixed location for console stuff.
* shared.cc (offsets): Ditto.  Comment.
* shared_info (shared_locations): Re-add SH_SHARED_CONSOLE.

13 years agoSync from upstream:
Nick Clifton [Mon, 6 Jun 2011 10:36:06 +0000 (10:36 +0000)]
Sync from upstream:
2011-06-03  Nick Clifton  <nickc@redhat.com>
    Ben Elliston  <bje@gnu.org>

* config.sub (v850e1, v850es, v850e2, v850e2v3): New.

2011-05-30  Chris Metcalf  <cmetcalf@tilera.com>
    Ben Elliston  <bje@gnu.org>

* config.guess (tile*:Linux:*:*): Use vendor "unknown", not
"tilera", for consistency with other architectures.
* config.sub (tile*-*, tilegx-*): Use a more general pattern for
"tile" to allow matching tilepro, tilegx32 and other variants.

13 years agowhitespace elimination
Christopher Faylor [Mon, 6 Jun 2011 05:02:13 +0000 (05:02 +0000)]
whitespace elimination

13 years ago* fhandler_disk_file.cc (fhandler_disk_file::pread): Reset windows file
Christopher Faylor [Mon, 6 Jun 2011 00:25:44 +0000 (00:25 +0000)]
* fhandler_disk_file.cc (fhandler_disk_file::pread): Reset windows file
position pointer back to previous location after successful read.

13 years ago* fhandler_console.cc (fhandler_console::open_shared_console): Don't zero
Christopher Faylor [Sun, 5 Jun 2011 02:10:31 +0000 (02:10 +0000)]
* fhandler_console.cc (fhandler_console::open_shared_console): Don't zero
handle to open_shared since it is supposed to be an input.
(enum_windows): Set handle input to open_shared to NULL since it does not
represent any previously opened shared region.
* shared.cc (open_shared): Tweak debugging output.

13 years ago* ntdll.h (FILE_PIPE_*): Define constants.
Christopher Faylor [Sat, 4 Jun 2011 01:06:17 +0000 (01:06 +0000)]
* ntdll.h (FILE_PIPE_*): Define constants.
* select.cc (pipe_data_available): Detect closing state.

13 years ago* pinfo.cc (_pinfo::set_ctty): Don't reset myself->{pgid,sid} if terminal has
Christopher Faylor [Sat, 4 Jun 2011 00:29:19 +0000 (00:29 +0000)]
* pinfo.cc (_pinfo::set_ctty): Don't reset myself->{pgid,sid} if terminal has
no pgid or sid settings.

13 years ago* fhandler.cc (fhandler_base_overlapped::wait_overlapped): Only raise SIGPIPE
Christopher Faylor [Sat, 4 Jun 2011 00:12:29 +0000 (00:12 +0000)]
* fhandler.cc (fhandler_base_overlapped::wait_overlapped): Only raise SIGPIPE
when writing.
* fhandler.h: Include "tty.h".
(fhandler_termios::_tc): Rename from tc.
(fhandler_termios::tc): New method.
(fhandler_termios::tcinit): Remove an argument.
(fhandler_termios::get_ttyp): Use method to retrieve value.
(fhandler_console::console_state): Move here.
(fhandler_console::dev_state): Delete.
(fhandler_console::shared_console_info): Define.
(fhandler_console::open_shared_console): Move this function under
fhandler_console umbrella.
(fhandler_console::tc): Define.  Return static value.
(fhandler_console::focus_aware): Accommodate deletion of dev_state.
(fhandler_console): Add tty_list::get_cttyp as a friend.
* fhandler_console.cc (dev_state): Redefine as a pointer within
shared_console_info and change dev-> to dev.  throughout.
(fhandler_console::shared_console_info): Move into fhandler_console.
(fhandler_console::open_shared_console): Move into fhandler_console change
argument to simple bool.
(enum_windows): Accommodate changes to console_state and open_shared_console.
(console_unit::console_unit): Ditto.
(fhandler_console::get_tty_stuff): Accommodate change to dev_state.
(tty_list::get_cttyp): Accommodate change to
handler_console::shared_console_info.
(fhandler_console::read): Accommodate change from tc to tc ().
(fhandler_console::set_input_state): Ditto.
(fhandler_console::open): Accommodate tcinit argument change and change from tc
to tc().
(fhandler_console::input_tcsetattr): Accomodate change from tc to tc().
(fhandler_console::input_tcsetattr): Ditto.
(fhandler_console::write_normal): Ditto.
(fhandler_console::init): Ditto.
(fhandler_console::igncr_enabled): Ditto.
* fhandler_termios.cc (fhandler_termios::tcinit): Remove first argument.
Expect tc() to have been set up first.  Use tc() rather than tc.
(fhandler_termios::tcsetpgrp): Accomodate change from tc to tc().
(fhandler_termios::tcgetpgrp): Ditto.
(fhandler_termios::bg_check): Ditto.
(fhandler_termios::line_edit: Ditto.
(fhandler_tty_master::set_winsize): Ditto.
(fhandler_tty_slave::open): Ditto.
(fhandler_tty_slave::init): Ditto.
(fhandler_pty_master::write): Ditto.
(fhandler_pty_master::setup): Ditto.  Accommodate change in arguments to
tcinit.
(fhandler_tty_slave::fch_open_handles): Set _tc directly.
(tty_min::is_orphaned_process_group): Don't assume that parent pid exists.
* pinfo.cc (_pinfo::set_ctty): Reset myself->{pgid,sid} here if we were started
by a non-Cygwin process but the tty exists.
* shared_info.h (console_state): Delete from here.
* tty.h: Make multiple inclusion safe.

13 years agoFix spelling mistakes.
Nick Clifton [Thu, 2 Jun 2011 13:43:23 +0000 (13:43 +0000)]
Fix spelling mistakes.

13 years ago* exceptions.cc (ctrl_c_handler): Simplify test for no parent tty.
Christopher Faylor [Wed, 1 Jun 2011 01:47:51 +0000 (01:47 +0000)]
* exceptions.cc (ctrl_c_handler): Simplify test for no parent tty.
* fhandler_console.cc (fhandler_console::get_tty_stuff): Return NULL if ctty is
not tty/console.  Improve test for slave tty/pty device.

13 years ago* external.cc (fillout_pinfo): Don't truncate ctty if it's < 0.
Christopher Faylor [Wed, 1 Jun 2011 01:20:28 +0000 (01:20 +0000)]
* external.cc (fillout_pinfo): Don't truncate ctty if it's < 0.
* select.cc (pipe_data_available): Avoid printing debug info by default or
suffer very large strace files.

13 years ago* select.cc (pipe_data_available): New function - uses NtQueryInformationFile
Christopher Faylor [Wed, 1 Jun 2011 00:57:49 +0000 (00:57 +0000)]
* select.cc (pipe_data_available): New function - uses NtQueryInformationFile
to return information about pipes.
(peek_pipe): Rewrite to use pipe_data_available for both read and write tests.

13 years agoCorrect checking for short option matches in getopt_long_only().
Keith Marshall [Tue, 31 May 2011 20:24:51 +0000 (20:24 +0000)]
Correct checking for short option matches in getopt_long_only().

13 years ago2011-05-31 Paul Brook <paul@codesourcery.com>
Paul Brook [Tue, 31 May 2011 14:12:55 +0000 (14:12 +0000)]
2011-05-31  Paul Brook  <paul@codesourcery.com>

gas/
* config/tc-arm.c (arm_cpus): Add Cortex-R5.
(arm_extensions): Allow idiv on ARMv7-R.
* doc/c-arm.text: Update idiv extension restrictions.

gas/testsuite/
* gas/arm/arm-idiv-bad.d: New test.
* gas/arm/arm-idiv-bad.s: New test.
* gas/arm/arm-idiv-bad.l: New test.
* gas/arm/arm-idiv.d: New test.
* gas/arm/arm-idiv.s: New test.

include/
* opcode/arm.h (ARM_ARCH_V7R_IDIV): Define.

13 years ago2011-05-31 Paul Brook <paul@codesourcery.com>
Paul Brook [Tue, 31 May 2011 14:07:57 +0000 (14:07 +0000)]
2011-05-31  Paul Brook  <paul@codesourcery.com>

bfd/
* elf32-arm.c (elf32_arm_final_link_relocate): Only do bl conversion
for known functions.
(elf32_arm_swap_symbol_in): Only set ST_BRANCH_TO_ARM for function
symbols.

include/elf/
* arm.h (arm_st_branch_type): Add ST_BRANCH_UNKNOWN.

ld/testsuite/
* ld-arm/cortex-a8-far.d: Adjust expected output.
* ld-arm/arm-call1.s: Give function symbol correct type.
* ld-arm/arm-call2.s: Ditto.
* ld-arm/farcall-group4.s: Ditto.
* ld-arm/arm-elf.exp (cortex-a8-far): Define far symbols with correct
type via assembly file.
* ld-arm/cortex-a8-far-3.s: New file.
* ld-arm/abs-call-1.s: Add Thumb tests

13 years ago* dtable.cc (dtable::select_write): Add missing argument to debug_printf.
Christopher Faylor [Tue, 31 May 2011 00:26:37 +0000 (00:26 +0000)]
* dtable.cc (dtable::select_write): Add missing argument to debug_printf.
* fhandler.cc (fhandler_base_overlapped::setup_overlapped): Explicitly set
io_pending to false.
(fhandler_base_overlapped::has_ongoing_io): Call GetOverlappedResult to force
completion of I/O.
(fhandler_base_overlapped::wait_overlapped): Rewrite to correctly deal with
nonblocking reads and to make more race proof.
(fhandler_base_overlapped::raw_write): Deal with new enum values.
(fhandler_base_overlapped::raw_read): Ditto.  Don't deal with ongoing I/O here
since it makes no sense in the read context.
* fhandler.h (enum wait_return): Add overlapped_unknown,
overlapped_nonblocking_no_data.
* pipe.cc (pipe): Add debugging output.

13 years ago* dll_init.cc (dll_list::append): Eliminate increment of unused tot variable.
Christopher Faylor [Mon, 30 May 2011 17:16:24 +0000 (17:16 +0000)]
* dll_init.cc (dll_list::append): Eliminate increment of unused tot variable.
* dll_init.h (dll_list::tot): Delete.
(dll_list::populate_all_deps): Delete undefined function.
* fhandler.cc (fhandler_base_overlapped::wait_overlapped): Move EPIPE handling
under error condition.

13 years ago* dll_init.cc (reserve_upto): Remove.
Christopher Faylor [Mon, 30 May 2011 16:09:29 +0000 (16:09 +0000)]
* dll_init.cc (reserve_upto): Remove.
(release_upto): Ditto.
(dll_list::reserve_space): New function to reserve space needed by DLL_LOAD
dlls early in the fork process.
(dll_list::load_after_fork): Rewrite to use recursion to track reservations it
makes while trying to make dlls land where they belong.
(dll_list::load_after_fork_impl): New function used by load_after_fork.
(dll_list::alloc): Initialize image base field.
* dll_init.h (dll_list::prefered_base): New field.
(dll_list::reserve_space): Declare new function.
(dll_list::load_after_fork): Declare new function.
* fork.cc (frok::child): call dll_list::reserve_space early, so we can retry if
it fails.

13 years ago* fhandler_termios.cc (fhandler_termios::bg_check): Do not return EIO when a
Christopher Faylor [Mon, 30 May 2011 06:58:00 +0000 (06:58 +0000)]
* fhandler_termios.cc (fhandler_termios::bg_check): Do not return EIO when a
process group has no leader as this is allowed and does not imply an orphaned
process group.  Add a test for orphaned process groups.
(tty_min::is_orphaned_process_group): Define new function.
* tty.h (tty_min::is_orphaned_process_group): Define new function.

13 years ago* dll_init.cc (dll_list::find_by_modname): New function to search the dll list
Christopher Faylor [Mon, 30 May 2011 06:52:12 +0000 (06:52 +0000)]
* dll_init.cc (dll_list::find_by_modname): New function to search the dll list
for a module name only (no path).
(dll_list::alloc): Initialize newly-added members of struct dll.
(dll_list::append): New function to factor out the append operation
(used by dll_list::topsort).
(dll_list::populate_deps): New function to identify dll dependencies.
(dll_list::topsort): New function to sort the dll list topologically by
dependencies.
(dll_list::topsort_visit): New helper function for the above.
* dll_init.h (dll::ndeps): New class member.
(dll::deps): Ditto.
(dll::modname): Ditto.
(dll_list::find_by_modname): New function related to topsort.
(dll_list::populate_all_deps): Ditto.
(dll_list::populate_deps): Ditto.
(dll_list::topsort): Ditto.
(dll_list::topsort_visit): Ditto.
(dll_list::append): Ditto.
(pefile): New struct allowing simple introspection of dll images.
* fork.cc (fork): Topologically sort the dll list before forking
* child_info.h (CURR_CHILD_INFO_MAGIC): Refresh.
(child_info::refresh_cygheap): New function.
* spawn.cc (spawn_guts): Call refresh_cygheap before creating a new process to
ensure that cygheap_max is up-to-date.
* fork.cc (frok::parent): Ditto.

13 years ago* cygheap.cc (cygheap_dummy): Rename from cygheap_at_start.
Christopher Faylor [Mon, 30 May 2011 06:24:53 +0000 (06:24 +0000)]
* cygheap.cc (cygheap_dummy): Rename from cygheap_at_start.
(cygheap): Accommodate name change to cygheap_dummy.
(cygheap_init): Ditto.
(cygheap_fixup_in_child): Simplify slightly.
* fork.cc (fork): Add an advisory comment.

13 years ago* fhandler.cc (fhandler_overlapped::wait_overlapped): Make sure that I/O is
Christopher Faylor [Sun, 29 May 2011 15:30:27 +0000 (15:30 +0000)]
* fhandler.cc (fhandler_overlapped::wait_overlapped): Make sure that I/O is
cancelled on signal.

13 years ago* ps.cc (ttynam): Accommodate new console numbering.
Christopher Faylor [Sun, 29 May 2011 15:20:10 +0000 (15:20 +0000)]
* ps.cc (ttynam): Accommodate new console numbering.
(main): Ditto.

13 years ago* dll_init.cc (dll_list::alloc): Initialize dll::image_size.
Christopher Faylor [Sat, 28 May 2011 20:55:34 +0000 (20:55 +0000)]
* dll_init.cc (dll_list::alloc): Initialize dll::image_size.
(reserve_at): Don't reserve space needed by the target dll if the latter
overlaps the free region to be blocked.
(dll_list::load_after_fork): Use new version of reserve_at.
* dll_init.h (dll::image_size): New member.
(pefile): New struct.

13 years agoRevert previous checkins as they introduced a bug when running zsh.
Christopher Faylor [Sat, 28 May 2011 20:41:51 +0000 (20:41 +0000)]
Revert previous checkins as they introduced a bug when running zsh.

13 years ago* dll_init.cc (reserve_upto): Remove.
Christopher Faylor [Sat, 28 May 2011 20:27:56 +0000 (20:27 +0000)]
* dll_init.cc (reserve_upto): Remove.
(release_upto): Ditto.
(dll_list::reserve_space): New function to reserve space needed by DLL_LOAD
dlls early in the fork process.
(dll_list::load_after_fork): Rewrite to use recursion for tracking reservations
made while trying to make dlls land where they belong.
(dll_list::load_after_fork_impl): Ditto.
(dll_list::alloc): Initialize image base field.
* dll_init.h (struct dll_list): declare new functions.
(dll::image_size): New member.

13 years ago* dll_init.cc (dll_list::find_by_modname): New function to search the dll list
Christopher Faylor [Sat, 28 May 2011 20:17:09 +0000 (20:17 +0000)]
* dll_init.cc (dll_list::find_by_modname): New function to search the dll list
for a module name only (no path).
(dll_list::alloc): Initialize newly-added members of struct dll.
(dll_list::append): New function to factor out the append operation
(used by dll_list::topsort).
(dll_list::populate_deps): New function to identify dll dependencies.
(dll_list::topsort): New function to sort the dll list topologically by
dependencies.
(dll_list::topsort_visit): New helper function for the above.
* dll_init.h (dll::ndeps): New class member.
(dll::deps): Ditto.
(dll::modname): Ditto.
(dll_list::find_by_modname): New function related to topsort.
(dll_list::populate_all_deps): Ditto.
(dll_list::populate_deps): Ditto.
(dll_list::topsort): Ditto.
(dll_list::topsort_visit): Ditto.
(dll_list::append): Ditto.
(pefile): New struct allowing simple introspection of dll images.
* fork.cc (fork): Topologically sort the dll list before forking.

13 years ago* dll_init.c (dll_list::load_after_fork): Don't clear in_forkee here.
Christopher Faylor [Sat, 28 May 2011 20:09:04 +0000 (20:09 +0000)]
* dll_init.c (dll_list::load_after_fork): Don't clear in_forkee here.
* fork.cc (frok::errmsg): Rename from 'error'.
(frok::error): New function.  Handle conditional printing of error messages.
(frok::parent): Record hchild handle for use by error function.  Use
throughout.  Use error function rather than setting error pointer directly.
(fork): Clear is_forkee here.  Accommodate rename of 'error' to 'errmsg'.
* sigproc.cc (child_info::proc_retry): Detect EXITCODE_FORK_FAILED.

13 years ago* fhandler.cc (handler_base_overlapped::wait_overlapped): Rework to attempt to
Christopher Faylor [Sat, 28 May 2011 18:49:13 +0000 (18:49 +0000)]
* fhandler.cc (handler_base_overlapped::wait_overlapped): Rework to attempt to
properly set errno and bytes read for non-blocking case.  Change to just rely
on res to indicate error conditions.

13 years ago* fhandler.cc (fhandler_base_overlapped::wait_overlapped): Don't set io_pending
Christopher Faylor [Sat, 28 May 2011 18:22:59 +0000 (18:22 +0000)]
* fhandler.cc (fhandler_base_overlapped::wait_overlapped): Don't set io_pending
unless ReadFile has returned an error.  (this is a partial fix, accidentally
checked in)

13 years ago* autoload.cc: Call _api_fatal in asm.
Christopher Faylor [Sat, 28 May 2011 18:17:09 +0000 (18:17 +0000)]
* autoload.cc: Call _api_fatal in asm.
* child_info.h: Redefine CURR_CHILD_INFO_MAGIC.
(child_info_fork::abort): Rename from handle_failure.  Change arguments.
* cygtls.h (_local_storage::ttybuf): New field.
* dcrt0.cc (vapi_fatal): Split api_fatal.  Add "in forked process" to message
when appropriate.
(api_fatal): Use vapi_fatal.
* devices.h: Make multiple inclusion safe.
(fh_devices): Add FH_CONS* stuff.  Reorder slightly.
(device): Eliminate anonymous union.  Add more ways to access minor/major.
(device::setunit): Accommodate no-longer-anonymous union.
(device::is_fs): Ditto.
(device::is_fs_special): Ditto.
(device::major): New function.
(device::minor): Ditto.
(device::is_device): New function.
(device::not_device): Ditto.
(device::operator int): New operator.
(device::operator fh_devices): Ditto.
(device::operator bool): Ditto.
(device::operator DWORD): Ditto.
(device::operator =): Ditto.
(isproc_dev): New function.
(isprocsys_dev): Ditto.
(iscons_dev): Ditto.
(istty_slave_dev): Ditto.
* devices.in: Add new "/dev/cons*" strings.  Accommodate no-longer-anonymous
union throughout.
(BRACK): Use more precise method for initialization.
* devices.cc: Regenerate.
* dtable.cc (dtable::stdio_init): Use get_cttyp instead of get_tty.
(dtable::find_archetype): Use new DWORD operator in device to test archetypes.
(dtable::init_std_file_from_handle): Use different method to initialize 'dev'.
Adapt to different ctty handling and accommodate /dev/cons*.
(fh_alloc): Accommodate no-longer-anonymous union.  Adapt to new /dev/cons*.
(build_fh_pc): Make debugging output more useful.
* exceptions.cc (ctrl_c_handler): Use get_cttyp instead of get_tty.
* external.cc (fillout_pinfo): Accommodate new cons* stuff.
* fhandler.cc (fhandler_base::read): Eliminate is_slow() test.
* fhandler.h (fhandler_base::*): Adapt to changes in device.h.
(fhandler_*::is_slow): Delete.
( fhandler_proc::get_proc_fhandler): Return fh_devices type.
* fhandler_console.cc (open_shared_console): New function.
(console_unit): New class.
(console_unit::console_unit): New constructor.
(enum_windows): New function.  Declare as friend to console_unit.
(fhandler_console::set_unit): New function.
(fhandler_console::get_tty_stuff): Call set_unit to set the unit number and
determine if initialization is needed.  Eliminate flags parameter.
(tty_list::get_cttyp): Rename (sorta) from get_tty.  Return pointer to correct
tty_min.
(fhandler_console::open): Adapt to elimination of argument to get_tty_stuff.
(fhandler_console::output_tcsetattr): Properly detect error condition.
(fhandler_console::fixup_after_fork_exec): Adapt to get_tty_stuff() setting tc
automatically.
* fhandler_proc.cc: Use FH_BAD rather than 0 throughout where using fh_devices
enum.
(fhandler_proc::get_proc_fhandler): Return fh_devices.  Adapt to devices.h
changes.
* fhandler_process.cc: Adapt to devices.h changes.  Use FH_BAD rather than 0
throughout where using fh_devices enum.
* fhandler_procnet.cc: Ditto.
* fhandler_procsys.cc: Ditto.
* fhandler_procsysvipc.cc: Ditto.
* fhandler_tape.cc (fhandler_dev_tape::fhandler_dev_tape): Ditto.
* fhandler_termios.cc (handler_termios::bg_check): Use tc->ttyname() rather
than assuming that we can construct a tty.
* fhandler_tty.cc (fhandler_tty_master::fhandler_tty_master): Just return
get_minor() of dev.
(fhandler_pty_master::process_slave_output): Add slightly more debugging info.
(fhandler_tty_slave::fhandler_tty_slave): Change name from ntty to unit.
(fhandler_pty_master::open): Ditto.
(fhandler_tty_slave::ioctl): Adapt to change which causes ctty to represent a
complete device.
(fhandler_tty_master::init_console): Add debugging for failure path.
(fhandler_pty_master::setup): Use get_unit() to retrieve unit number rather
than relying on raw ntty.
(fhandler_pty_master::setup): Ditto.
* fhandler_virtual.h (virt_tab_t): Redefine fhandler as fh_devices.
* fork.cc: Remove obsolete vfork stuff.
(frok::child): Don't assume that a ctty == 0 is valid.
* mount.cc (mount_info::conv_to_win32_path): Adapt to device struct changes.
(mount_info::conv_to_win32_path): Ditto.
* path.cc (path_conv::check): Retrive major/minor numbers via a method rather
than accessing them directly from device.  Rely on dev operators to
set/retrieve device information as required by device struct change.
* path.h (isproc_dev): Move to devices.h.
(isprocsys_dev): Ditto.
(isvirtual_dev): Ditto.
(path_conv:{isdevice,isfifo,isspecial,iscygdrive,issocket,get_devn,get_unitn}):
Use device methods to access/manipulate devices.
* pinfo.cc (pinfo::exit): Don't assume that ctty == 0 is valid.  Use iscons_dev
to determine if a device is a console.
(_pinfo::_ctty): Use device::parse to generate tty/cons name.
(_pinfo::set_ctty): Don't assume that ctty == 0 is valid.  Remove redundant
info from debugging.
* shared.cc (offsets): Remove console offset.
* shared_info.h (shared_locations): Ditto.
* syscalls.cc (umask): Use device methods to manipulate device information.
(ctermid): Use device::parse to generate term device name.
* tlsoffsets.h: Regenerate.
* tty.cc (ttyslot): Return minor number of ctty since ctty now represents a
full device.
(tty::create_master): Set ctty to a complete device.
(tty_list::attach): Rework to detect new /dev/cons* stuff.
(tty_list::terminate): Adapt to changes to ctty.
(tty_list::init): Adapt to change to setntty - pass in device major number.
(tty::exists): Use get_unit() to retrive tty unit number.
(tty::open_mutex): Ditto.
(tty::open_inuse): Ditto.
(tty::create_inuse): Ditto.
(tty::get_event): Ditto.
(tty_min::ttyname): Define new function.
* tty.h (tty_min::ntty): Redefine as fh_devices.
(tty::exists): Use get_unit() to retrive tty unit number.
(tty::open_mutex): Ditto.
(tty::open_inuse): Ditto.
(tty::create_inuse): Ditto.
(tty::get_event): Ditto.
(tty_min::ttyname): Declare new function.
(tty::getntty): Declare as const.
(tty_list::operator []): Assure that only minor part of argument is used.
* dll_init.cc (dll_list::alloc): Detect mismatch of data segments early issuing
an explicit error message if necessary.
* heap.cc (heap_init): Adapt to changes from fork->handle_failure to
fork->abort.
* pinfo.h (EXITCODE_FORK_FAILED): New enum.  (from Ryan Johnson)
* sigproc.cc (child_info_fork::abort): Rename from handle_failure.  Change
arguments to allow passing in a printf-like message.
* winsup.h (api_fatal): Delete macro definition.
(api_fatal): Redefine from __api_fatal.
(vapi_fatal): Declare new function.
* include/sys/strace.h (strace_vprintf): Define new macro.
* ntdll.h (_SYSTEM_INFORMATION_CLASS): Add SystemHandleInformation.

13 years ago * v8500/sbrk.c (_sbrk): Tidy code.
Nick Clifton [Fri, 27 May 2011 10:46:48 +0000 (10:46 +0000)]
* v8500/sbrk.c (_sbrk): Tidy code.
Base start of heap on the "heap_start" symbol.

* libc/sys/sysnecv850/sbrk.c (_sbrk): Tidy code.
Base start of heap on the "heap_start" symbol.

13 years ago * shared.cc (offsets): Reorder so that console_state is lowest in
Corinna Vinschen [Fri, 27 May 2011 06:11:05 +0000 (06:11 +0000)]
* shared.cc (offsets): Reorder so that console_state is lowest in
memory.  Explain why.
(open_shared): Accommodate reordering of offsets array.
* shared_info.h (shared_locations): Reorder SH_SHARED_CONSOLE after
SH_MYSELF.

13 years ago * mount.h (MAX_MOUNTS): Raise to 64.
Corinna Vinschen [Thu, 26 May 2011 19:30:00 +0000 (19:30 +0000)]
* mount.h (MAX_MOUNTS): Raise to 64.

13 years agofix changelog typo
Eric Blake [Wed, 25 May 2011 21:32:26 +0000 (21:32 +0000)]
fix changelog typo

13 years ago* libc/string/strerror.c (_strerror_r): Report "Success" for 0.
Eric Blake [Wed, 25 May 2011 21:05:11 +0000 (21:05 +0000)]
* libc/string/strerror.c (_strerror_r): Report "Success" for 0.

13 years ago* new-features.sgml (ov-new1.7.10): Document strerror changes.
Eric Blake [Wed, 25 May 2011 19:08:46 +0000 (19:08 +0000)]
* new-features.sgml (ov-new1.7.10): Document strerror changes.

13 years agoperror: fix POSIX compliance and work with recent newlib change
Eric Blake [Wed, 25 May 2011 18:47:32 +0000 (18:47 +0000)]
perror: fix POSIX compliance and work with recent newlib change

* cygtls.h (strerror_r_buf): New buffer.
* errno.cc (strerror): Move guts...
(_strerror_r): ...to new function demanded by newlib.
(strerror_r): Don't clobber strerror buffer.
(_user_strerror): Drop unused declaration.
* tlsoffsets.h: Regenerate.

13 years agostrerror: allow user hook to comply with POSIX rules
Eric Blake [Wed, 25 May 2011 18:41:10 +0000 (18:41 +0000)]
strerror: allow user hook to comply with POSIX rules

* libc/string/strerror.c (strerror): Split body into...
(_strerror_r): ...new reentrant function.
* libc/string/u_strerr.c (_user_strerror): Update signature.
* libc/include/stdio.h (_strerror_r): New prototype.
* libc/posix/collate.c (__collate_err): Adjust callers.
* libc/stdio/perror.c (_perror_r): Likewise.
* libc/string/strerror_r.c (strerror_r): Likewise.
* libc/string/xpg_strerror_r.c (__xpg_strerror_r): Likewise.

13 years ago * init.cc (dll_entry): Reinstantiate wow64_test_stack_marker and
Corinna Vinschen [Wed, 25 May 2011 11:33:29 +0000 (11:33 +0000)]
* init.cc (dll_entry): Reinstantiate wow64_test_stack_marker and
previous stack tests.

13 years ago * legal.sgml: Drop an old paragraph. Reactivate copyright note for
Corinna Vinschen [Wed, 25 May 2011 06:29:22 +0000 (06:29 +0000)]
* legal.sgml: Drop an old paragraph.  Reactivate copyright note for
documentation.

13 years ago * posix.sgml (std-notes): Add missing <para>.
Corinna Vinschen [Wed, 25 May 2011 06:10:24 +0000 (06:10 +0000)]
* posix.sgml (std-notes): Add missing <para>.

13 years ago2011-05-24 Chris Sutcliffe <ir0nh34d@users.sourceforge.net>
Chris Sutcliffe [Tue, 24 May 2011 22:43:29 +0000 (22:43 +0000)]
2011-05-24  Chris Sutcliffe  <ir0nh34d@users.sourceforge.net>

        * include/stdlib.h (strtod): Declare as extern to resolve compilation issues.

        Thanks to cgf for the report.

13 years ago2011-05-24 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
Andreas Krebbel [Tue, 24 May 2011 16:13:30 +0000 (16:13 +0000)]
2011-05-24  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

    * config/tc-s390.c (md_gather_operands): Fix check for floating
    register pair operands.

2011-05-24  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

    * opcode/s390.h: Replace S390_OPERAND_REG_EVEN with
    S390_OPERAND_REG_PAIR.

2011-05-24  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

    * s390-opc.c: Replace S390_OPERAND_REG_EVEN with
    S390_OPERAND_REG_PAIR.  Fix INSTR_RRF_0UFEF instruction type.
    * s390-opc.txt: Fix cxr instruction type.

2011-05-24  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

    * gas/s390/esa-g5.d: Fix fp register pair operands.
    * gas/s390/esa-g5.s: Likewise.
    * gas/s390/zarch-z196.d: Likewise.
    * gas/s390/zarch-z196.s: Likewise.
    * gas/s390/zarch-z9-109.d: Likewise.
    * gas/s390/zarch-z9-109.s: Likewise.
    * gas/s390/zarch-z9-ec.d: Likewise.
    * gas/s390/zarch-z9-ec.s: Likewise.

13 years ago * mount.cc (mount_info::conv_to_win32_path): Remove unused code.
Corinna Vinschen [Tue, 24 May 2011 15:09:08 +0000 (15:09 +0000)]
* mount.cc (mount_info::conv_to_win32_path): Remove unused code.
* mount.h (class mount_info): Remove sys_mount_table_counter member.
* shared_info.h (class shared_info): Ditto.
(CURR_SHARED_MAGIC): Update.

13 years ago2011-05-24 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
Andreas Krebbel [Tue, 24 May 2011 13:33:56 +0000 (13:33 +0000)]
2011-05-24  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

* config/tc-s390.c (md_gather_operands): Emit an error for odd
numbered registers used as register pair operand.

2011-05-24  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

* opcode/s390.h: Add S390_OPCODE_REG_EVEN flag.

2011-05-24  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

* s390-opc.c: Add new instruction types marking register pair
operands.
* s390-opc.txt: Match instructions having register pair operands
to the new instruction types.

2011-05-24  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

* gas/s390/esa-g5.d: Fix register pair operands.
* gas/s390/esa-g5.s: Likewise.
* gas/s390/esa-z9-109.d: Likewise.
* gas/s390/esa-z9-109.s: Likewise.
* gas/s390/zarch-z196.d: Likewise.
* gas/s390/zarch-z196.s: Likewise.
* gas/s390/zarch-z9-109.d: Likewise.
* gas/s390/zarch-z9-109.s: Likewise.
* gas/s390/zarch-z900.d: Likewise.
* gas/s390/zarch-z900.s: Likewise.
* gas/s390/zarch-z990.d: Likewise.
* gas/s390/zarch-z990.s: Likewise.

13 years ago * pinfo.h (struct _pinfo): Reduce size of progname array slightly.
Corinna Vinschen [Tue, 24 May 2011 10:03:34 +0000 (10:03 +0000)]
* pinfo.h (struct _pinfo): Reduce size of progname array slightly.
Explain why.

13 years ago* cygtls.h (strerror_buf): Resize to allow '-'.
Eric Blake [Mon, 23 May 2011 21:03:06 +0000 (21:03 +0000)]
* cygtls.h (strerror_buf): Resize to allow '-'.

13 years agostrerror: match recent glibc changes
Eric Blake [Mon, 23 May 2011 20:43:06 +0000 (20:43 +0000)]
strerror: match recent glibc changes

* errno.cc (strerror): Print unknown errno as int.
(__xpg_strerror_r): Likewise, and don't clobber strerror buffer.

13 years agoFix typo in ChangeLog of previous commit
Chris Sutcliffe [Mon, 23 May 2011 20:10:41 +0000 (20:10 +0000)]
Fix typo in ChangeLog of previous commit

13 years ago2011-05-23 Chris Sutcliffe <ir0nh34d@users.sourceforge.net>
Chris Sutcliffe [Mon, 23 May 2011 20:04:12 +0000 (20:04 +0000)]
2011-05-23  Chris Sutcliffe  <ir0nh34d@users.sourceforge.net>

        * include/time.h (daytime, timezone, tzname): Rework guards to expose when
        compiles with __STRICT_ANSI__.

        Thanks to Felipe Contreras for the report.

13 years ago * fhandler_process.cc (thread_info::fill_if_match): Reformat.
Corinna Vinschen [Mon, 23 May 2011 08:53:25 +0000 (08:53 +0000)]
* fhandler_process.cc (thread_info::fill_if_match): Reformat.
(format_process_maps): Ditto.  Fetch pointer to procinfo structure
from mapped process.  Print info about global shared Cygwin regions.

13 years ago2011-05-22 Chris Sutcliffe <ir0nh34d@users.sourceforge.net>
Chris Sutcliffe [Mon, 23 May 2011 03:43:30 +0000 (03:43 +0000)]
2011-05-22  Chris Sutcliffe  <ir0nh34d@users.sourceforge.net>

        * include/stdlib.h (strtod): Remove possible static declaration to resolve
        issue with gcc.

        Thanks to Tobias Burnus for the report.

13 years ago2011-05-22 Chris Sutcliffe <ir0nh34d@users.sourceforge.net>
Chris Sutcliffe [Mon, 23 May 2011 03:30:01 +0000 (03:30 +0000)]
2011-05-22  Chris Sutcliffe  <ir0nh34d@users.sourceforge.net>

        * include/stdlib.h (_rotl, _lrotl, _rotr, _lrotr): Resolve conflict with gcc
        by wrapping the functions in brackets.

        Thanks to Kai Tietz for the report.

13 years ago2011-05-22 A.B., Khalid <abkhd@users.sourceforge.net>
Chris Sutcliffe [Mon, 23 May 2011 03:02:16 +0000 (03:02 +0000)]
2011-05-22  A.B., Khalid  <abkhd@users.sourceforge.net>

        * Makefile.in: Add support for msvcr100.dll.
        * msvcrt.def.in: Ditto.

13 years ago2011-05-22 Antoine LECA <antoinel@users.sourceforge.net>
Chris Sutcliffe [Mon, 23 May 2011 02:54:21 +0000 (02:54 +0000)]
2011-05-22  Antoine LECA  <antoinel@users.sourceforge.net>

        * mingwex/mingw-fseek.c: The anonymous union feature for LARGE_INTEGER is
        not always available, go the long way and use the explicit named union
        members, which are also declared in winnt.h.

13 years ago2011-05-22 Antoine LECA <antoinel@users.sourceforge.net>
Chris Sutcliffe [Mon, 23 May 2011 02:38:49 +0000 (02:38 +0000)]
2011-05-22  Antoine LECA  <antoinel@users.sourceforge.net>

        * mingwex/isblank.c:  Fix typo in declaration.

13 years ago2011-05-22 Antoine LECA <antoinel@users.sourceforge.net>
Chris Sutcliffe [Mon, 23 May 2011 01:01:18 +0000 (01:01 +0000)]
2011-05-22  Antoine LECA  <antoinel@users.sourceforge.net>

        * include/_mingw.h:  Define GCC system_header only if PCC is not defined.
        * include/stdlib.h:  Fix a long-standing typo which prevented correct use of
        the MB_CUR_MAX macro/variable when DECLSPEC is not supported and <stdlib.h>
        is included before <ctype.h>.

13 years ago2011-05-22 Chris Sutcliffe <ir0nh34d@users.sf.net>
Chris Sutcliffe [Mon, 23 May 2011 00:13:45 +0000 (00:13 +0000)]
2011-05-22  Chris Sutcliffe  <ir0nh34d@users.sf.net>

        * include/wingdi.h (GCP_RESULTSW):  Correct defintion.

        Thanks to Albrecht Schlosser for the report and the fix.

13 years ago2011-05-22 Chris Sutcliffe <ir0nh34d@users.sourceforge.net>
Chris Sutcliffe [Mon, 23 May 2011 00:03:22 +0000 (00:03 +0000)]
2011-05-22  Chris Sutcliffe  <ir0nh34d@users.sourceforge.net>

        * include/wchar.h: Include stdio.h to grab definition of FILENAME_MAX.

        Thanks to Jim Bell for the report and Greg Chicares for the fix.

13 years ago * fhandler_process.cc (struct dos_drive_mappings): Use malloc/free
Corinna Vinschen [Sat, 21 May 2011 15:57:16 +0000 (15:57 +0000)]
* fhandler_process.cc (struct dos_drive_mappings): Use malloc/free
rather than cmalloc/cfree.  Check return value from malloc before
using it.
(struct heap_info): Ditto.
(struct thread_info): Ditto.  Rename from stack_info.  Rename members
and local variables accordingly.
(thread_info::thread_info): Store stack and TEB addresses.
(thread_info::fill_if_match): Print "teb" if a TEB address has been
found.  Special case for WOW64, explain why.
(format_process_maps): Fetch PEB address.  Print MEM_RESERVE regions
with equal signs to distinguish them from PAGE_NOACCESS regions.  Fix
printing of 'p' and 's' to differ between MEM_PRIVATE and MEM_MAPPED
pages, as on Linux.  Print 'g' instead of 'p for PAGE_GUARD pages.
Print PEB and SharedUserData area if recognized.

13 years ago * miscfuncs.cc (CygwinCreateThread): Fix condition for adding the
Corinna Vinschen [Fri, 20 May 2011 19:00:51 +0000 (19:00 +0000)]
* miscfuncs.cc (CygwinCreateThread): Fix condition for adding the
guardsize to the stacksize.  Fix accompanying comment.

13 years ago * miscfuncs.cc (CygwinCreateThread): Add accidentally missing comment.
Corinna Vinschen [Fri, 20 May 2011 18:15:12 +0000 (18:15 +0000)]
* miscfuncs.cc (CygwinCreateThread): Add accidentally missing comment.

13 years ago * fhandler_process.cc (struct heap_info): Change type of base and end
Corinna Vinschen [Fri, 20 May 2011 18:07:52 +0000 (18:07 +0000)]
* fhandler_process.cc (struct heap_info): Change type of base and end
members to char *.  Print "shared" rather than "share".
(struct stack_info): New class to fetch process stack information.
(format_process_maps): Initialize and check for stack information.

13 years ago * miscfuncs.cc (thread_wrapper): Remove statements added for debugging
Corinna Vinschen [Fri, 20 May 2011 07:39:20 +0000 (07:39 +0000)]
* miscfuncs.cc (thread_wrapper): Remove statements added for debugging
purposes.

13 years ago * child_info.h (CURR_CHILD_INFO_MAGIC): Update.
Corinna Vinschen [Fri, 20 May 2011 07:23:11 +0000 (07:23 +0000)]
* child_info.h (CURR_CHILD_INFO_MAGIC): Update.
(class child_info_fork): Remove stacksize, add stackaddr and guardsize
members.
* dcrt0.cc (child_info_fork::alloc_stack_hard_way): Partial rewrite
to regenerate the stack exactly as in the parent.
(child_info_fork::alloc_stack): Set stackaddr to 0, rather than
stacksize.
(dll_crt0_1): Check for stackaddr before changing the stack addresses
in the TEB.
* fork.cc (frok::child): Check for stackaddr here.
(frok::parent): Set ch.stackaddr and ch.guardsize if not called from
the main thread.
* init.cc (dll_entry): Replace pointer to NT_TIB with pointer to TEB.
Fix incorrectly changed address test before removing _my_tls.
Set StackLimit to NULL on Windows 2000.  Explain why.
* miscfuncs.cc (struct thread_wrapper_arg): Store stackbase rather
than stacksize, store commitaddr, remove guardsize.  Store all pointers
as char * for easier address arithmetic.
(thread_wrapper): Rewrite to remove OS stack before calling thread
function.  Add lots of comments to explain what we do.
(CygwinCreateThread): Reserve our own stack in case we got no
application stack.  Add comments.
* ntdll.h (struct _TEB): Extend defintion up to DeallocationStack
member.
* thread.cc (pthread_attr::pthread_attr): Use "(size_t) -1"
rather then 0xffffffff.
* wincap.h (wincaps::has_stack_size_param_is_a_reservation): New
element.
* wincap.cc: Implement above element throughout.

This page took 0.079369 seconds and 5 git commands to generate.