Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--winsup/cygwin/ChangeLog8
-rw-r--r--winsup/cygwin/fhandler.cc7
-rw-r--r--winsup/cygwin/globals.cc5
-rw-r--r--winsup/cygwin/winsup.h1
4 files changed, 13 insertions, 8 deletions
diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog
index a0bcb59a3..bb091f06c 100644
--- a/winsup/cygwin/ChangeLog
+++ b/winsup/cygwin/ChangeLog
@@ -1,3 +1,11 @@
+2011-11-03 Corinna Vinschen <corinna@vinschen.de>
+
+ * fhandler.cc (off_current): Define local in fhandler_base::raw_write.
+ Drop erroneous NO_COPY, add _RDATA to make R/O.
+ (off_append): Ditto.
+ * globals.cc (_RDATA): Move definition from here...
+ * winsup.h: ...to here.
+
2011-10-30 Christopher Faylor <me.cygwin2011@cgf.cx>
* fhandler.h (fhandler_pipe::create_selectable): Remove optional
diff --git a/winsup/cygwin/fhandler.cc b/winsup/cygwin/fhandler.cc
index ee5a0c8c5..58335b52c 100644
--- a/winsup/cygwin/fhandler.cc
+++ b/winsup/cygwin/fhandler.cc
@@ -275,14 +275,15 @@ retry:
/* Cover function to WriteFile to provide Posix interface and semantics
(as much as possible). */
-static NO_COPY LARGE_INTEGER off_current = { QuadPart:FILE_USE_FILE_POINTER_POSITION };
-static NO_COPY LARGE_INTEGER off_append = { QuadPart:FILE_WRITE_TO_END_OF_FILE };
-
ssize_t __stdcall
fhandler_base::raw_write (const void *ptr, size_t len)
{
NTSTATUS status;
IO_STATUS_BLOCK io;
+ static _RDATA LARGE_INTEGER off_current =
+ { QuadPart:FILE_USE_FILE_POINTER_POSITION };
+ static _RDATA LARGE_INTEGER off_append =
+ { QuadPart:FILE_WRITE_TO_END_OF_FILE };
status = NtWriteFile (get_output_handle (), NULL, NULL, NULL, &io,
(PVOID) ptr, len,
diff --git a/winsup/cygwin/globals.cc b/winsup/cygwin/globals.cc
index 0b2ed573c..e678c2c48 100644
--- a/winsup/cygwin/globals.cc
+++ b/winsup/cygwin/globals.cc
@@ -70,9 +70,6 @@ bool NO_COPY _cygwin_testing;
char NO_COPY almost_null[1];
-/* Define globally used, but readonly variables using the _RDATA attribute. */
-#define _RDATA __attribute__ ((section(".rdata")))
-
/* Heavily-used const UNICODE_STRINGs are defined here once. The idea is a
speed improvement by not having to initialize a UNICODE_STRING every time
we make a string comparison. The strings are not defined as const,
@@ -123,8 +120,6 @@ cygwin_props_t _RDATA cygwin_props =
0
};
-#undef _RDATA
-
extern "C"
{
/* This is an exported copy of environ which can be used by DLLs
diff --git a/winsup/cygwin/winsup.h b/winsup/cygwin/winsup.h
index a7b828580..8ca97b7cf 100644
--- a/winsup/cygwin/winsup.h
+++ b/winsup/cygwin/winsup.h
@@ -23,6 +23,7 @@ details. */
#define NO_COPY __attribute__((nocommon)) __attribute__((section(".data_cygwin_nocopy")))
#define NO_COPY_INIT __attribute__((section(".data_cygwin_nocopy")))
+#define _RDATA __attribute__ ((section(".rdata")))
#define EXPORT_ALIAS(sym,symalias) extern "C" __typeof (sym) symalias __attribute__ ((alias(#sym)));