Commit Graph

5106 Commits

Author SHA1 Message Date
Elliott Hughes
8a50d0c06f am bcc2bd3b: Merge "x86_64: libm fixes"
* commit 'bcc2bd3b1e625243df41bdf212bdb3dd2ec3c26e':
  x86_64: libm fixes
2013-10-01 17:35:39 -07:00
Elliott Hughes
bcc2bd3b1e Merge "x86_64: libm fixes" 2013-10-02 00:32:43 +00:00
Elliott Hughes
f1c534ce22 am 6892a29b: Merge "Remove more assumptions that pointers are 32-bit."
* commit '6892a29b9e63f0bb54bd402081431b1233c125aa':
  Remove more assumptions that pointers are 32-bit.
2013-10-01 17:32:19 -07:00
Elliott Hughes
6892a29b9e Merge "Remove more assumptions that pointers are 32-bit." 2013-10-02 00:30:51 +00:00
Elliott Hughes
405f8553cf Remove more assumptions that pointers are 32-bit.
Change-Id: I2157e2fc4db7692b746c697982c3d028a056462a
2013-10-01 17:25:28 -07:00
Elliott Hughes
f43f8aa80a am b2acd5de: Merge "x86_64: Update Makefiles for x86_64 targets and add symlinks"
* commit 'b2acd5ded1e801fb1379ec51c6f43eab63af50f5':
  x86_64: Update Makefiles for x86_64 targets and add symlinks
2013-10-01 15:39:19 -07:00
Elliott Hughes
b2acd5ded1 Merge "x86_64: Update Makefiles for x86_64 targets and add symlinks" 2013-10-01 22:37:10 +00:00
Pavel Chupin
a567a8e4bd 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>
2013-10-01 15:36:08 -07:00
Stephen Hines
35d937e4eb 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
2013-10-01 15:02:07 -07:00
Elliott Hughes
24e1dd8016 am 4eaa1e1e: Merge "x86_64: add new __NR_arch_prctl syscall"
* commit '4eaa1e1ea8e4ba4fed31e4bd884e27683db90d81':
  x86_64: add new __NR_arch_prctl syscall
2013-10-01 14:01:09 -07:00
Elliott Hughes
4eaa1e1ea8 Merge "x86_64: add new __NR_arch_prctl syscall" 2013-10-01 20:58:41 +00:00
Elliott Hughes
67e0214d0f am 232dff3a: Merge "Regenerate the system call stubs (to get x86_64)."
* commit '232dff3af296d8b86658a9742288ee487b41dd3f':
  Regenerate the system call stubs (to get x86_64).
2013-10-01 13:56:51 -07:00
Pavel Chupin
9a4127bb0a 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>
2013-10-01 13:56:21 -07:00
Elliott Hughes
232dff3af2 Merge "Regenerate the system call stubs (to get x86_64)." 2013-10-01 20:53:51 +00:00
Elliott Hughes
c58d08d655 am 475e8dde: Merge "x86_64: Add x86_64 syscalls and tune gen scripts for x86_64"
* commit '475e8dde178f05f91626a22ade795244efe69a3e':
  x86_64: Add x86_64 syscalls and tune gen scripts for x86_64
2013-10-01 13:30:28 -07:00
Elliott Hughes
e4ffd9f234 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
2013-10-01 13:29:43 -07:00
Elliott Hughes
475e8dde17 Merge "x86_64: Add x86_64 syscalls and tune gen scripts for x86_64" 2013-10-01 20:27:49 +00:00
Pavel Chupin
f12a18b850 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>
2013-10-01 13:27:07 -07:00
Pavel Chupin
ce7add19d8 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>
2013-10-01 11:38:54 -07:00
Elliott Hughes
57e55fe3b3 am fd152c31: Merge "Clean up some comments."
* commit 'fd152c31586a1f5e6763b06f1182ccd72cb86b69':
  Clean up some comments.
2013-10-01 11:12:09 -07:00
Elliott Hughes
fd152c3158 Merge "Clean up some comments." 2013-10-01 18:10:54 +00:00
Elliott Hughes
c0af695426 Clean up some comments.
Copyright headers shouldn't contain the filename (and especially
shouldn't contain a different file's filename).

Change-Id: I82690a3bf371265402bc16f5d2fbb9299c3a1926
2013-10-01 11:10:21 -07:00
Elliott Hughes
1a46de67b3 am f281fd02: Merge "Better statfs/fstatfs glibc compatibility."
* commit 'f281fd02e9eebea3de9c07412c5b66647ca0c290':
  Better statfs/fstatfs glibc compatibility.
2013-10-01 10:02:16 -07:00
Elliott Hughes
4b5a0e1ad7 am 693bd73f: Merge "Remove 32-bit assumptions from the ELF code."
* commit '693bd73fcdf1504e84aef314d1933f5efc2c817d':
  Remove 32-bit assumptions from the ELF code.
