Commit Graph

11208 Commits

Author SHA1 Message Date
Andrew Hsieh
228a227967 Fix X86 sigsetjmp and siglongjmp
Both exist in header android-X/arch-<arch>/usr/include/setjmp.h
already.  Add to X86 to be consistent with header and other archs
ARM/MIPS

See https://code.google.com/p/android/issues/detail?id=19851

Change-Id: I635c6c0491f5bf2aaa9013f23cb4b1bf7cb57a40
2013-03-14 14:40:37 -07:00
Andrew Hsieh
d7faff47ab Merge "Added struct Elf32_auxv_t and Elf64_auxv_t" 2013-03-14 20:28:20 +00:00
Andrew Hsieh
342a2ae9f2 Merge "Fix OpenSLES_AndroidConfiguration.h to be usable for C code" 2013-03-14 20:27:55 +00:00
Raphael Moll
d791f1f816 Merge "Build SDK using prebuilts/devtools." 2013-03-14 18:31:48 +00:00
Andrew Hsieh
1d1bc5287d Fix OpenSLES_AndroidConfiguration.h to be usable for C code
See https://code.google.com/p/android/issues/detail?id=53163

Change-Id: I0eaa3f93860134daf7d589696e47828166fbc899
2013-03-14 10:33:15 -07:00
Andrew Hsieh
c4e201a35c Added struct Elf32_auxv_t and Elf64_auxv_t
See https://code.google.com/p/android/issues/detail?id=38441

Change-Id: If06ec47d4e15639461c044248e3fe0020748b305
2013-03-13 19:21:56 -07:00
Raphael Moll
645a29c837 Build SDK using prebuilts/devtools.
Change-Id: I6fd6ba28b4739c3a14bfa3bac328322e85c5686b
2013-03-13 17:45:25 -07:00
Andrew Hsieh
dede575e48 Merge "Make libportable.a compile on host" 2013-03-13 15:57:30 +00:00
Andrew Hsieh
8052dc36d9 Make libportable.a compile on host
where cutils/log.h doesn't exit

Change-Id: I0ed6389a28f419f90ccbc6719b72895b366bb611
2013-03-12 22:48:28 -07:00
Ying Wang
7b9e308b95 Merge ""debug" in those modules is discouraged" 2013-03-08 01:16:00 +00:00
Andrew Hsieh
e9fc6c19ac Merge "[ARM] Add unwind portable header adaptor." 2013-03-06 02:32:19 +00:00
WenHan Gu
55128d1aca [ARM] Add unwind portable header adaptor.
ARM expanse some functions to others. For example,
_Unwind_GetIP will be inlined to _Unwind_GetGR, which
will be inlined to _Unwind_VRS_Get. This happens at
header-included level.

However, we use Itanium _Unwind_* header as portable one.
We do the inlining in ARM libportable to prevent
undefined reference to these functions.

Change-Id: Iad94c4a92531cdcfbcf535443fb257d02cb24c43
Signed-off-by: WenHan Gu <Wenhan.gu@mediatek.com>
2013-03-06 10:25:32 +08:00
Ying Wang
75ac6f2897 "debug" in those modules is discouraged
Because we need those modules for only emulator builds.
If you mark them as "debug", you'll get them even if you are doing a
real device userdebug/eng build.
Instead, we should add their module names to the emulator product config
in build/target/product/emulator.mk.

Bug: 8276818
Change-Id: I58988ce49804583b06e7d93380c44ba800448216
2013-03-01 09:49:44 -08:00
Andrew Hsieh
27bd326dc3 Merge "[MIPS] Allow errno safe logging" 2013-02-26 11:55:15 +00:00
Andrew Hsieh
62eb6d3dde Merge "[MIPS] Fixed mmap_portable()" 2013-02-26 11:54:39 +00:00
Pete Delaney
7ddc46bf9f [MIPS] Allow errno safe logging
Change-Id: I35b4a9007572bec15ab7ba81aad3756fa96c5eb2
Signed-off-by: Chris Dearman <chris.dearman@imgtec.com>
Signed-off-by: Pete Delaney <piet.delaney@imgtec.com>
2013-02-25 22:52:02 -08:00
Pete Delaney
858086ef5f [MIPS] Fixed mmap_portable()
mmap_portable() was calling madvise() and disrupting errno.
The call to madvise() has been dropped in bionic's version of
mmap() and now we just call that.

