Jeff Johnston [Fri, 21 Sep 2007 21:14:41 +0000 (21:14 +0000)]
2007-09-21 Patrick Mansfield <patmans@us.ibm.com>
* spu/Makefile.in: Add new files.
* spu/jsre.h: Add JSRE_PREAD, JSRE_PWRITE, JSRE_READV, and
JSRE_WRITEV opcodes.
* spu/pread.c: New file to add pread via assist call.
* spu/pwrite.c: New file to add pwrite via assist call.
* spu/readv.c: New file to add readv via assist call.
* spu/writev.c: New file to add writev via assist call.
Jeff Johnston [Fri, 21 Sep 2007 21:06:58 +0000 (21:06 +0000)]
2007-09-21 Patrick Mansfield <patmans@us.ibm.com>
* spu/jsre.h: Add JSRE_SCHED_YIELD, JSRE_UMASK, JSRE_UTIME, and
JSRE_UTIMES.
* spu/sched_yield.c: New file add sched_yield via assist call.
* spu/umask.c: New file add umask via assist call.
* spu/utime.c: New file add utime via assist call.
* spu/utimes.c: New file add utimes via assist call.
* spu/Makefile.in: Add new files.
Jeff Johnston [Fri, 21 Sep 2007 21:02:15 +0000 (21:02 +0000)]
2007-09-21 Patrick Mansfield <patmans@us.ibm.com>
* libc/include/sched.h: New file, just include sys/sched.h.
* libc/machine/spu/sys/sched.h: New file, has just sched_yield
prototype.
* libc/machine/spu/sys/utime.h: New file, has utime prototype and
struct utimbuf definition.
Jeff Johnston [Fri, 21 Sep 2007 20:45:17 +0000 (20:45 +0000)]
2007-09-21 Patrick Mansfield <patmans@us.ibm.com>
* spu/jsre.h: Add JSRE_SHM_OPEN and JSRE_SHM_UNLINK opcodes.
* spu/shm_open.c: New file to add shm_open via assist call.
* spu/shm_unlink.c: New file to add shm_unlink via assist call.
* spu/Makefile.in: Add shm_open.o and shm_unlink.o
Jeff Johnston [Fri, 21 Sep 2007 20:40:52 +0000 (20:40 +0000)]
2007-09-21 Patrick Mansfield <patmans@us.ibm.com>
* spu/dirfuncs.c: New file, holds the opendir, closedir, readdir,
rewinddir, seekdir and telldir implementations. These are
grouped in one file so that we do not need a separate file for
the struct dirent and DIR allocation code.
* spu/jsre.h: Add JSRE_OPENDIR and other dir opcodes.
* spu/Makefile.in: Add dirfuncs.o.
Jeff Johnston [Tue, 18 Sep 2007 20:05:17 +0000 (20:05 +0000)]
2007-09-18 Patrick Mansfield <patmans@us.ibm.com>
* libc/include/sys/types.h: Use __dev_t, __uid_t, and __gid_t to
typedef dev_t, gid_t, and uid_t.
* libc/include/sys/_types.h: Move previous dev_t, uid_t and gid_t
types.h code to here, but typedef __dev_t, __uid_t, and __gid_t instead.
Change to lower case for all __foo_t_defined names.
* libc/machine/spu/machine/_types.h: Add SPU specific __dev_t,
__uid_t, and __gid_t making them all four bytes. Change to lower case
for all __foo_t_defined names.
Jeff Johnston [Tue, 18 Sep 2007 19:32:43 +0000 (19:32 +0000)]
2007-09-18 Jeff Johnston <jjohnstn@redhat.com>
* libc/reent/renamer.c: New file.
* libc/reent/Makefile.am: Add new file.
* libc/reent/Makefile.in: Regenerated.
* libc/stdio/rename.c: Break out _rename_r code into reent/renamer.c
and add check for rename syscall.
* mmap.cc (fh_disk_file): Delete as global static variable and...
(mmap64): ...define as local pointer to make mmap thread-safe.
Accommodate throughout. Only initialize fh_disk_file after file could
be opened with GENERIC_EXECUTE access. Call fstat_by_handle instead of
fstat to avoid overhead.
* ldexp.c (fold_binary): Set expld.dataseg.relro to
exp_dataseg_relro_start or exp_dataseg_relro_end when
seeing DATA_SEGMENT_ALIGN or DATA_SEGMENT_RELRO_END,
respectively.
* ldlang.c (lang_size_sections_1): Properly set
expld.dataseg.relro_start_stat and
expld.dataseg.relro_end_stat.
(find_relro_section_callback): New function.
(lang_find_relro_sections_1): Likewise.
(lang_find_relro_sections): Likewise.
(lang_process): Call lang_find_relro_sections for
non-relocatable link.
ld/testsuite/
2007-09-17 H.J. Lu <hongjiu.lu@intel.com>
PR binutils/3281
PR binutils/5037
* ld-elf/binutils.exp: Update "-z relro" tests to use relro1.s.
Add "-z relro" tests with relro2.s. Add "-z relro" tests with
TLS for objcopy.
* ld-elf/relro1.s: New file.
* ld-elf/relro2.s: Likewise.
Eric Blake [Mon, 17 Sep 2007 20:14:29 +0000 (20:14 +0000)]
Obey POSIX on printf("%.s", (char*)NULL).
* libc/stdio/vfprintf.c (_VFPRINTF_R): Take precision into account
for %s on NULL. Skip NULL check when optimizing for size.
* fhandler.cc (fhandler_base::open): Partly revert change from
2007-08-24: Call has_acls to avoid permission problems getting
a handle to a file on a remote share. Add comment.
* configure.ac (mips*-sde-elf*): New stanza. Add target-libiberty
to $skipdirs and only disable gprof for newlib. Use the normal
mips*-elf* handling in other respects.
* configure: Regnerate.
* configure.ac (--enable-stage1-checking): If neither --enable-checking
nor --disable-checking is provided also turn on yes and types
checking for stage1.
* configure: Re-generate.
DJ Delorie [Tue, 11 Sep 2007 00:22:05 +0000 (00:22 +0000)]
2007-09-10 Rask Ingemann Lambertsen <rask@sygehus.dk>
PR other/32154
* configure.ac: For libgloss targets, point the linker to the linker
script, startup code and simulator library.
* configure: Regenerate.
Jeff Johnston [Fri, 7 Sep 2007 21:16:25 +0000 (21:16 +0000)]
2007-09-07 Patrick Mansfield <patmans@us.ibm.com>
* libc/include/machine/_default_types.h: New file, contains what
was previously in libc/include/machine/_types.h.
* libc/include/machine/_types.h: Now only includes
machine/_default_types.h.
* libc/include/sys/reent.h: Remove _fpos_t and _fpos64_t.
* libc/include/sys/_types.h: Move _fpos_t and _fpos64_t to here,
with conditional declarations.
* libc/machine/spu/machine/_types.h: New file, add SPU specific
typedefs for _fpos_t and _fpos64_t.
Corinna Vinschen [Thu, 23 Aug 2007 07:43:24 +0000 (07:43 +0000)]
* ntdll.h (STATUS_NO_SUCH_FILE): Define.
* path.cc (get_nt_native_path): Reset upath.Length to 0 on each
invocation.
(symlink_info::check): Use NT native functions.
Corinna Vinschen [Tue, 21 Aug 2007 12:37:40 +0000 (12:37 +0000)]
* ntdll.h (NtNotifyChangeDirectoryFile): Declare.
(NtQueryAttributesFile): Move to maintain alphabetical order of
declarations. Add comment to note that timestamp information returned
by NtQueryAttributesFile is unreliable.
* path.h (etc::changed_h): Move here.
(etc::fn): Change type to OBJECT_ATTRIBUTES.
(etc::last_modified): Change type to LARGE_INTEGER.
(etc::init): Take PUNICODE_STRING as second argument.
* path.cc: Accomodate above changes.
(etc::test_file_change): Use NT native functions.
(etc::dir_changed): Ditto.
* uinfo.cc (pwdgrp::load): Call etc::init with NT native path.
Corinna Vinschen [Fri, 17 Aug 2007 19:58:57 +0000 (19:58 +0000)]
* autoload.cc (CloseDesktop): Define.
(CreateDesktopA): Define.
(SetThreadDesktop): Define.
* spawn.cc (spawn_guts): When starting a process under another user
account, don't open up permissions on current window station and
desktop. Instead, if not in interactive session, create a new per-user
window station plus default desktop and use that for the child process.
Corinna Vinschen [Thu, 16 Aug 2007 16:59:25 +0000 (16:59 +0000)]
* fhandler_disk_file.cc (fhandler_disk_file::fchmod): Handle S_IFSOCK
mode bit by setting the SYSTEM attribute.
* fhandler_socket.cc (fhandler_socket::fchmod): Add S_IFSOCK mode bit
when calling fhandler_disk_file::fchmod. Don't set attributes here.
H.J. Lu [Thu, 16 Aug 2007 13:38:09 +0000 (13:38 +0000)]
bfd/
2007-08-16 H.J. Lu <hongjiu.lu@intel.com>
* elf.c (get_segment_type): Change PT_GNU_STACK to PT_GNU_ATTR.
(bfd_section_from_phdr): Likewise.
(get_program_header_size): Likewise. Add a PT_GNU_ATTR segment
if there is an attribute section.
(_bfd_elf_map_sections_to_segments): Likewise.
(IS_SECTION_IN_INPUT_SEGMENT): Likewise.
binutils/
2007-08-16 H.J. Lu <hongjiu.lu@intel.com>
* readelf.c (get_segment_type): Change PT_GNU_STACK to
PT_GNU_ATTR.
include/elf/
2007-08-16 H.J. Lu <hongjiu.lu@intel.com>
* common.h (PT_GNU_STACK): Renamed to ...
(PT_GNU_ATTR): This.
(PT_GNU_STACK): New. Make an alias of PT_GNU_ATTR.
Corinna Vinschen [Thu, 16 Aug 2007 10:41:45 +0000 (10:41 +0000)]
* ntdll.h (RtlCreateUnicodeStringFromAsciiz): Fix declaration.
(RtlUpcaseUnicodeChar): Declare.
* path.cc (hash_path_name): Split into three functions, taking
the path as char *, PWCSTR, or PUNICODE_STRING. Move implementation
into PUNICODE_STRING-based function. Drop old drive-relative path
consideration.
* winsup.h (iswdirsep): Like isdirsep but for WCHARs.
(isabspath_u): Like isabspath, for PUNICODE_STRINGs.
(iswabspath): Like isabspath, for PWCHARs.
(hash_path_name): Add new declarations.
Corinna Vinschen [Wed, 15 Aug 2007 16:27:09 +0000 (16:27 +0000)]
* path.cc (get_nt_native_path): Allow to convert special paths which
have no native NT path representation for simplified debug output.
* syscalls.cc: Convert debug output to print native NT path.
(unlink): Drop redundant debug output.
Corinna Vinschen [Wed, 15 Aug 2007 15:17:05 +0000 (15:17 +0000)]
* fhandler_socket.cc (get_inet_addr): Use NT native functions for
accessing the file representing the local socket.
(fhandler_socket::bind): Ditto.
* ntdll.h: Declare NtReadFile.
Corinna Vinschen [Tue, 14 Aug 2007 14:48:52 +0000 (14:48 +0000)]
* fhandler.h (fhandler_base::pc): Make public.
* fhandler_disk_file.cc (fhandler_disk_file::link): Drop extern
declaration of stat_suffixes. Use NT native path in debug output.
(fhandler_base::utimes_fs): Simplify closeit case. Use close_fs
to close newly opened file handle.
(fhandler_base::open_fs): Use NT native path in debug output.
* path.cc: Throughout drop extern declaration of stat_suffixes.
* path.h (stat_suffixes): Declare.
* sec_acl.cc (acl_worker): Drop extern declaration of stat_suffixes.
* times.cc (utimes_worker): Take path_conv as parameter instead of
single-byte pathnam, drop nofollow argument, accommodate throughout.
Compare UNICODE paths when enumerating file descriptors. Fix
formatting. Use NT native path in debug output.
Corinna Vinschen [Mon, 13 Aug 2007 19:44:31 +0000 (19:44 +0000)]
* mmap.cc: Call NtClose instead of CloseHandle throughout.
(CreateMapping): Drop unused last argument. Accommodate throughout.
(mmap64): Re-open file with execute permissions using NtOpenFile.
Corinna Vinschen [Mon, 13 Aug 2007 17:16:05 +0000 (17:16 +0000)]
* Makefile.in (DLL_OFILES): Remove delqueue.o.
* delqueue.cc: Delete.
* fhandler.h (fhandler_base::close_fs): Drop declaration.
(fhandler_disk_file::close): Drop declaration.
* fhandler_disk_file.cc (fhandler_base::fstat_fs): Call close instead of
close_fs.
(fhandler_base::fstat_helper): Use open FH_UNIX handle in call to
get_file_attribute.
(fhandler_base::open_fs): Call close instead of get_file_attribute.
(fhandler_disk_file::close): Remove.
(fhandler_base::close_fs): Remove.
* fhandler_socket.cc (fhandler_socket::close): Just call
fhandler_base::close for FH_UNIX sockets.
* shared.cc (user_shared_initialize): Drop call to
user_shared->delqueue.init.
* shared_info.h (CURR_USER_MAGIC): Change according to below change.
(MAX_DELQUEUES_PENDING): Remove.
(class delqueue_list): Remove.
(class user_info): Remove delqueue.
* syscalls.cc (close_all_files): Drop call to
user_shared->delqueue.process_queue.
(unlink): Drop delqueue handling.
Corinna Vinschen [Mon, 13 Aug 2007 15:08:25 +0000 (15:08 +0000)]
* devices.in (dev_storage): Use native NT device name for kmsg mailslot.
* devices.cc: Regenerate.
* fhandler.cc (fhandler_base::operator =): Use path_conv assignment
operator.
(fhandler_base::set_name): Ditto.
(fhandler_base::open): Use NT native path in debug output.
* fhandler_mailslot.cc: Convert to NT native function calls.
* ntdll.h (struct _FILE_MAILSLOT_SET_INFORMATION): Define.
(NtCreateMailslotFile): Declare.
* path.cc (path_conv::set_normalized_path): Don't set wide_path to NULL.
(path_conv::set_name): Remove unused function.
* path.h (path_conv::set_name): Drop declaration.
(path_conv::operator =): Define.
Corinna Vinschen [Sun, 12 Aug 2007 12:48:02 +0000 (12:48 +0000)]
* ntdll.h: Add descriptive comments to special Rtl functions.
(STATUS_OBJECT_PATH_NOT_FOUND): Define.
(STATUS_BUFFER_OVERFLOW): Define.
(FILE_SUPERSEDED): Define.
(FILE_OPENED): Define.
(FILE_CREATED): Define.
(FILE_OVERWRITTEN): Define.
(FILE_EXISTS): Define.
(FILE_DOES_NOT_EXIST): Define.
(PIO_APC_ROUTINE): Typedef.
(NtFsControlFile): Fix parameter types to use PIO_APC_ROUTINE.
(NtWriteFile): Declare.
(RtlInt64ToHexUnicodeString): Declare.
* strfuncs.cc: Include ntdll.h.
(RtlInt64ToHexUnicodeString): New function.
* syscalls.cc (try_to_bin): Rewrite using native NT functions.
Only try to create recycle bin after unsuccessfully trying to move
file. Also try to create special files in recycle bin so that Windows
Explorer isn't unnecessarily stampeded.