Commit Graph

3714 Commits

Author SHA1 Message Date
Elliott Hughes
08cf84db4e am f0e9d652: am 75f04d10: Merge "Remove the useless _C_LABEL from generated system calls."
* commit 'f0e9d652fa30c381295589f839a8f5f248a949f0':
  Remove the useless _C_LABEL from generated system calls.
2014-02-20 21:27:52 +00:00
Elliott Hughes
2bed56599f am bde420bb: am b69c0b53: Merge "Make mips/mips64 syscall stubs more like the other architectures."
* commit 'bde420bb86bbb0f4223a117cd3aaca00e7906501':
  Make mips/mips64 syscall stubs more like the other architectures.
2014-02-20 14:01:19 +00:00
Elliott Hughes
d465eb4e76 Remove the useless _C_LABEL from generated system calls.
Change-Id: Id1d2fd39972652831ea825f6f9cf940b08f42b5c
2014-02-19 18:59:19 -08:00
Elliott Hughes
9abbbdc534 Make mips/mips64 syscall stubs more like the other architectures.
Change-Id: I55f8c1a95f643a6e484f12fbcc25e2c77e55b6b8
2014-02-19 14:54:31 -08:00
Elliott Hughes
dae87c0c74 am ace8dfab: am e6c451f5: Merge "Make mips generated assembler more like the mips64 stuff."
* commit 'ace8dfab1fe07890440e8acf4a1e2c0cf0d0489d':
  Make mips generated assembler more like the mips64 stuff.
2014-02-19 20:42:33 +00:00
Elliott Hughes
eae27dc55a Make mips generated assembler more like the mips64 stuff.
I broke the mips build yesterday because it doesn't use
<private/bionic_asm.h> like the other architectures, including mips64.
I want to move mips closer to mips64 to try to avoid this kind of thing
in future.

Change-Id: Idb985587ff355b9e5e765c1f5671dc0144cd2488
2014-02-19 12:20:00 -08:00
Elliott Hughes
b3183def04 am 112e3a9a: am 44ef37c1: Merge "Use uid_t and gid_t for st_uid and st_gid in struct stat."
* commit '112e3a9a8c4c89b1cce366bc0c7a7f15fae862c2':
  Use uid_t and gid_t for st_uid and st_gid in struct stat.
2014-02-19 01:02:24 +00:00
Elliott Hughes
8a6ad03d0c am f7e642b9: am 24ef4779: Merge "Fix build by avoiding the _C_LABEL macro."
* commit 'f7e642b9ff2c0c70d9a800d0873880a58a33e424':
  Fix build by avoiding the _C_LABEL macro.
2014-02-19 00:58:59 +00:00
Elliott Hughes
44ef37c1b4 Merge "Use uid_t and gid_t for st_uid and st_gid in struct stat." 2014-02-19 00:51:31 +00:00
Elliott Hughes
6b5559315d Use uid_t and gid_t for st_uid and st_gid in struct stat.
Change-Id: Ide62dc714d76d881e3aa79e7a59ee6533a23dd00
2014-02-18 16:43:31 -08:00
Elliott Hughes
986f906710 Fix build by avoiding the _C_LABEL macro.
Change-Id: Ide367c2b65071388bd95fbc81a4ed6ae94aec4e4
2014-02-18 16:42:36 -08:00
Elliott Hughes
781236e321 am a676a54e: am b3602078: Merge "Implement some of the missing LFS64 support."
* commit 'a676a54e5dbb1ddda0c0045d990a920558671233':
  Implement some of the missing LFS64 support.
2014-02-18 23:54:43 +00:00
Elliott Hughes
db1ea34748 Implement some of the missing LFS64 support.
This gives us:

* <dirent.h>
  struct dirent64
  readdir64, readdir64_r, alphasort64, scandir64

* <fcntl.h>
  creat64, openat64, open64.

* <sys/stat.h>
  struct stat64
  fstat64, fstatat64, lstat64, stat64.

* <sys/statvfs.h>
  struct statvfs64
  statvfs64, fstatvfs64.

* <sys/vfs.h>
  struct statfs64
  statfs64, fstatfs64.