Updated helper functions to use the newer <class>_pton() style.

Added logging calls; like the rest of Lib-Portable,
it frequently helps save time.


Change-Id: I39f77899f0808e3af5fd2f6610355d2e33c09d85
Signed-off-by: Pete Delaney <piet.delaney@imgtec.com>
Signed-off-by: Chris Dearman <chris.dearman@imgtec.com>
2013-02-25 21:45:47 -08:00
Andrew Hsieh
e36716a74c Merge "[MIPS] Portable versions of setjmp, sigsetjmp, ..." 2013-02-21 04:49:43 +00:00
Andrew Hsieh
cb445fac27 Merge "[MIPS] Added support for STDIO sflags()." 2013-02-21 04:49:26 +00:00
Andrew Hsieh
bbfa248ab2 Merge "[MIPS] Fixed a bug and improved fcntl_portable." 2013-02-21 04:49:05 +00:00
Andrew Hsieh
e1fcd666e1 Merge "[MIPS] Extend Signal Mapping to include RT Signals." 2013-02-21 04:48:49 +00:00
Andrew Hsieh
5e0e89f229 Merge "[MIPS] Added support for file descriptor related system calls." 2013-02-21 04:48:32 +00:00
Andrew Hsieh
8a8fff3928 Merge "[MIPS] Fixed LTP Tests 9 and 20 of getaddrinfo_01." 2013-02-21 04:48:06 +00:00
Andrew Hsieh
b1317706c4 Merge "[MIPS] Added missing _NR_* system call support and cleaned up." 2013-02-21 04:47:43 +00:00
Andrew Hsieh
fa011bfb58 Merge "[MIPS] Add Real Time Signal Functions and minor bug fixes." 2013-02-21 04:47:23 +00:00
Andrew Hsieh
166bc925cc Merge "[MIPS] Unify around a consistent *_ntop/*_pton style." 2013-02-21 04:47:04 +00:00
Andrew Hsieh
13b8132938 Merge "[MIPS] Tighten up code to fit within 100 characters lines." 2013-02-21 04:46:48 +00:00
Andrew Hsieh
1ef2354fa7 Merge "[MIPS] Expand TABS and remove redundant return parenthesis." 2013-02-21 04:39:24 +00:00
Pete Delaney
183963db80 [MIPS] Portable versions of setjmp, sigsetjmp, ...
The portable (ARM) jmp_buf and sigjmp_buf structures are smaller than the native
(MIPS) structures so it is not safe to simply call the standard bionic routines.

Luckily there is a lot of redundant space in the standard MIPS structures
and it is possible to save all of the needed registers in the area provided by the
ARM application.

Change-Id: I694a90516cdf96d581863e833776092830afe3cc
Signed-off-by: Chris Dearman <chris.dearman@imgtec.com>
Signed-off-by: Pete Delaney <piet.delaney@imgtec.com>
Signed-off-by: Paul Lind <paul.lind@imgtec.com>
2013-02-20 20:07:33 -08:00
Pete Delaney
860342e989 [MIPS] Added support for STDIO sflags().
sflags() returns open() flags via a pointer passed to sflags().

Change-Id: I854dc4302bf09318e97eb3129a8debf98dbe8735
Signed-off-by: Chris Dearman <chris.dearman@imgtec.com>
Signed-off-by: Pete Delaney <piet.delaney@imgtec.com>
Signed-off-by: Paul Lind <paul.lind@imgtec.com>
2013-02-20 20:06:46 -08:00
Pete Delaney
998548881e [MIPS] Fixed a bug and improved fcntl_portable.
Improved Logging, tweaked func names, fixed double mappings
of mips_command.

