OSDN Git Service
Nick Kralevich [Fri, 4 Oct 2013 15:57:17 +0000 (08:57 -0700)]
FORTIFY_SOURCE: emphasize prevention in error messages.
FORTIFY_SOURCE prevents buffer overflows from occurring.
However, the error message often implies that we only
detect it, not prevent it.
Bring more clarity to the error messages by emphasizing
prevention over detection.
Change-Id: I5f3e1478673bdfc589e6cc4199fce8e52e197a24
Elliott Hughes [Fri, 4 Oct 2013 00:34:49 +0000 (00:34 +0000)]
Merge "x86_64: Fix get_tls and statvfs"
Pavel Chupin [Fri, 20 Sep 2013 14:46:42 +0000 (18:46 +0400)]
x86_64: Fix get_tls and statvfs
* bionic_tls.h - Add x86_64 version of get_tls macro;
* statvfs.h - 64-bit kernels don't have __statfs64/__fstatfs64, applying
workaround;
Change-Id: I20d7ddad74c7b7243866373d0142da6627c08280
Signed-off-by: Pavel Chupin <pavel.v.chupin@intel.com>
Elliott Hughes [Thu, 3 Oct 2013 23:17:58 +0000 (23:17 +0000)]
Merge "Move common arch-* code to arch-common directory"
Nick Kralevich [Thu, 3 Oct 2013 22:52:02 +0000 (22:52 +0000)]
Merge "Don't export unnecessary symbol."
Nick Kralevich [Thu, 3 Oct 2013 22:46:49 +0000 (22:46 +0000)]
Merge "Check memory size on FD_* functions"
Nick Kralevich [Thu, 3 Oct 2013 21:08:39 +0000 (14:08 -0700)]
Check memory size on FD_* functions
Make sure the buffer we're dealing with has enough room.
Might as well check for memory issues while we're here,
even though I don't imagine they'll happen in practice.
Change-Id: I0ae1f0f06aca9ceb91e58c70183bb14e275b92b5
Nick Kralevich [Thu, 3 Oct 2013 21:59:05 +0000 (14:59 -0700)]
Don't export unnecessary symbol.
Change-Id: I8b1d75a08476c41dd8e3f09fc93a3df617928f88
Christopher Ferris [Thu, 3 Oct 2013 21:35:36 +0000 (21:35 +0000)]
Merge "Add dependencies on included makefiles."
Christopher Ferris [Thu, 3 Oct 2013 20:26:22 +0000 (13:26 -0700)]
Add dependencies on included makefiles.
Bug:
11050594
Merge from internal master.
(cherry-picked from
f389284e86bbcbdb257d7388a17fde007113b0d6)
Change-Id: I2b3e38329a09d26c16870906f9ed1257e2a9dbc8
Christopher Ferris [Thu, 3 Oct 2013 19:53:21 +0000 (19:53 +0000)]
Merge "Remove dead files."
Christopher Ferris [Thu, 3 Oct 2013 18:15:09 +0000 (11:15 -0700)]
Remove dead files.
memcpy.a15.S/strcmp.a15.S files were submitted by ARM for use as the basis
for the memcpy/strcmp implementations in cortex-a15.
memset.S was moved in to the generic directory.
NOTE: memcpy.a9.S was submitted by Linaro to be the basis for the memcpy
for cortex-a9/cortex-a15 but has not been incorporated yet.
Bug:
10971279
Merge from internal master.
(cherry-picked from
48fc3e8b9fe7241ecf8ad61248247986742f05b6)
Change-Id: I8f9297578990d517f004e4e8840e2b2cbd5a47d8
Pavel Chupin [Wed, 2 Oct 2013 12:38:05 +0000 (16:38 +0400)]
Move common arch-* code to arch-common directory
Will be helpful on adding x86_64
Change-Id: I96cf6fc7912c02f289c75f07ae0079c32d69173f
Signed-off-by: Pavel Chupin <pavel.v.chupin@intel.com>
Christopher Ferris [Thu, 3 Oct 2013 06:22:27 +0000 (06:22 +0000)]
Merge "Remove the __ARM_FEATURE_DSP check."
Christopher Ferris [Thu, 3 Oct 2013 00:03:44 +0000 (17:03 -0700)]
Remove the __ARM_FEATURE_DSP check.
The check for __ARM_FEATURE_DSP being defined is pointless since it
is always defined.
Bug:
10971279
Merge from internal master.
(cherry-picked from
d2642fa70cfbd77286514e1123fcd280d7f7047f)
Change-Id: If23ab3271f4da0c38cd531ffdc9a7e5eed6ec5dc
Elliott Hughes [Thu, 3 Oct 2013 04:00:30 +0000 (04:00 +0000)]
Merge "Fix 32-bit issues in tests, and add a trivial test for the FD_* macros."
Elliott Hughes [Thu, 3 Oct 2013 03:48:19 +0000 (03:48 +0000)]
Merge "Fix the x86_64 fenv.h."
Elliott Hughes [Thu, 3 Oct 2013 00:02:58 +0000 (17:02 -0700)]
Fix the x86_64 fenv.h.
We should clean all the fenv.h files up, but not now. I've raised
bug
11050744 as a reminder.
Change-Id: I640c15b0f0477ec1a7891c031860404875bbe4b5
Nick Kralevich [Wed, 2 Oct 2013 23:59:23 +0000 (23:59 +0000)]
Merge "libc: don't export unnecessary symbols"
Elliott Hughes [Wed, 2 Oct 2013 23:59:05 +0000 (16:59 -0700)]
Fix 32-bit issues in tests, and add a trivial test for the FD_* macros.
Change-Id: Ia3f21ce1f0ed9236527fe44d36ccb7de6bf63113
Nick Kralevich [Wed, 2 Oct 2013 23:54:58 +0000 (16:54 -0700)]
libc: don't export unnecessary symbols
Symbols associated with the internal implementation of memcpy
like routines should be private.
Change-Id: I2b1d1f59006395c29d518c153928437b08f93d16
Nick Kralevich [Wed, 2 Oct 2013 23:26:50 +0000 (23:26 +0000)]
Merge "FORTIFY_SOURCE: Add __FD_* checks"
Nick Kralevich [Wed, 2 Oct 2013 23:11:30 +0000 (16:11 -0700)]
FORTIFY_SOURCE: Add __FD_* checks
Add FORTIFY_SOURCE checks for the following macros:
* FD_CLR
* FD_ISSET
* FD_SET
Bug:
11047121
Change-Id: I3c5952136aec9eff3288b91b1318677ff971525c
Stephen Hines [Wed, 2 Oct 2013 22:18:25 +0000 (22:18 +0000)]
Merge "Use gnu++11 and gnu99 explicitly for C++/C files."
Nick Kralevich [Wed, 2 Oct 2013 21:31:42 +0000 (21:31 +0000)]
Merge "Use alloc_size attribute on *alloc functions"
Nick Kralevich [Wed, 2 Oct 2013 21:14:40 +0000 (14:14 -0700)]
Use alloc_size attribute on *alloc functions
malloc and family were not declared with __attribute__((alloc_size)).
This was (sometimes) preventing FORTIFY_SOURCE related functions
from knowing the size of the buffer it's dealing with, inhibiting
FORTIFY_SOURCE protections.
Add __attribute__((alloc_size))
Information about the alloc_size attribute can be found
at http://gcc.gnu.org/onlinedocs/gcc/Function-Attributes.html
Change-Id: Ia2f0a445f0170a7325f69259b5e7fb35a9f14921
Stephen Hines [Tue, 1 Oct 2013 00:10:53 +0000 (17:10 -0700)]
Use gnu++11 and gnu99 explicitly for C++/C files.
Clang and gcc default to different standards, so we should be explicit
about the versions we want to compile for.
Change-Id: I65495a2392dd29f36373b94c616c2506173e6033
Elliott Hughes [Wed, 2 Oct 2013 17:06:44 +0000 (17:06 +0000)]
Merge "Remove #define _BITSIZE 32."
Stephen Hines [Wed, 2 Oct 2013 16:30:15 +0000 (16:30 +0000)]
Merge "Remove _FORTIFY_SOURCE in implementation files."
Stephen Hines [Wed, 2 Oct 2013 16:29:21 +0000 (16:29 +0000)]
Merge "Add simple implementation _Unwind_GetIP() for clang compiles."
Elliott Hughes [Wed, 2 Oct 2013 16:23:46 +0000 (09:23 -0700)]
Remove #define _BITSIZE 32.
I've no idea what _BITSIZE was supposed to be, glibc doesn't have it,
the BSDs don't have it, and no code is currently using it. But having
it set unconditionally to 32 sounds like a bad idea.
Change-Id: I900235c1489afba891fff0bc3b43e9d593249a4f
Elliott Hughes [Wed, 2 Oct 2013 15:52:02 +0000 (15:52 +0000)]
Merge "The x86_64 kernel headers are the x86 kernel headers."
Elliott Hughes [Wed, 2 Oct 2013 02:46:11 +0000 (02:46 +0000)]
Merge "Add missing backslash in MIPS filelist"
Chris Dearman [Wed, 2 Oct 2013 02:11:26 +0000 (19:11 -0700)]
Add missing backslash in MIPS filelist
Change-Id: I993ea7038cd641ea167d974226e2350e49d41c88
Stephen Hines [Wed, 2 Oct 2013 01:20:51 +0000 (18:20 -0700)]
Add simple implementation _Unwind_GetIP() for clang compiles.
Clang (prior to 3.4) does not actually provide a declaration (or definition)
of _Unwind_GetIP() for ARM. We can work around this by writing our own
basic implementation using the available primitive operations.
Change-Id: If6c66846952d8545849ad32d2b55daa4599cfe2c
Elliott Hughes [Wed, 2 Oct 2013 01:03:23 +0000 (18:03 -0700)]
The x86_64 kernel headers are the x86 kernel headers.
Change-Id: I8763aee7043800eb23a720914b57396e79fa812e
Elliott Hughes [Wed, 2 Oct 2013 01:00:25 +0000 (01:00 +0000)]
Merge "Fix libm build for x86_64."
Elliott Hughes [Wed, 2 Oct 2013 00:57:19 +0000 (17:57 -0700)]
Fix libm build for x86_64.
Change-Id: If89da2d5c3d9a88f78ffd8b260ad0f2fd391c608
Elliott Hughes [Wed, 2 Oct 2013 00:32:42 +0000 (00:32 +0000)]
Merge "x86_64: libm fixes"
Elliott Hughes [Wed, 2 Oct 2013 00:30:51 +0000 (00:30 +0000)]
Merge "Remove more assumptions that pointers are 32-bit."
Elliott Hughes [Wed, 2 Oct 2013 00:25:28 +0000 (17:25 -0700)]
Remove more assumptions that pointers are 32-bit.
Change-Id: I2157e2fc4db7692b746c697982c3d028a056462a
Elliott Hughes [Tue, 1 Oct 2013 22:37:10 +0000 (22:37 +0000)]
Merge "x86_64: Update Makefiles for x86_64 targets and add symlinks"
Pavel Chupin [Tue, 18 Dec 2012 13:30:02 +0000 (17:30 +0400)]
x86_64: Update Makefiles for x86_64 targets and add symlinks
Use basic .c versions of all functions for x86_64 until they are
manually optimized and .s versions released.
Change-Id: I59bba08931e894822db485c8803c2665c226234a
Signed-off-by: Pavel Chupin <pavel.v.chupin@intel.com>
Stephen Hines [Tue, 1 Oct 2013 22:02:07 +0000 (15:02 -0700)]
Remove _FORTIFY_SOURCE in implementation files.
This was causing conflicting declarations for the library definitions of
common functions like sprintf(), snprintf(), and strchr().
Change-Id: I5daaa8a58183aa0d4d0fae8a7cb799671810f576
Elliott Hughes [Tue, 1 Oct 2013 20:58:41 +0000 (20:58 +0000)]
Merge "x86_64: add new __NR_arch_prctl syscall"
Pavel Chupin [Wed, 12 Dec 2012 09:18:50 +0000 (13:18 +0400)]
x86_64: add new __NR_arch_prctl syscall
This is used to set/get TLS on x86_64. There's no public declaration
of this because it's not meant to be used outside the C library, like
glibc (though we don't currently have any visibility controls to ensure
this).
Change-Id: I5fc0a5e3ffc3f4cd597d92ee685ab19568ea18f7
Signed-off-by: Pavel Chupin <pavel.v.chupin@intel.com>
Elliott Hughes [Tue, 1 Oct 2013 20:53:50 +0000 (20:53 +0000)]
Merge "Regenerate the system call stubs (to get x86_64)."
Elliott Hughes [Tue, 1 Oct 2013 20:29:43 +0000 (13:29 -0700)]
Regenerate the system call stubs (to get x86_64).
This touches the x86 stubs too because arm, x86, and x86_64 now
all share the same header (at a source level), which causes a
reordering of the #include lines.
Change-Id: If9a1e2b2718bd41d8399fea748bce672c513ef84
Elliott Hughes [Tue, 1 Oct 2013 20:27:48 +0000 (20:27 +0000)]
Merge "x86_64: Add x86_64 syscalls and tune gen scripts for x86_64"
Pavel Chupin [Wed, 12 Dec 2012 09:11:48 +0000 (13:11 +0400)]
x86_64: Add x86_64 syscalls and tune gen scripts for x86_64
* Tune syscall stubs generator for 4th target: x86_64
* Update SYSCALLS.TXT with x86_64 syscalls:
- Most of the x86 syscalls are equally supported
- *32 syscalls are not supported on 64-bit
- *64 syscalls are replaced accordingly without 64 suffix
- Some syscalls are not supported, replaced with x86_64 analog
Syscalls are regenerated as separate patch for review convenience.
Change-Id: I4ea2e0f13759b0aa61f05208ca68da8d6bc7c048
Signed-off-by: Pavel Chupin <pavel.v.chupin@intel.com>
Pavel Chupin [Fri, 20 Sep 2013 15:09:55 +0000 (19:09 +0400)]
x86_64: libm fixes
* Makefile update for x86_64 target
* amd64 arch files
Change-Id: I8f17e3338bffd89a3086fbddd1e91bb4619eac1b
Signed-off-by: Pavel Chupin <pavel.v.chupin@intel.com>
Elliott Hughes [Tue, 1 Oct 2013 18:10:54 +0000 (18:10 +0000)]
Merge "Clean up some comments."
Elliott Hughes [Tue, 1 Oct 2013 18:06:56 +0000 (11:06 -0700)]
Clean up some comments.
Copyright headers shouldn't contain the filename (and especially
shouldn't contain a different file's filename).
Change-Id: I82690a3bf371265402bc16f5d2fbb9299c3a1926
Elliott Hughes [Tue, 1 Oct 2013 15:30:40 +0000 (15:30 +0000)]
Merge "Better statfs/fstatfs glibc compatibility."
Elliott Hughes [Tue, 1 Oct 2013 15:23:44 +0000 (15:23 +0000)]
Merge "Remove 32-bit assumptions from the ELF code."
Elliott Hughes [Tue, 1 Oct 2013 04:57:07 +0000 (21:57 -0700)]
Better statfs/fstatfs glibc compatibility.
Change-Id: I069d169c96cd71b75a045ec911fb4bd484c6b2c9
Elliott Hughes [Tue, 1 Oct 2013 02:23:02 +0000 (02:23 +0000)]
Merge "Fix x86 build."
Elliott Hughes [Tue, 1 Oct 2013 02:20:02 +0000 (19:20 -0700)]
Fix x86 build.
Change-Id: I1f2d8189bec3d0e25d21ca7d7bd73fd02f8678e2
Elliott Hughes [Tue, 1 Oct 2013 01:43:46 +0000 (18:43 -0700)]
Remove 32-bit assumptions from the ELF code.
Change-Id: I2c1f3d34c33685799aade8866eec44479ff9f963
Elliott Hughes [Tue, 1 Oct 2013 01:42:43 +0000 (01:42 +0000)]
Merge "Add x86_64 to the bionic headers."
Elliott Hughes [Tue, 1 Oct 2013 00:41:08 +0000 (17:41 -0700)]
Add x86_64 to the bionic headers.
Manual changes:
cpp.py: cope with macros that refer to other macros.
defaults.py: x86 no longer always implies __i386__; use __i386__ to replace
the kernel CONFIG_X86_32 flag.
asm/page.h: the upstream page.h isn't a uapi header and no longer includes
the stuff we were using it for. Let's just have our own static file, since
it's the same for all our architectures (both 32- and 64-bit).
sys/select.h: we used to use the various FD_SET-related macros from the
kernel header files, but they've gone. Adjust by adding trivial equivalent
definitions.
Automated changes:
libc/kernel/arch-x86, libc/kernel/common: regenerated from
external/kernel-headers.
Change-Id: I84fc0ed52dc742e043b4ae300fd3b58ee99b7fcd
Elliott Hughes [Mon, 30 Sep 2013 21:53:05 +0000 (21:53 +0000)]
Merge "Fix inttypes.h and stdint.h for 64-bit (and C++11)."
Elliott Hughes [Mon, 30 Sep 2013 21:46:47 +0000 (14:46 -0700)]
Fix inttypes.h and stdint.h for 64-bit (and C++11).
Change-Id: I394630348413c9aafcac137ce1ca5f0a93d9ab6f
Elliott Hughes [Fri, 27 Sep 2013 22:38:45 +0000 (22:38 +0000)]
Merge "Upgrade to tzcode2013f plus Android modifications (from tzcode2013d plus Android modifications)."
Nick Kralevich [Fri, 27 Sep 2013 22:13:19 +0000 (22:13 +0000)]
Merge "Fix unnecessary call to __strncpy_chk2"
Nick Kralevich [Fri, 27 Sep 2013 20:21:24 +0000 (13:21 -0700)]
Fix unnecessary call to __strncpy_chk2
If "n" is smaller than the size of "src", then we'll
never read off the end of src. It makes no sense to call
__strncpy_chk2 in those circumstances.
For example, consider the following code:
int main() {
char src[10];
char dst[5];
memcpy(src, "
0123456789", sizeof(src));
strncpy(dst, src, sizeof(dst));
dst[4] = '\0';
printf("%s\n", dst);
return 0;
}
In this code, it's clear that the strncpy will never read off
the end of src.
Change-Id: I9cf58857a0c5216b4576d21d3c1625e2913ccc03
Nick Kralevich [Fri, 27 Sep 2013 16:05:44 +0000 (16:05 +0000)]
Merge "libc: fortify recvfrom()"
Elliott Hughes [Fri, 27 Sep 2013 07:04:30 +0000 (00:04 -0700)]
Upgrade to tzcode2013f plus Android modifications (from tzcode2013d plus Android modifications).
localtime.c and strftime.c are still quite different from upstream because of
our extensions, but the other files continue to be identical, and the two
exceptions should be otherwise identical.
From the tzcode2013e release notes:
Changes affecting Godthab time stamps after 2037 if version mismatch
Allow POSIX-like TZ strings where the transition time's hour can
range from -167 through 167, instead of the POSIX-required 0
through 24. E.g., TZ='FJT-12FJST,M10.3.1/146,M1.3.4/75' for the
new Fiji rules. This is a more-compact way to represent
far-future time stamps for America/Godthab, America/Santiago,
Antarctica/Palmer, Asia/Gaza, Asia/Hebron, Asia/Jerusalem,
Pacific/Easter, and Pacific/Fiji. Other zones are unaffected by
this change. (Derived from a suggestion by Arthur David Olson.)
Allow POSIX-like TZ strings where daylight saving time is in
effect all year. E.g., TZ='WART4WARST,J1/0,J365/25' for Western
Argentina Summer Time all year. This supports a more-compact way
to represent the 2013d data for America/Argentina/San_Luis.
Because of the change for San Luis noted above this change does not
affect the current data. (Thanks to Andrew Main (Zefram) for
suggestions that improved this change.)
Where these two TZ changes take effect, there is a minor extension
to the tz file format in that it allows new values for the
embedded TZ-format string, and the tz file format version number
has therefore been increased from 2 to 3 as a precaution.
Version-2-based client code should continue to work as before for
all time stamps before 2038. Existing version-2-based client code
(tzcode, GNU/Linux, Solaris) has been tested on version-3-format
files, and typically works in practice even for time stamps after
2037; the only known exception is America/Godthab.
Changes affecting API
Support for floating-point time_t has been removed.
It was always dicey, and POSIX no longer requires it.
(Thanks to Eric Blake for suggesting to the POSIX committee to
remove it, and thanks to Alan Barrett, Clive D.W. Feather, Andy
Heninger, Arthur David Olson, and Alois Treindl, for reporting
bugs and elucidating some of the corners of the old floating-point
implementation.)
The signatures of 'offtime', 'timeoff', and 'gtime' have been
changed back to the old practice of using 'long' to represent UT
offsets. This had been inadvertently and mistakenly changed to
'int_fast32_t'. (Thanks to Christos Zoulos.)
The code avoids undefined behavior on integer overflow in some
more places, including gmtime, localtime, mktime and zdump.
Changes affecting code internals
Minor changes pacify GCC 4.7.3 and GCC 4.8.1.
Changes affecting documentation and commentary
Documentation and commentary is more careful to distinguish UT in
general from UTC in particular. (Thanks to Steve Allen.)
From the tzcode2013f release notes:
Changes affecting API
The types of the global variables 'timezone' and 'altzone' (if present)
have been changed back to 'long'. This is required for 'timezone'
by POSIX, and for 'altzone' by common practice, e.g., Solaris 11.
These variables were originally 'long' in the tz code, but were
mistakenly changed to 'time_t' in 1987; nobody reported the
incompatibility until now. The difference matters on x32, where
'long' is 32 bits and 'time_t' is 64. (Thanks to Elliott Hughes.)
Change-Id: I14937c42a391ddb865e4d89f0783961bcc6baa21
Elliott Hughes [Fri, 27 Sep 2013 06:30:00 +0000 (06:30 +0000)]
Merge "Upgrade to tzdata2013f."
Elliott Hughes [Fri, 27 Sep 2013 06:22:23 +0000 (23:22 -0700)]
Upgrade to tzdata2013f.
From the release notes:
Changes affecting near-future time stamps
Tocantins will very likely not observe DST starting this spring.
(Thanks to Steffen Thorsen.)
Jordan will likely stay at UTC+3 indefinitely, and will not fall
back this fall.
Palestine will fall back at 00:00, not 01:00. (Thanks to Steffen Thorsen.)
Change-Id: Iccee57578eef2ab51c519a23f151bc1963262ffe
Elliott Hughes [Fri, 27 Sep 2013 06:20:18 +0000 (06:20 +0000)]
Merge "Upgrade to tzdata2013e."
Elliott Hughes [Fri, 27 Sep 2013 05:41:09 +0000 (22:41 -0700)]
Upgrade to tzdata2013e.
From the release notes:
Changes affecting near-future time stamps
This year Fiji will start DST on October 27, not October 20.
(Thanks to David Wheeler for the heads-up.) For now, guess that
Fiji will continue to spring forward the Sunday before the fourth
Monday in October.
Changes affecting time stamps before 1970
Pacific/Johnston is now a link to Pacific/Honolulu. This corrects
some errors before 1947.
Some zones have been turned into links, when they differ from
existing zones only in older data that was likely invented or that
differs only in LMT or transition from LMT. These changes affect
only time stamps before 1943. The affected zones are:
Africa/Juba, America/Anguilla, America/Aruba, America/Dominica,
America/Grenada, America/Guadeloupe, America/Marigot,
America/Montserrat, America/St_Barthelemy, America/St_Kitts,
America/St_Lucia, America/St_Thomas, America/St_Vincent,
America/Tortola, and Europe/Vaduz. (Thanks to Alois Treindl for
confirming that the old Europe/Vaduz zone was wrong and the new
link is better for WWII-era times.)
Change Kingston Mean Time from -5:07:12 to -5:07:11. This affects
America/Cayman, America/Jamaica and America/Grand_Turk time stamps
from 1890 to 1912.
Change the UT offset of Bern Mean Time from 0:29:44 to 0:29:46.
This affects Europe/Zurich time stamps from 1853 to 1894. (Thanks
to Alois Treindl).
Change the date of the circa-1850 Zurich transition from 1849-09-12
to 1853-07-16, overriding Shanks with data from Messerli about
postal and telegraph time in Switzerland.
Data changes affecting behavior of tzselect and similar programs
Country code BQ is now called the more-common name "Caribbean Netherlands"
rather than the more-official "Bonaire, St Eustatius & Saba".
Remove from zone.tab the names America/Montreal, America/Shiprock,
and Antarctica/South_Pole, as they are equivalent to existing
same-country-code zones for post-1970 time stamps. The data for
these names are unchanged, so the names continue to work as before.
Change-Id: If78a517687532afcc0b22c7df664b5955f6e1564
Elliott Hughes [Thu, 26 Sep 2013 15:59:32 +0000 (15:59 +0000)]
Merge "Make it easier to add syscalls for another architecture."
Elliott Hughes [Thu, 26 Sep 2013 05:43:36 +0000 (22:43 -0700)]
Make it easier to add syscalls for another architecture.
Much of the per-architecture duplication can be removed, so let's do so
before we add the 64-bit architectures.
Change-Id: Ieb796503c8e5353ea38c3bab768bb9a690c9a767
Elliott Hughes [Thu, 26 Sep 2013 05:10:27 +0000 (05:10 +0000)]
Merge "Add a unit test for %n."
Michael Wright [Wed, 25 Sep 2013 23:29:32 +0000 (23:29 +0000)]
Merge "Update capability.h"
Michael Wright [Wed, 25 Sep 2013 21:55:55 +0000 (14:55 -0700)]
Update capability.h
To upstream SHA
6e4664525b1db28f8c4e1130957f70a94c19213e (v3.11)
Change-Id: Ic0d95464bc9001246df898489b2ea603a97ca231
Elliott Hughes [Wed, 25 Sep 2013 01:01:33 +0000 (18:01 -0700)]
Add a unit test for %n.
Change-Id: I9335e089d66c98d34577f5e1d1a54b8f507b94f6
Nick Kralevich [Tue, 24 Sep 2013 23:32:07 +0000 (16:32 -0700)]
libc: fortify recvfrom()
Fortify calls to recv() and recvfrom().
We use __bos0 to match glibc's behavior, and because I haven't
tested using __bos.
Change-Id: Iad6ae96551a89af17a9c347b80cdefcf2020c505
Elliott Hughes [Tue, 24 Sep 2013 18:25:50 +0000 (18:25 +0000)]
Merge "Simplify the SYSCALLS.TXT format."
Elliott Hughes [Tue, 24 Sep 2013 14:29:29 +0000 (14:29 +0000)]
Merge "Update taskstats.h from Linux 3.11.1"
Elliott Hughes [Tue, 24 Sep 2013 07:30:25 +0000 (00:30 -0700)]
Simplify the SYSCALLS.TXT format.
This will make addition of new architectures less unpleasant.
Change-Id: I77c866a63b686e8e70709d08fcf52e8a2d37310a
Elliott Hughes [Mon, 23 Sep 2013 23:33:59 +0000 (23:33 +0000)]
Merge "Fix %hhd formats in the printf family."
Elliott Hughes [Mon, 23 Sep 2013 23:02:39 +0000 (16:02 -0700)]
Fix %hhd formats in the printf family.
Found by adapting the simple unit tests for libc logging to test
snprintf too. Fix taken from upstream OpenBSD without updating
the rest of stdio.
Change-Id: Ie339a8e9393a36080147aae4d6665118e5d93647
Elliott Hughes [Mon, 23 Sep 2013 18:14:57 +0000 (18:14 +0000)]
Merge "Remove two -D flags for unused macros."
Elliott Hughes [Mon, 23 Sep 2013 18:12:09 +0000 (11:12 -0700)]
Remove two -D flags for unused macros.
Change-Id: Ia95b0f0e2003cadd875e84437afa1853c8fe2598
Sami Kyostila [Fri, 20 Sep 2013 17:25:29 +0000 (18:25 +0100)]
Update taskstats.h from Linux 3.11.1
Change-Id: I50853efe20fa2524f6288f78505a774a72071367
Christopher Ferris [Sat, 21 Sep 2013 03:36:30 +0000 (03:36 +0000)]
Merge "__memcpy_chk: Fix signed cmp of unsigned values."
Christopher Ferris [Tue, 10 Sep 2013 23:56:34 +0000 (16:56 -0700)]
__memcpy_chk: Fix signed cmp of unsigned values.
I accidentally did a signed comparison of the size_t values passed in
for three of the _chk functions. Changing them to unsigned compares.
Add three new tests to verify this failure is fixed.
Bug:
10691831
Merge from internal master.
(cherry-picked from
883ef2499c2ff76605f73b1240f719ca6282e554)
Change-Id: Id9a96b549435f5d9b61dc132cf1082e0e30889f5
Christopher Ferris [Sat, 21 Sep 2013 02:38:46 +0000 (02:38 +0000)]
Merge "Fix all debug directives."
Christopher Ferris [Wed, 21 Aug 2013 16:41:12 +0000 (09:41 -0700)]
Fix all debug directives.
The backtrace when a fortify check failed was not correct. This change
adds all of the necessary directives to get a correct backtrace.
Fix the strcmp directives and change all labels to local labels.
Testing:
- Verify that the runtime can decode the stack for __memcpy_chk, __memset_chk,
__strcpy_chk, __strcat_chk fortify failures.
- Verify that gdb can decode the stack properly when hitting a fortify check.
- Verify that the runtime can decode the stack for a seg fault for all of the
_chk functions and for memcpy/memset.
- Verify that gdb can decode the stack for a seg fault for all of the _chk
functions and for memcpy/memset.
- Verify that the runtime can decode the stack for a seg fault for strcmp.
- Verify that gdb can decode the stack for a seg fault in strcmp.
Bug:
10342460
Bug:
10345269
Merge from internal master.
(cherry-picked from
05332f2ce7e542d32ff4d5cd9f60248ad71fbf0d)
Change-Id: Ibc919b117cfe72b9ae97e35bd48185477177c5ca
Christopher Ferris [Sat, 21 Sep 2013 01:58:56 +0000 (01:58 +0000)]
Merge "Update all debug directives."
Christopher Ferris [Tue, 20 Aug 2013 18:20:48 +0000 (11:20 -0700)]
Update all debug directives.
The libcorkscrew stack unwinder does not understand cfi directives,
so add .save directives so that it can function properly.
Also add the directives in to strcmp.S and fix a missing set of
directives in cortex-a9/memcpy_base.S.
Bug:
10345269
Merge from internal master.
(cherry-picked from
5f7ccea3ffab05aeceecb85c821003cf580630d3)
Change-Id: If48a216203216a643807f5d61906015984987189
Nick Kralevich [Fri, 20 Sep 2013 15:20:03 +0000 (15:20 +0000)]
Merge "Add linux/sock_diag.h"
Elliott Hughes [Fri, 20 Sep 2013 00:37:28 +0000 (00:37 +0000)]
Merge "Ensure we have the off64_t variant of every function that takes an off_t."
Nick Kralevich [Thu, 19 Sep 2013 23:43:58 +0000 (16:43 -0700)]
Add linux/sock_diag.h
This file was generated using bionic/libc/kernel/tools/update_all.py
Change-Id: Iad33e96253978ed9a76d429d66eed9f245685c10
Elliott Hughes [Thu, 19 Sep 2013 23:27:24 +0000 (16:27 -0700)]
Ensure we have the off64_t variant of every function that takes an off_t.
Change-Id: Ib2eee0cf13162be3b62559b84e90c6dcf5aab1c3
Elliott Hughes [Thu, 19 Sep 2013 21:22:42 +0000 (21:22 +0000)]
Merge "Add mmap64()"
Daniel Leung [Wed, 18 Sep 2013 21:41:18 +0000 (14:41 -0700)]
Add mmap64()
This adds mmap64() to bionic so that it is possible to have
large offset passed to kernel. However, the syscall mechanism
only passes 32-bit number to kernel. So effectively, the
largest offset that can be passed is about 43 bits (since
offset is signed, and the number passed to kernel is number
of pages (page size == 4K => 12 bits)).
Change-Id: Ib54f4e9b54acb6ef8b0324f3b89c9bc810b07281
Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
Elliott Hughes [Thu, 19 Sep 2013 19:04:10 +0000 (19:04 +0000)]
Merge "Fix host tests that need the shell."