Commit Graph

5795 Commits

Author SHA1 Message Date
Christopher Ferris
d77ff4f423 am 76d78dc0: am dc9d8d05: Merge "Modify prefetch for krait memcpy."
* commit '76d78dc0441ba982438ef613a8d6f2f65c6834e0':
  Modify prefetch for krait memcpy.
2013-10-15 14:19:27 -07:00
Christopher Ferris
76d78dc044 am dc9d8d05: Merge "Modify prefetch for krait memcpy."
* commit 'dc9d8d050a43e1cd32f1337e79187124bb15d938':
  Modify prefetch for krait memcpy.
2013-10-15 14:16:47 -07:00
Elliott Hughes
4681f8244e am 5b3f1d8b: am 22b83da4: Merge "Clean up the sigprocmask/pthread_sigmask implementation."
* commit '5b3f1d8b3a6a1caf059dc376e4967a27ddd57dac':
  Clean up the sigprocmask/pthread_sigmask implementation.
2013-10-15 14:16:02 -07:00
Elliott Hughes
5b3f1d8b3a am 22b83da4: Merge "Clean up the sigprocmask/pthread_sigmask implementation."
* commit '22b83da476263bff28fcc6a4696ced58b61d2c1d':
  Clean up the sigprocmask/pthread_sigmask implementation.
2013-10-15 14:13:32 -07:00
Christopher Ferris
dc9d8d050a Merge "Modify prefetch for krait memcpy." 2013-10-15 21:12:31 +00:00
Elliott Hughes
22b83da476 Merge "Clean up the sigprocmask/pthread_sigmask implementation." 2013-10-15 21:10:21 +00:00
Christopher Ferris
c3c58fb560 Modify prefetch for krait memcpy.
I originally modified the krait mainloop prefetch from cacheline * 8 to * 2.
This causes a perf degradation for copies bigger than will fit in the cache.
Fixing this back to the original * 8. I tried other multiples, but * 8 is th
sweet spot on krait.

Bug: 11221806

Change-Id: I1f75fad6440f7417e664795a6e7b5616f6a29c45
2013-10-15 12:10:06 -07:00
Elliott Hughes
19e62325c2 Clean up the sigprocmask/pthread_sigmask implementation.
Let's have both use rt_sigprocmask, like in glibc. The 64-bit ABIs
can share the same code as the 32-bit ABIs.

Also, let's test the return side of these calls, not just the
setting.

Bug: 11069919
Change-Id: I11da99f85b5b481870943c520d05ec929b15eddb
2013-10-15 11:23:57 -07:00
Stephen Hines
8161b23689 am 4691325d: am abeafbd6: Merge "Wrap sprintf()/snprintf() macros to prevent expansion errors."
* commit '4691325d48406033632fe84a944ac9c3bd2e5097':
  Wrap sprintf()/snprintf() macros to prevent expansion errors.
2013-10-11 16:33:07 -07:00
Stephen Hines
78f6db64fe am 36959302: am 8704ada3: Merge "Fix clang warnings in bionic."
* commit '36959302a334499c7d2ddf4a090e2ab7e3a8ae1d':
  Fix clang warnings in bionic.
2013-10-11 16:33:03 -07:00
Stephen Hines
4691325d48 am abeafbd6: Merge "Wrap sprintf()/snprintf() macros to prevent expansion errors."
* commit 'abeafbd6d5e11044dd305e48134bc3d84319a3da':
  Wrap sprintf()/snprintf() macros to prevent expansion errors.
2013-10-11 16:30:04 -07:00
Stephen Hines
36959302a3 am 8704ada3: Merge "Fix clang warnings in bionic."
* commit '8704ada3d8fae067ed48c2b6da5a1ba4ab062e1a':
  Fix clang warnings in bionic.
2013-10-11 16:30:03 -07:00
Stephen Hines
abeafbd6d5 Merge "Wrap sprintf()/snprintf() macros to prevent expansion errors." 2013-10-11 23:28:32 +00:00
Stephen Hines
8704ada3d8 Merge "Fix clang warnings in bionic." 2013-10-11 23:27:40 +00:00
Stephen Hines
6c7b3cb056 Fix clang warnings in bionic.
This fixes a few diverse issues that clang warns on in bionic. First,
it specifies the appropriate converted types for format specifiers.
The "h" and "hh" modifiers specify that the user is passing a short or
char respectively. We were passing int deliberately in both cases and
relying on the compiler to implicitly downcast to the smaller type.
We also remove the non-standard "d" suffix from our double-precision
floating point constant. This is an extension for gcc that clang does
not implement. The third fix is to mark the c1 variable as unused,
since it truly is neither read nor written.

Change-Id: I4793352b9d3e58f1f4cac9e7581ef4b2a70b43c7
2013-10-11 16:20:08 -07:00
Stephen Hines
6e38072add Wrap sprintf()/snprintf() macros to prevent expansion errors.
Previously, FORTIFY_SOURCE used single macros to define these standard
functions for use with clang. This can cause conflicts with other macros used
to call these functions, particularly when those macros expand the number of
arguments to the function. This change wraps our macro definitions, so that
expansion properly takes place for programmer arguments first.

