This is the mail archive of the
newlib@sourceware.org
mailing list for the newlib project.
[PATCH, AArch64] Define ssize_t as long
- From: Yufeng Zhang <Yufeng dot Zhang at arm dot com>
- To: newlib at sourceware dot org
- Date: Thu, 13 Dec 2012 19:09:26 +0000
- Subject: [PATCH, AArch64] Define ssize_t as long
Hi,
The attached patch adds to the AArch64 port a machine specific _types.h
file to define _ssize_t as long (instead of int by default). With this
patch, ssize_t will have the same size as the type size_t on AArch64.
Is it OK?
Thanks,
Yufeng
newlib/
2012-12-13 Yufeng Zhang <yufeng.zhang@arm.com>
* libc/machine/aarch64/machine/_types.h: New file; define _ssize_t
as long.
diff --git a/newlib/libc/machine/aarch64/machine/_types.h b/newlib/libc/machine/aarch64/machine/_types.h
new file mode 100644
index 0000000..7df9f8d
--- /dev/null
+++ b/newlib/libc/machine/aarch64/machine/_types.h
@@ -0,0 +1,37 @@
+/*
+ Copyright (c) 2012 ARM Ltd
+ All rights reserved.
+
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions
+ are met:
+ 1. Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+ 2. Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+ 3. The name of the company may not be used to endorse or promote
+ products derived from this software without specific prior written
+ permission.
+
+ THIS SOFTWARE IS PROVIDED BY ARM LTD ``AS IS'' AND ANY EXPRESS OR IMPLIED
+ WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+ MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ IN NO EVENT SHALL ARM LTD BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
+ TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#ifndef _MACHINE__TYPES_H
+#define _MACHINE__TYPES_H
+
+#include <machine/_default_types.h>
+
+#define __ssize_t_defined
+typedef long signed int _ssize_t;
+
+#endif /* _MACHINE__TYPES_H */