* cygtls.cc (_cygtls::remove): Don't test for initialization since this
function will always be called when _my_tls is initialized.
* init.cc (dll_entry): Don't attempt to remove tls info if _my_tls is obviously
not even available.
* sigproc.cc (no_signals_available): Detect hwait_sig == INVALID_HANDLE_VALUE.
(wait_sig): Set hwait_sig to INVALID_HANDLE_VALUE on __SIGEXIT.
* cygtls.cc (_cygtls::init_thread): Zero entire _my_tls structure and no more.
* cygtls.h (_my_tls::padding): Delete.
(CYGTLS_PADSIZE): Redefine concept of padding to mean padding at the end of the
stack.
* dcrt0.cc (initialize_main_tls): Change return to void.
* gentls_offsets: Treat const specially, too. Keep going after a '}' is found.
Change negative offset calculation to use CYGTLS_PADSIZE.
* init.cc (_my_oldfunc): New variable.
(threadfunc_fe): Use stored tls value for oldfunc rather than blindly writing
to the stack.
(munge_threadfunc): Set oldfunc in tls.
(dll_entry): Initialize tls allocation.
* tlsoffsets.h: Regenerate.
* include/rtutils.h (TraceDumpA,TraceDumpW,TracePutsA,TracePutsW)
(TraceRegisterA,TraceRegisterW,TraceVprintfA,TraceVprintfW): Define
as macros.
Thanks to: Bruce M Simpson <bms_spc at sf dot net>
* lib/rtutils.def: New file. Generated on Windows XP.
(TracePrintf{AW},TracePrintfEx{AW}): Left out for now.
* include/rtutils.h: New file.
(TraceDump{AW},TracePuts{AW},TraceRegister{AW},TraceVprintf{AW}):
Commented out, they're missing from rtutils.def.
* include/strmif.h (IAMAnalogVideoDecoder,IAMAudioInputMixer)
(IAMAudioRendererStats,IAMBufferNegotiation,IAMCameraControl)
(IAMCertifiedOutputProtection): Add interfaces.
* include/adsprop.h: New file.
* include/cmnquery.h: New file.
* include/dsadmin.h: New file.
* include/dsclient.h: New file.
* include/dsgetdc.h: New file.
* include/dsquery.h: New file.
* include/dsrole.h: New file.
* include/ntdsapi.h: New file.
* include/ntdsbcli.h: New file.
* include/objsel.h: New file.
Not finished. Just wanted to submit this before I'm disembarked
from the project, so that the work isn't lost...
* include/amvideo.h (BIT_MASKS_MATCH): Don't use memcmp to
avoid dependency on <string.h>.
There's no Win32 equivalent for memcmp:
http://support.microsoft.com/default.aspx?scid=kb;EN-US;q99456
* include/amvideo.h (RESET_MASKS,RESET_PALETTE): Use ZeroMemory instead
of memset to avoid <string.h>. Still need a fix for memcmp.
* include/dshow.h (AM_ASPECT_RATIO_MODE,AM_WST_DRAWBGMODE,AM_WST_LEVEL)
(AMExtendedSeekingCapabilities,AM_WST_SERVICE,AM_WST_STATE)
(AM_WST_STYLE): Add enums.
(AM_WST_PAGE,AMVABeginFrameInfo,AMVACompBufferInfo,AMVAEndFrameInfo,
AMVAInternalMemInfo,AMVAUncompBufferInfo,AMVAUncompDataInfo): New
structures.
* include/errors.h (VFW_*): Define.
* include/evcode.h (AM_WMT_EVENT_DATA): New structure.
* include/mmsystem.h (WAVE_FORMAT_EXTENSIBLE): Define.
* include/edevdefs.h (ED_FORMAT_SMPTE_30,ED_FORMAT_SMPTE_30DROP)
(ED_FORMAT_SMPTE_25,ED_FORMAT_SMPTE_24): Move from here...
* include/strmif.h: ... to here. New file.
* include/aviriff.h: New file.
* include/bdatypes.h: New file.
* include/control.h: New file.
* include/dvdmedia.h: New file.
* include/il21dec.h: New file.
* include/ks.h: New file.
* include/ksmedia.h: New file.
* include/mmreg.h: New file.
* include/mpegtype.h: New file.
* include/vidcap.h: New file.
* include/vmr9.h: New file.
* include/vptype.h: New file.
* include/xprtdefs.h: New file.
* include/winnls.h [WINVER >= 0x0500] (LOCALE_IDEFAULTEBCDICCODEPAGE):
Documented as defined on Windows 2000 or later.
[WINVER >= 0x0600] (LOCALE_SDURATION,LOCALE_SIETFLANGUAGE)
(LOCALE_SISO3166CTRYNAME2,LOCALE_SISO639LANGNAME2)
(LOCALE_SKEYBOARDSTOINSTALL,LOCALE_SNAME,LOCALE_SNAN)
(LOCALE_SNEGINFINITY,LOCALE_SPOSINFINITY,LOCALE_SSCRIPTS): Documented
but values unknown, Windows Vista or later.
(CAL_UMALQURA): Cleanup.
(CAL_SSHORTESTDAYNAME_*): Cleanup.
[WINVER >= 0x0410] (CAL_SYEARMONTH,CAL_ITWODIGITYEARMAX)
(CAL_NOUSEROVERRIDE,CAL_RETURN_NUMBER,CAL_USE_CP_ACP): Cleanup.
* include/winnls.h (CAL_SYEARMONTH,CAL_ITWODIGITYEARMAX,
CAL_NOUSEROVERRIDE, CAL_RETURN_NUMBER,CAL_USE_CP_ACP): Documented
as available on Windows 98 and better.
(CAL_UMALQURA,CAL_SSHORTESTDAYNAME*): Define, Windows Vista and better.
* include/winuser.h (MOUSEEVENTF_*): Cleanup and new define.
(HSHELL_*): Cleanup and new define.
(SMTO_*): Cleanup and new define.
(SPI_*): Cleanup and new define.
(SPIF_*): Cleanup.
(HWND_MESSAGE): Windows 2000 only.
(SIF_*): Cleanup.
(SWP_*): Cleanup.
* include/wingdi.h (ETO_*): Cleanup and new define.
* include/mprapi.h: New file.
* include/routprot.h: New file.
* include/ipxrtdef.h: New file.
* include/ipxconst.h: New file.
* include/stm.h: New file.
[ gas/ChangeLog ]
2006-04-30 Thiemo Seufer <ths@mips.com>
David Ung <davidu@mips.com>
* config/tc-mips.c (validate_mips_insn): Handling of udi cases.
(mips_immed): New table that records various handling of udi
instruction patterns.
(mips_ip): Adds udi handling.
[ include/opcode/ChangeLog ]
2006-04-30 Thiemo Seufer <ths@mips.com>
David Ung <davidu@mips.com>
* mips.h: Defines udi bits and masks. Add description of
characters which may appear in the args field of udi
instructions.
[ opcodes/ChangeLog ]
2006-04-30 Thiemo Seufer <ths@mips.com>
David Ung <davidu@mips.com>
* mips-opc.c (mips_builtin_opcodes): Add udi instructions
"udi0" to "udi15".
* mips-dis.c (print_insn_args): Adds udi argument handling.
* include/ipifcons.h (MIN_IF_TYPE,IF_TYPE_*,MAX_IF_TYPE,IF_ACCESS_*,
IF_CHECK_*,IF_CONNECTION_*,IF_ADMIN_*,IF_OPER_*): Define.
* include/winbase.h (CancelWaitableTimer,UnregisterWait):
Add function declaration.
* include/mgm.h: New file.
* lib/rtm.def: New file.
Thanks to: Bruce M Simpson <bms_spc at sf dot net>
* fhandler.h (fhandler_base): Change fstat_helper prototype
to take file size and inode number as 64 bit values.
* fhandler_disk_file.cc (FS_IS_SAMBA): Move to path.cc
(FS_IS_SAMBA_WITH_QUOTA): Ditto.
(path_conv::hasgood_inode): Delete.
(path_conv::is_samba): Delete.
(path_conv::isgood_inode): Centralized function to recognize
a good inode number.
(fhandler_base::fstat_by_handle): Constify fvi_size and fai_size.
Accomodate argument change in fstat_helper.
(fhandler_base::fstat_by_name): Ditto.
(fhandler_base::fstat_helper): Accomodate argument change. Call
path_conv::isgood_inode to recognize good inodes.
(fhandler_disk_file::opendir): Explain Samba weirdness here.
Call path_conv::fs_is_samba instead of path_conv::is_samba.
(fhandler_disk_file::readdir): Add STATUS_INVALID_INFO_CLASS
as valid return code from NtQueryDirectoryFile to indicate that
FileIdBothDirectoryInformation is not supported.
Call path_conv::isgood_inode to recognize good inodes.
* ntdll.h (STATUS_INVALID_INFO_CLASS): Define.
* path.cc (fs_info::update): Rework file system recognition
and set appropriate flags.
* path.h (struct fs_info): Add is_ntfs, is_samba and is_nfs flags.
Constify pure read accessors.
* include/ws2tcpip.h (gai_strerror): Remove thread-safety comment.
This function cannot be made thread-safe, the API would have to be
changed for that, just like strerror() -> strerror_r() and similar
ISO C or POSIX functions...
* environ.cc (rawenv): Make this variable a file-scope static.
(getearly): Rename 's' variable to 'len' since 's' is used fairly consistently
throughout cygwin as a string variable. Remove rawenv declaration. Perform
other minor cleanups.
(environ_init): Remove rawenv declaration. Only set rawenv to
GetEnvironmentStrings() if it has not already been set. Properly free rawenv
in all cases.
* tty.h (tty::hwnd): Move to tty_min.
(tty::gethwnd): Ditto.
(tty::sethwnd): Ditto.
(tty_min::hwnd): Receive variable from tty class.
(tty_min::gethwnd): Receive function from tty classs.
(tty_min::sethwnd): Ditto.
* dtable.cc (dtable::stdio_init): Only call init_console_handler when we
actually own the console.
* fhandler_console.cc (fhandler_console::get_tty_stuff): Set tty's hwnd to
non-zero value.
* fhandler_termios.cc (fhandler_termios::tcsetpgrp): Semi-reinstate handling of
console when pgrp is set.
* environ.cc (getearly): New function.
(findenv_func): New function pointer, predefined to getearly.
(getenv): Call findenv function over the findenv_func pointer.
(environ_init): Change findenv_func pointer to my_findenv after Cygwin
environment is initialized.
* include/mmsystem.h (_LPCWAVEFORMATEX_DEFINED): Define.
Use as guard for the WAVEFORMATEX structure instead of
_WAVEFORMATEX_ to avoid clashes with DirectSound. Keep
_WAVEFORMATEX_ for compatibility.
Thanks to: Andrew Jones <guln at sf dot net>
* include/winuser.h (CharNextEx,CharNextExW,CharPrevEx,CharPrevExW):
Delete. Only CharNextExA and CharPrevExA are documented in MSDN.
Thanks to: David Golub <david_golub at sf dot net>