While debugging the LTP fcntl07* set of failures I modified
a few ALOGV() calls to make logging more helpful in
fcntl_cmd_pton().

Change-Id: Idc9a7c8dd27883dff1e555769d6a8e331f4fdeb9
Signed-off-by: Pete Delaney <piet.delaney@imgtec.com>
Signed-off-by: Chris Dearman <chris.dearman@imgtec.com>
Signed-off-by: Paul Lind <paul.lind@imgtec.com>
2013-02-20 20:06:13 -08:00
Pete Delaney
b7b5e9d3fb [MIPS] Extend Signal Mapping to include RT Signals.
Both MIPS and ARM use signals 32 to 64 for real-time signals.
ARM signals 32 to 64 can't be masked due to the signal
mask being limited to 32 bits. MIPS signals 32 to 64 can be
masked, and Lib-Portable correctly supports this feature.

Fixes LTP tests rt_sigaction01 and ptrace05.

Fixed a few signal problems; Ex last Real Time Signal

1.  The signal handler for signal number 64, the last real
    time signal, wasn't being intercepted. Now catching
    signal number 64.

2.  sigaction() to only change *oldact when return
    value is zero.

3.  Fixed rt_sigqueue_portable() to set errno when
    returning a -1.

4.  Fixed a few cases where signal 0 was being added
    to the table of signal handlers for signal remapping.
    Harmless but a bit silly.

Change-Id: I1a71113d7ce4b60f3a587dae4e243dc88dd6d6bc
Signed-off-by: Pete Delaney <piet.delaney@imgtec.com>
Signed-off-by: Chris Dearman <chris.dearman@imgtec.com>
Signed-off-by: Paul Lind <paul.lind@imgtec.com>
2013-02-20 20:05:46 -08:00
Pete Delaney
c684613e19 [MIPS] Added support for file descriptor related system calls.
Specifically these functions are now supported:
    signalfd4(), eventfd(), timerfd_create(),
    pipe(), and inotify_init1()

Modified syscall_portable() to call signalfd4_portable(),
eventfd_portable(), eventfd2_portable(), and timerfd_create().
These system calls enable the read system calls to access
kernel data structures.

The signalfd4() enables read to return a signalfd_siginfo structure
which have the signal number and errno mapped until an execve().
This is similar to the maintaining a table of signal handlers to
map the signal numbers done earlier. This mapping is extended to
the process after an execve() by passing the final set of mapped
file descriptors via a pair of environment variables.

Disabling signal and file descriptor read mapping in parent
if the child would break the mapping algorithms.

This code passes at least all of the non-POSIX LTP tests,
including an updated LTP signalfd4 test that posts SIGNALS
and uses this read() mechanism to get signal info.

inotify_init1 is similar to signalfd(), timerfd() and other
filefd functions which map read() calls. Unlike signalfd(), and
similar to timerfd(), the reads don't appear to need to be mapped.

The members of the inotify_event structure appear to be generic.
The mask bits like IN_MOVE_FROM and IN_MOVE_TO are defined in
generic files. The LTP test in testcases/kernel/syscalls/inotify
test for the inotify_event structure being inotify_event structure
being read and does seem to check it contents being correct.

Change-Id: I3f2dcd4e33437ac953cd9f67f56dccc6ec6e5e6f
Signed-off-by: Pete Delaney <piet.delaney@imgtec.com>
Signed-off-by: Chris Dearman <chris.dearman@imgtec.com>
Signed-off-by: Paul Lind <paul.lind@imgtec.com>
2013-02-20 20:05:19 -08:00
Pete Delaney
dbbf0045b6 [MIPS] Fixed LTP Tests 9 and 20 of getaddrinfo_01.
Just mapping struct addrinfo socktype member; everything else is
identical in ARM vs MIPS cpp comparison.

Lots of tests in getaddrinfo_01 fail on Android, but test 9 and 20
were breaking with lib-portable only. This fix corrects that
difference in the test results.