Change-Id: I55929b1fd2a643b9d14a17631c4bcab3b0b712cf
2013-10-11 12:14:49 -07:00
Nick Kralevich
49bb53c8e2 am 95de0df8: am eda2679e: Merge "FORTIFY_SOURCE: fortify read()"
* commit '95de0df8c2daeefca358010f2d15c3346a5284f1':
  FORTIFY_SOURCE: fortify read()
2013-10-09 21:28:52 -07:00
Elliott Hughes
2d38f0c1c7 am 21d70d5f: am 39385aa7: Merge "Clean up the cpuacct cruft."
* commit '21d70d5fd8ff2823a6879d59c7d5a8d6c3e0ce8b':
  Clean up the cpuacct cruft.
2013-10-09 21:28:51 -07:00
Nick Kralevich
95de0df8c2 am eda2679e: Merge "FORTIFY_SOURCE: fortify read()"
* commit 'eda2679e30b997d036e0ec572cda054adc2ac3a6':
  FORTIFY_SOURCE: fortify read()
2013-10-09 21:25:51 -07:00
Elliott Hughes
21d70d5fd8 am 39385aa7: Merge "Clean up the cpuacct cruft."
* commit '39385aa78c5d437cfabc26a1bccdf050a8c94ac4':
  Clean up the cpuacct cruft.
2013-10-09 21:25:50 -07:00
Nick Kralevich
eda2679e30 Merge "FORTIFY_SOURCE: fortify read()" 2013-10-10 04:11:48 +00:00
Elliott Hughes
39385aa78c Merge "Clean up the cpuacct cruft." 2013-10-10 04:08:44 +00:00
Nick Kralevich
b036b5ca36 FORTIFY_SOURCE: fortify read()
Change-Id: Ic7de163fe121db13e00560adb257331bc709814d
2013-10-09 20:17:03 -07:00
Elliott Hughes
232163cf70 Clean up the cpuacct cruft.
Change-Id: I6ed63af8dfc2368e211420389fa8af4d5dc0908f
2013-10-09 17:35:36 -07:00
Elliott Hughes
7e049ba470 am 28b8557d: am 92f3cc50: Merge "x86_64: Rename 64-bit linker to linker64"
* commit '28b8557d4c117f41cf3fb9c55e30adeb6e46757b':
  x86_64: Rename 64-bit linker to linker64
2013-10-09 16:56:27 -07:00
Elliott Hughes
28b8557d4c am 92f3cc50: Merge "x86_64: Rename 64-bit linker to linker64"
* commit '92f3cc50c8d884d1eb3496ebfba7d3916fc711e8':
  x86_64: Rename 64-bit linker to linker64
2013-10-09 16:54:16 -07:00
Nick Kralevich
b8771d9fd8 am b35ebe3d: am 848efa9d: Merge "Revert "FORTIFY_SOURCE: fortify read()""
* commit 'b35ebe3d7097899fd4498ebb2b93e48fd836ebcf':
  Revert "FORTIFY_SOURCE: fortify read()"
2013-10-09 16:53:05 -07:00
Elliott Hughes
92f3cc50c8 Merge "x86_64: Rename 64-bit linker to linker64" 2013-10-09 23:51:29 +00:00
Nick Kralevich
b35ebe3d70 am 848efa9d: Merge "Revert "FORTIFY_SOURCE: fortify read()""
* commit '848efa9dae84ac4e5e45869abe26225affeb2038':
  Revert "FORTIFY_SOURCE: fortify read()"
2013-10-09 16:50:54 -07:00
Pavel Chupin
1a57f9f75c x86_64: Rename 64-bit linker to linker64
That's for having both on the same system.

Change-Id: Ic2bc2c015e6486e8b6a7576f7b28d2d027534368
Signed-off-by: Pavel Chupin <pavel.v.chupin@intel.com>
2013-10-09 16:50:30 -07:00
Elliott Hughes
41f56e29c7 am c7559aea: am 777ebe86: Merge "Fix MIPS build."
* commit 'c7559aeaf17a7c38392d2dc8f79c77316a24c8c0':
  Fix MIPS build.
2013-10-09 16:49:46 -07:00
Nick Kralevich
848efa9dae Merge "Revert "FORTIFY_SOURCE: fortify read()"" 2013-10-09 23:47:58 +00:00
Elliott Hughes
c7559aeaf1 am 777ebe86: Merge "Fix MIPS build."
* commit '777ebe86677f6fd88c87995652146b2ead19a95f':
  Fix MIPS build.
2013-10-09 16:46:33 -07:00
Nick Kralevich
8d25327639 Revert "FORTIFY_SOURCE: fortify read()"
This change reverts
* fb3f956d07.
* 65c99de2cb