This also removes some of the incorrect #define hacks we've had in the
past (for stat64, for example, which we promised to clean up way back
in bug 8472078).

Bug: 11865851
Bug: 8472078
Change-Id: Ia46443521918519f2dfa64d4621027dfd13ac566
2014-02-18 15:39:24 -08:00
Elliott Hughes
a1ac8a60da am d49247be: am ffe02668: Merge "bionic: fix __set_errno for arm64 syscalls that return a 64-bit value"
* commit 'd49247be279b337fdd72c15421dcaf318489d284':
  bionic: fix __set_errno for arm64 syscalls that return a 64-bit value
2014-02-18 20:42:57 +00:00
Elliott Hughes
ffe026680e Merge "bionic: fix __set_errno for arm64 syscalls that return a 64-bit value" 2014-02-18 20:31:01 +00:00
Elliott Hughes
b8662c63b4 am d4c049e0: am cd6748cd: Merge "Clean up various warnings in bionic."
* commit 'd4c049e0234b0447b4da4369f2e2e509fe3ac549':
  Clean up various warnings in bionic.
2014-02-18 20:18:17 +00:00
Colin Cross
3d19a8319b bionic: fix __set_errno for arm64 syscalls that return a 64-bit value
bionic/libc/arch-arm64/syscalls/read.S ends with:
    b.hi __set_errno
    ret
END(read)

If __set_errno returns int, it will set w0 to 0xFFFFFFFF, which means
x0 is 0x00000000FFFFFFFF.  When interpreted as a ssize_t that is
INT_MAX, not -1.

Change __set_errno to return long, which will cause x0 to be set instead
of w0.

Change-Id: I9f9ea0f2995928d2ea240eb2ff7758ecdf0ff412
2014-02-18 12:11:38 -08:00
Elliott Hughes
a38cb08861 Clean up various warnings in bionic.
Change-Id: Ic57541d0a567fd4ae79f0ad59b2ffde1130eb7d2
2014-02-18 12:04:54 -08:00
Elliott Hughes
1135bf27eb am 447d5655: am d4bc9ef8: Merge "Remove duplicate definitions of MIN and MAX."
* commit '447d5655498f1dc2a20269e252fd0442d78b4ff2':
  Remove duplicate definitions of MIN and MAX.
2014-02-17 19:10:32 +00:00
Elliott Hughes
cfbfe7059c Remove duplicate definitions of MIN and MAX.
These were needed when bionic's header files were missing these macros (though
it would have made a lot more sense to just fix the header files!) but cause
warnings now.

Change-Id: I65a677122f4f6bd07dffc3f37a0c4c0e823d1bb0
2014-02-17 10:57:56 -08:00
Elliott Hughes
db01286237 am 57f42f77: am fadc8a77: Merge "Restore sys_signame for LP64."
* commit '57f42f773dac7cbe374ec8449b1b57599367a878':
  Restore sys_signame for LP64.
2014-02-13 11:27:26 +00:00
Elliott Hughes
796d2b1971 am f2e3964d: am 7b3876e2: Merge "Clean up sys_signame and sys_siglist a little."
* commit 'f2e3964d4e060d1b76be34bdc7847fad5c11ca63':
  Clean up sys_signame and sys_siglist a little.
2014-02-13 11:27:18 +00:00
Ying Wang
bf543d12de am 00956d03: am 9e572ca4: Merge "Fix missing args."
* commit '00956d039fb4ceafe92d5ffade51725b95da38d4':
  Fix missing args.
2014-02-13 11:27:18 +00:00
Elliott Hughes
671e236d5f Restore sys_signame for LP64.
mksh is using this, and we probably build as much BSD source as glibc source.

Change-Id: I400d255a67f9614ca9e57090e3a2e49d2b10cba4
2014-02-12 19:04:27 -08:00
Ying Wang
717cd12134 am c25552bb: am c4c50b25: Merge "Reconfig libc\'s Android.mk to build for multilib"
* commit 'c25552bb13e664bfd4574d77cbcaad459b52a47f':
  Reconfig libc's Android.mk to build for multilib