2013-10-01 10:02:16 -07:00
Elliott Hughes
f281fd02e9 Merge "Better statfs/fstatfs glibc compatibility." 2013-10-01 15:30:40 +00:00
Elliott Hughes
693bd73fcd Merge "Remove 32-bit assumptions from the ELF code." 2013-10-01 15:23:44 +00:00
Elliott Hughes
01a700e5d2 Better statfs/fstatfs glibc compatibility.
Change-Id: I069d169c96cd71b75a045ec911fb4bd484c6b2c9
2013-09-30 21:57:07 -07:00
Elliott Hughes
28317d3a16 am f5ea738b: Merge "Fix x86 build."
* commit 'f5ea738baa0ad5b32348f2ac42450d33d452ef31':
  Fix x86 build.
2013-09-30 20:51:53 -07:00
Elliott Hughes
f5ea738baa Merge "Fix x86 build." 2013-10-01 02:23:02 +00:00
Elliott Hughes
3456a1f5f4 Fix x86 build.
Change-Id: I1f2d8189bec3d0e25d21ca7d7bd73fd02f8678e2
2013-09-30 19:20:02 -07:00
Elliott Hughes
f5dcdfc438 am 6dee3b9a: Merge "Add x86_64 to the bionic headers."
* commit '6dee3b9aeec40bb518c1a29b4462300869a03d8e':
  Add x86_64 to the bionic headers.
2013-09-30 18:44:28 -07:00
Elliott Hughes
c620059479 Remove 32-bit assumptions from the ELF code.
Change-Id: I2c1f3d34c33685799aade8866eec44479ff9f963
2013-09-30 18:43:46 -07:00
Elliott Hughes
6dee3b9aee Merge "Add x86_64 to the bionic headers." 2013-10-01 01:42:43 +00:00
Elliott Hughes
d3e64a3f40 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
2013-09-30 18:42:13 -07:00
Elliott Hughes
34284954b3 am 76218efb: Merge "Fix inttypes.h and stdint.h for 64-bit (and C++11)."
* commit '76218efbeb2e124656ce15d4eb5a7039da065123':
  Fix inttypes.h and stdint.h for 64-bit (and C++11).
2013-09-30 16:19:18 -07:00
Elliott Hughes
76218efbeb Merge "Fix inttypes.h and stdint.h for 64-bit (and C++11)." 2013-09-30 21:53:06 +00:00
Elliott Hughes
a9a02acc9f Fix inttypes.h and stdint.h for 64-bit (and C++11).
Change-Id: I394630348413c9aafcac137ce1ca5f0a93d9ab6f
2013-09-30 14:46:47 -07:00
Elliott Hughes
ef8eb55708 am 4d016c6a: Merge "Upgrade to tzcode2013f plus Android modifications (from tzcode2013d plus Android modifications)."
* commit '4d016c6a83bb8c8b8ec88400031b42c41f18edbb':
  Upgrade to tzcode2013f plus Android modifications (from tzcode2013d plus Android modifications).
2013-09-27 15:41:25 -07:00
Elliott Hughes
4d016c6a83 Merge "Upgrade to tzcode2013f plus Android modifications (from tzcode2013d plus Android modifications)." 2013-09-27 22:38:45 +00:00
Nick Kralevich
f56e0e4b5e am 6aed6077: Merge "Fix unnecessary call to __strncpy_chk2"
* commit '6aed6077fbe2b2039ab9160fb1e33ffe07907f32':
  Fix unnecessary call to __strncpy_chk2
2013-09-27 15:15:31 -07:00
Nick Kralevich
6aed6077fb Merge "Fix unnecessary call to __strncpy_chk2" 2013-09-27 22:13:19 +00:00
Nick Kralevich
d13c2b1ba6 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
2013-09-27 13:21:24 -07:00
Nick Kralevich
cc36229136 am 8427b745: Merge "libc: fortify recvfrom()"
* commit '8427b7450fe068db6484d161f7004661c4698858':
  libc: fortify recvfrom()
2013-09-27 09:08:25 -07:00
Nick Kralevich
8427b7450f Merge "libc: fortify recvfrom()" 2013-09-27 16:05:44 +00:00
Elliott Hughes
e0d0b15de6 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
2013-09-27 00:04:30 -07:00
Elliott Hughes
174e98c9a9 am ad1244b2: Merge "Upgrade to tzdata2013f."
* commit 'ad1244b2e7588df2f4e66747e1355016d6d014bc':
  Upgrade to tzdata2013f.
2013-09-26 23:31:50 -07:00
Elliott Hughes
ad1244b2e7 Merge "Upgrade to tzdata2013f." 2013-09-27 06:30:00 +00:00
Elliott Hughes
3b7d4697b7 am abd4b254: Merge "Upgrade to tzdata2013e."
* commit 'abd4b2542b0e161f40a80c48970b77097af76dd9':
  Upgrade to tzdata2013e.
2013-09-26 23:23:15 -07:00
Elliott Hughes
4ced7ef05a 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
2013-09-26 23:22:23 -07:00
Elliott Hughes
abd4b2542b Merge "Upgrade to tzdata2013e." 2013-09-27 06:20:18 +00:00