Change-Id: Id5774eeede41130579115cf67a72ee914f2b47d5
2013-10-09 16:46:25 -07:00
Elliott Hughes
777ebe8667 Merge "Fix MIPS build." 2013-10-09 23:43:24 +00:00
Elliott Hughes
14b467e840 Fix MIPS build.
Warnings are errors for all home-grown bionic code, and the arch-specific
code now counts as home-grown bionic code (it was mistakenly counted as
"not ours" before).

Change-Id: I9c6a881b0dc596bae7dfe112c5c189e073800a3a
2013-10-09 16:40:33 -07:00
Elliott Hughes
6b6c5791a0 am aa3c17e8: am 37953ee3: Merge "Fix build."
* commit 'aa3c17e8f8b9b3b5b8dc3c7c0fbe85b774f83722':
  Fix build.
2013-10-09 16:39:06 -07:00
Elliott Hughes
1cdc9fe6d5 am 8826ba8a: am bc545e8a: Merge "Fix x86_64 build, clean up intermediate libraries."
* commit '8826ba8ab6922927bdac2466d2903916d5806a06':
  Fix x86_64 build, clean up intermediate libraries.
2013-10-09 16:35:46 -07:00
Elliott Hughes
aa3c17e8f8 am 37953ee3: Merge "Fix build."
* commit '37953ee3feb60b84e43349df0b13544367ca1cd7':
  Fix build.
2013-10-09 16:33:59 -07:00
Nick Kralevich
45e3076cdc am 731ced6b: am c147478c: Merge "FORTIFY_SOURCE: fortify read()"
* commit '731ced6b289629a552b5841561fdcccf08d8c43a':
  FORTIFY_SOURCE: fortify read()
2013-10-09 16:32:25 -07:00
Elliott Hughes
8826ba8ab6 am bc545e8a: Merge "Fix x86_64 build, clean up intermediate libraries."
* commit 'bc545e8a98dd4e1148e8b9c9ca491d1a481ee94d':
  Fix x86_64 build, clean up intermediate libraries.
2013-10-09 16:30:42 -07:00
Elliott Hughes
37953ee3fe Merge "Fix build." 2013-10-09 23:30:39 +00:00
Elliott Hughes
fb3f956d07 Fix build.
'private' is no longer on the default include path inside bionic.

Change-Id: I9bfab213a496fac585787118603af3aa2a1f9951
2013-10-09 16:29:42 -07:00
Elliott Hughes
bc545e8a98 Merge "Fix x86_64 build, clean up intermediate libraries." 2013-10-09 23:29:00 +00:00
Nick Kralevich
731ced6b28 am c147478c: Merge "FORTIFY_SOURCE: fortify read()"
* commit 'c147478cb75cfaa2aadc67fd920e8765503d97cc':
  FORTIFY_SOURCE: fortify read()
2013-10-09 16:25:15 -07:00
Nick Kralevich
c147478cb7 Merge "FORTIFY_SOURCE: fortify read()" 2013-10-09 23:23:27 +00:00
Elliott Hughes
eb847bc866 Fix x86_64 build, clean up intermediate libraries.
The x86_64 build was failing because clone.S had a call to __thread_entry which
was being added to a different intermediate .a on the way to making libc.so,
and the linker couldn't guarantee statically that such a relocation would be
possible.

  ld: error: out/target/product/generic_x86_64/obj/STATIC_LIBRARIES/libc_common_intermediates/libc_common.a(clone.o): requires dynamic R_X86_64_PC32 reloc against '__thread_entry' which may overflow at runtime; recompile with -fPIC

This patch addresses that by ensuring that the caller and callee end up in the
same intermediate .a. While I'm here, I've tried to clean up some of the mess
that led to this situation too. In particular, this removes libc/private/ from
the default include path (except for the DNS code), and splits out the DNS
code into its own library (since it's a weird special case of upstream NetBSD
code that's diverged so heavily it's unlikely ever to get back in sync).

There's more cleanup of the DNS situation possible, but this is definitely a
step in the right direction, and it's more than enough to get x86_64 building
cleanly.

Change-Id: I00425a7245b7a2573df16cc38798187d0729e7c4
2013-10-09 16:00:17 -07:00
Elliott Hughes
ac045c32d0 am f83148af: am 0c17099a: Merge "Fix __errno for LP64 and clean up __get_tls."
* commit 'f83148af74704c574ad1bf60082f2f56bcb29706':
  Fix __errno for LP64 and clean up __get_tls.
2013-10-09 13:52:56 -07:00
Elliott Hughes
f83148af74 am 0c17099a: Merge "Fix __errno for LP64 and clean up __get_tls."
* commit '0c17099a71cb5d1b36b7aab66fd7341b3fc9106d':
  Fix __errno for LP64 and clean up __get_tls.
2013-10-09 13:51:14 -07:00
Elliott Hughes
0c17099a71 Merge "Fix __errno for LP64 and clean up __get_tls." 2013-10-09 20:49:10 +00:00