Change-Id: I93c7948cc206ec60b867844857e3e19350c5f5e9
Signed-off-by: Pete Delaney <piet.delaney@imgtec.com>
Signed-off-by: Chris Dearman <chris.dearman@imgtec.com>
Signed-off-by: Paul Lind <paul.lind@imgtec.com>
2013-02-20 20:04:01 -08:00
Pete Delaney
a89a549987 [MIPS] Added missing _NR_* system call support and cleaned up.
Change-Id: I18499a73ad3732a16edb941c4db9fc2811dfe5d5
Signed-off-by: Pete Delaney <piet.delaney@imgtec.com>
Signed-off-by: Chris Dearman <chris.dearman@imgtec.com>
Signed-off-by: Paul Lind <paul.lind@imgtec.com>
2013-02-20 20:03:24 -08:00
Pete Delaney
6732a917fd [MIPS] Add Real Time Signal Functions and minor bug fixes.
1. Added:
        rt_sigaction(),
        rt_sigprocmask(), and
        rt_sigtimedwait portable syscalls.

    2. Fixed a bug in signal.c.

    3. Added a new pair of functions to map siginfo_t
       between portable and native formats.

    4. Fixed LTP rt_siqqueueinfo01 and siqqueue() test failures.

    5. Using these new siginfo_t mapping functions in functions
       that were previously doing this functionality internally:
          a. mips_sigaction_handler()
          b. __rt_sigtimedwait_portable()

    6. Modified rt_sigqueueinfo_portable():
      a. Added a call to this new siginfo_pton() function.
      b. Fixed native_sig calculation; it was converting
         with the wrong function (ntop instead of pton).

    7. Added the Thread Group Flavor of Real Time version of
       sigqueueinfo().

    8. Added and tested the sigqueue() implementation thought it's
       not supported by Android yet. Using a LTP library function
       to implement it via syscall for now.  Android has a
       sysconf() regression that will be addressed in a separate
       commit.

    9. Modified some of the variable names in:

          __rt_sigtimedwait_portable()

       to make it easier/faster to read.

    10. Fixed a SIGTERM --> SIGTERM_PORTABLE mapping bug.

Most LTP Posix sigqueue() tests and the rt_sigqueueinfo01() test
now pass with this commit.