2014-02-13 01:11:36 +00:00
Elliott Hughes
aa0ebdafc7 Clean up sys_signame and sys_siglist a little.
We don't need quite so much duplication because we already have a way
to get the signal number from its name, and that already copes with the
fact that the mips/mips64 numbers are different from everyone else's.

Also remove sys_signame from LP64. glibc doesn't have this BSD-ism.

Change-Id: I6dc411a3d73589383c85d3b07d9d648311492a10
2014-02-12 17:09:25 -08:00
Ying Wang
76c8b88269 Fix missing args.
Change-Id: I89a366db984ea6b2553896a4351e59bb91f93040
2014-02-12 16:40:55 -08:00
Ying Wang
c4c50b25f8 Merge "Reconfig libc's Android.mk to build for multilib" 2014-02-12 23:53:08 +00:00
Elliott Hughes
dc6cd351b9 am f1f19464: am 819c132e: Merge "Fix NSIG."
* commit 'f1f19464c52e663ade6c18833eaa30bfcd5194de':
  Fix NSIG.
2014-02-12 23:01:26 +00:00
Elliott Hughes
23c7bdbbdd am b5bf7a72: am 577fce01: Merge "[MIPS64] Dynamic linker"
* commit 'b5bf7a725f5b63b0239fd5d92087d2f4c9dbee25':
  [MIPS64] Dynamic linker
2014-02-12 23:01:25 +00:00
Elliott Hughes
b7dfb8ab04 am d26184c0: am c856baee: Merge "Build syscall stubs in their own library."
* commit 'd26184c0385105ada22a9c060858a10e7b8f53e5':
  Build syscall stubs in their own library.
2014-02-12 23:01:24 +00:00
Ying Wang
f25d677147 Reconfig libc's Android.mk to build for multilib
1. Moved arch-specific setup to their own files:
    - <arch>/<arch>.mk, arch-specific configs. Variables in those config
      end with the arch name.
    - removed the extra complexity introduced by function libc-add-cpu-variant-src,
      which seems to be not very useful these days.
2. Separated out the crt object files generation rules and set up the
   rules for both TARGET_ARCH and TARGET_2ND_ARCH.
3. Build all the libraries for both TARGET_ARCH and TARGET_2ND_ARCH,
  with the arch-specific LOCAL_ variables.

Bug: 11654773
Change-Id: I9c2d85db0affa49199d182236d2210060a321421
2014-02-12 13:58:34 -08:00
Elliott Hughes
199346a2ab Fix NSIG.
Our sigset_t definition hasn't been tied to our NSIG definition since we
switched to uapi headers, so we can now fix it without breaking the LP32 ABI.
The kernel uapi headers define and use _NSIG, so we need to have our scripts
rename the kernel's definitions out of the way, then we can define _NSIG
and NSIG in terms of the kernel's off-by-one value.

Bug: 12938442
Change-Id: Ic7c86fd5be5ad1d822f7b2b1d88c8a0d70a1ac0f
2014-02-11 22:16:04 -08:00
Chris Dearman
9918665a45 [MIPS64] Dynamic linker
Change-Id: I937c7c776cae3d66e214798d5217a922cd106bfc
Signed-off-by: Chris Dearman <chris.dearman@imgtec.com>
Signed-off-by: Duane Sand <duane.sand@imgtec.com>
2014-02-11 15:33:14 -08:00
Elliott Hughes
b3a23bd017 Build syscall stubs in their own library.
This lets us lose the auto-generated makefiles.

Change-Id: I2de0c71b3b9c08f9cce8f4ff7fd7254dda008c86
2014-02-11 13:52:02 -08:00
Elliott Hughes
79ea3e3c74 am f7aa55d6: am a206dde5: Merge "Clean up cacheflush."
* commit 'f7aa55d684ecceab531856917745a52dc2eb05e1':
  Clean up cacheflush.
2014-02-11 18:38:43 +00:00
Elliott Hughes
a6ecba4d23 Clean up cacheflush.
No cacheflush for LP64; use the GCC builtin instead. Clean up the
32-bit MIPS implementation now we no longer need to worry about
old versions of GCC.

Bug: 12924756
Change-Id: Ie23955b3ec194e226c4b2bce35b11d5e061f4753
2014-02-11 10:24:40 -08:00
Elliott Hughes
7949942e5e am 5f0374ab: am 71e4466b: Merge "Switch <elf.h> over to linux uapi under the covers."
* commit '5f0374ab4ff198c658b3902ebf4cc8f818efc5fc':
  Switch <elf.h> over to linux uapi under the covers.
2014-02-11 02:40:00 +00:00
Elliott Hughes
0266ae5f88 Switch <elf.h> over to linux uapi under the covers.
Remove the linker's reliance on BSD cruft and use the glibc-style
ElfW macro. (Other code too, but the linker contains the majority
of the code that needs to work for Elf32 and Elf64.)

All platforms need dl_iterate_phdr_static, so it doesn't make sense
to have that part of the per-architecture configuration.

Bug: 12476126
Change-Id: I1d7f918f1303a392794a6cd8b3512ff56bd6e487
2014-02-10 18:22:24 -08:00
Elliott Hughes
7fcdeb9570 am 6b0da947: am eeb9a9f5: Merge "Fix <link.h>."
* commit '6b0da947e9bc8badc739eece66cf3a9f66188dd4':
  Fix <link.h>.
2014-02-11 00:18:38 +00:00
Elliott Hughes
3a9c5d66dc Fix <link.h>.
Also move some of the stuff that should be in <link.h> out of the
private "linker.h", to make it clearer that these are public API
known to gdb that we can't change.

Bug: 12554197
Change-Id: I830e1260d3d8b833ed99bc1518f1c6b6102be8af
2014-02-10 13:31:13 -08:00
Elliott Hughes
db8e3c7dd2 am e7b1e0e2: am e74fc3a6: Merge "Fix socklen_t (on LP64 only)."
* commit 'e7b1e0e2919c65f352f4bf89cc4eb93151873453':
  Fix socklen_t (on LP64 only).
2014-02-10 12:50:51 +00:00
Elliott Hughes
09be5e752c am 1138e128: am c16a4532: Merge "Remove <sys/_types.h>."
* commit '1138e1281285ab17e2eb315e7d34e9c6bb752383':
  Remove <sys/_types.h>.
2014-02-10 12:50:50 +00:00
Elliott Hughes
d5952e1bfa am f03ea9d0: am 8a80a23c: Merge "[MIPS64] libc/libm support"
* commit 'f03ea9d02459c888fef26761e4139c1da065c821':
  [MIPS64] libc/libm support
2014-02-08 07:22:15 +00:00
Elliott Hughes
ebd90b9ba9 Fix socklen_t (on LP64 only).
Too late to fix LP32 :-(

Bug: 12935461
Change-Id: Ib056ca1eaf9ae8712f88ae21ff94e91b08cf588b
2014-02-07 16:50:55 -08:00
Elliott Hughes
c16a453291 Merge "Remove <sys/_types.h>." 2014-02-08 00:23:50 +00:00
Elliott Hughes
9f87a0b285 Remove <sys/_types.h>.
Bug: 12213562
Change-Id: I0d10664f9da60739bdbad0408be0dd61eea3c1fe
2014-02-07 14:55:58 -08:00
Chris Dearman
645d0312c2 [MIPS64] libc/libm support
libc/libm support for MIPS64 targets

Change-Id: I8271941d418612a286be55495f0e95822f90004f
Signed-off-by: Chris Dearman <chris.dearman@imgtec.com>
Signed-off-by: Raghu Gandham <raghu.gandham@imgtec.com>
2014-02-06 16:22:20 -08:00
Elliott Hughes
175f230ffc am c2917297: am 5036935c: Merge "[MIPS64] Add syscall related files"
* commit 'c2917297bd34c8345c9b384b874f122ec4597779':
  [MIPS64] Add syscall related files
2014-02-07 00:02:24 +00:00
Chris Dearman
5043212b76 [MIPS64] Add syscall related files
Change-Id: I2f5d05df0e767538a6fe467ca0a2386325f8b71f
Signed-off-by: Chris Dearman <chris.dearman@imgtec.com>
Signed-off-by: Raghu Gandham <raghu.gandham@imgtec.com>
Signed-off-by: Duane Sand <duane.sand@imgtec.com>
2014-02-06 15:39:38 -08:00