Change-Id: I5a2c28c4f5863cc013fe0c7fce819fa5b7a6dcc7
Signed-off-by: Pete Delaney <piet.delaney@imgtec.com>
Signed-off-by: Douglas Leung <douglas.leung@imgtec.com>
Signed-off-by: Chris Dearman <chris.dearman@imgtec.com>
Signed-off-by: Paul Lind <paul.lind@imgtec.com>
2013-02-20 20:02:52 -08:00
Pete Delaney
4977f77e79 [MIPS] Unify around a consistent *_ntop/*_pton style.
Unifying around the <class>_ntop() style;
changing ntop_*() and pton_* to *_ntop() and *_pton().

Also added portable versions of strerror() and strerror_r()
while updating the errno.c file.

Change-Id: I2a0f40963f293ef9387b0dbcb3426276d301a17c
Signed-off-by: Pete Delaney <piet.delaney@imgtec.com>
Signed-off-by: Chris Dearman <chris.dearman@imgtec.com>
Signed-off-by: Paul Lind <paul.lind@imgtec.com>
2013-02-20 20:02:09 -08:00
Pete Delaney
2928edfab9 [MIPS] Tighten up code to fit within 100 characters lines.
File poll.c had a wide line and the reason for the asymmetric
mapping of the event flags wasn't obvious on my reviewing
this code. Seemed to justify adding some clarification.

Both signal.c and socket.c were using lengthy function names
for Portable <--> Native mappings. Switch to the newer *_ntop()
style in wide files and made the ALOGV() messages more useful.

Also changed mapping of portable SIGSTKFLT to native SIGEMT
while editing a wide line in the signal.c file.  MIPS has no
SIGSTKFLT signal, nor ARM a signal SIGEMT. Using SIGEMT as a
proxy for SIGSTKFLT_PORTABLE for Lib-Portable applications.
This makes the signal mapping reversible during signal handling.

Fixed ALOGV() Entry/Exit brackets to match.

Change-Id: I9a91992e67ab24322db608424bf69c47fad8e18d
Signed-off-by: Pete Delaney <piet.delaney@imgtec.com>
Signed-off-by: Chris Dearman <chris.dearman@imgtec.com>
Signed-off-by: Paul Lind <paul.lind@imgtec.com>
2013-02-20 20:01:15 -08:00
Pete Delaney
8930ac5534 [MIPS] Expand TABS and remove redundant return parenthesis.
Also fixed syscall.c to use curly brackets in case
statements to be more like bionic.

Change-Id: I20ffab9a474a2132b47fb4e765966c956aab2aff
Signed-off-by: Pete Delaney <piet.delaney@imgtec.com>
Signed-off-by: Chris Dearman <chris.dearman@imgtec.com>
Signed-off-by: Paul Lind <paul.lind@imgtec.com>
2013-02-20 20:00:23 -08:00
Siva Velusamy
8967cbffa5 Merge "Remove swing-worker." 2013-02-19 19:27:38 +00:00
Siva Velusamy
748e9da089 Remove swing-worker.
Change-Id: Ice7f98745424b0063e3c09c4a93a209a11146c17
2013-02-19 11:01:18 -08:00
The Android Open Source Project
3859692350 Reconcile with jb-mr1.1-release - do not merge
Change-Id: Id4dcf1e5d36d456a1fea85b8bcce602611dcc4db
2013-02-08 15:40:36 -08:00
Raphael Moll
de7e352b15 am ddb45cd3: am 68251f81: Merge "Adjust sdk to new prebuilts location."
# Via Android Git Automerger (1) and others
* commit 'ddb45cd3e9fb5ce63b636823d9be693dceb6ee55':
  Adjust sdk to new prebuilts location.
2013-02-08 10:13:29 -08:00
Raphael Moll
ddb45cd3e9 am 68251f81: Merge "Adjust sdk to new prebuilts location."
# Via Gerrit Code Review (1) and Raphael Moll (1)
* commit '68251f8115197b1bef0bd1e2bb06bcb491dededc':
  Adjust sdk to new prebuilts location.
2013-02-08 10:11:31 -08:00
Raphael Moll
68251f8115 Merge "Adjust sdk to new prebuilts location." 2013-02-08 17:59:26 +00:00
The Android Automerger
04e0a9cfd0 merge in jb-mr1.1-release history after reset to jb-mr1.1-dev 2013-02-07 14:23:19 -08:00
Chris Banes
e6edd9322b am d3dc2b12: am 2a84299d: am f4535aee: Merge "Update bitmapfun sample to call recycle()" into jb-mr1-dev
# Via Android Git Automerger (2) and others
* commit 'd3dc2b12e21305685920d262cfdc093dfaf1da0b':
  Update bitmapfun sample to call recycle()
2013-02-07 09:25:08 -08:00
Chris Banes
d3dc2b12e2 am 2a84299d: am f4535aee: Merge "Update bitmapfun sample to call recycle()" into jb-mr1-dev
# Via Android (Google) Code Review (1) and others
* commit '2a84299d4d8e1944f2af66199b784004d639deaa':
  Update bitmapfun sample to call recycle()
2013-02-07 09:17:21 -08:00
Chris Banes
2a84299d4d am f4535aee: Merge "Update bitmapfun sample to call recycle()" into jb-mr1-dev
# Via Android (Google) Code Review (1) and Chris Banes (1)
* commit 'f4535aee56bf564f962dbcbdc0ce03af98f0ebd4':
  Update bitmapfun sample to call recycle()
2013-02-07 09:15:44 -08:00
Chris Banes
f4535aee56 Merge "Update bitmapfun sample to call recycle()" into jb-mr1-dev 2013-02-07 17:12:28 +00:00