merge from open-source master
Change-Id: I1cc2f1123a296b05c4faaa419374376395e05936
Change-Id: I1cc2f1123a296b05c4faaa419374376395e05936
Merge "Add missing termios defns to bring on par with ARM"
Add missing termios defns to bring on par with ARM
Change-Id: Ied1871aa0a2e33473b89a4ac6d54e3c44be7f457
Change-Id: Ied1871aa0a2e33473b89a4ac6d54e3c44be7f457
merge from open-source master
Change-Id: Ib7fc9c6f79f9b13e2175da137005d8968ea85eaf
Change-Id: Ib7fc9c6f79f9b13e2175da137005d8968ea85eaf
Merge "pthread: introduce pthread_setname_np() as a mean to give names to threads"
pthread: introduce pthread_setname_np() as a mean to give names to threads
... so that each cloned process at the kernel level can be named
independently. Tools like 'top' can display the CPU/memory statistics
for each process's thread if "Show Threads" mode is on.
With this function in place, we can convert dalvik/Thread.c setThreadName()
function over this function. This feature ought to be provided by the
underlying C library and not coded directly in Dalvik.
Change-Id: Ifa997665dbaa114e0b126f8c667708be9a4137fd
Signed-off-by: André Goddard Rosa <andre.goddard@gmail.com>
... so that each cloned process at the kernel level can be named
independently. Tools like 'top' can display the CPU/memory statistics
for each process's thread if "Show Threads" mode is on.
With this function in place, we can convert dalvik/Thread.c setThreadName()
function over this function. This feature ought to be provided by the
underlying C library and not coded directly in Dalvik.
Change-Id: Ifa997665dbaa114e0b126f8c667708be9a4137fd
Signed-off-by: André Goddard Rosa <andre.goddard@gmail.com>
merge from open-source master
Change-Id: I5804d8850f2d4fb7b5d5c53d51e153f7ced9646e
Change-Id: I5804d8850f2d4fb7b5d5c53d51e153f7ced9646e
improve readability of stdio: fix indentation and remove trailing spaces
Change-Id: Ic51e58a7c75d20bf770dc0ebd7f97a338fbe0036
Signed-off-by: André Goddard Rosa <andre.goddard@gmail.com>
Change-Id: Ic51e58a7c75d20bf770dc0ebd7f97a338fbe0036
Signed-off-by: André Goddard Rosa <andre.goddard@gmail.com>
merge from open-source master
Change-Id: I9c926a3cd680a96ece026cdec71c6e0fb0b7ad7c
Change-Id: I9c926a3cd680a96ece026cdec71c6e0fb0b7ad7c
Merge "Add declaration for sys_signame[] forgotten in change 12489"
merge from open-source master
Change-Id: I2be62bce462ee53fe9519f433523bd7a44a73d40
Change-Id: I2be62bce462ee53fe9519f433523bd7a44a73d40
Set SA_RESTORER in sigaction()
GDB looks for specific opcode sequences when trying to recognize a stack
frame as a signal trampoline. The sequences it looks for happen to be those
created when SA_RESTORER is set, since glibc always sets a restorer. This
patch does the same here, so that the trampolines can be correctly identified.
Change-Id: I0ac574a68818cb24d939c3527f3aaeb04b853d04
GDB looks for specific opcode sequences when trying to recognize a stack
frame as a signal trampoline. The sequences it looks for happen to be those
created when SA_RESTORER is set, since glibc always sets a restorer. This
patch does the same here, so that the trampolines can be correctly identified.
Change-Id: I0ac574a68818cb24d939c3527f3aaeb04b853d04
fix build
Change-Id: I243c98e20a250e0d40d481f16af481ff070219fd
Change-Id: I243c98e20a250e0d40d481f16af481ff070219fd
merge from open-source master
Change-Id: Iecfd2bd3069f70bbe508042cc249fcf7ff24800d
Change-Id: Iecfd2bd3069f70bbe508042cc249fcf7ff24800d
Merge "Sometimes the compiler is very right! Found bug in bessel routines for float."
Merge "Reduce compiler anxiety."
Merge "Added support for LD_PRELOAD"
Merge "stdio: simplify __fremovelock()"
Merge "Reversed order of const and static to hush warning from compiler."
stdio: simplify __fremovelock()
... by removing extraneous NULL check, as free() already does it.
Signed-off-by: André Goddard Rosa <andre.goddard@gmail.com>
Change-Id: I0445f35c7ad0a049a0e4aee1fbe002ed2f13b94b
... by removing extraneous NULL check, as free() already does it.
Signed-off-by: André Goddard Rosa <andre.goddard@gmail.com>
Change-Id: I0445f35c7ad0a049a0e4aee1fbe002ed2f13b94b
Added support for LD_PRELOAD
The LD_PRELOAD environment variable allows the user to specify a list of
libraries which should be unconditionally loaded before any others. This
makes possible some useful tricks, such as library interposers.
Change-Id: I433d775ab08ef63a5fbe7b21f87a5642954fc32f
The LD_PRELOAD environment variable allows the user to specify a list of
libraries which should be unconditionally loaded before any others. This
makes possible some useful tricks, such as library interposers.
Change-Id: I433d775ab08ef63a5fbe7b21f87a5642954fc32f
Merge "string: tidy up strndup()"
Sometimes the compiler is very right! Found bug in bessel routines for float.
Original compiler error:
target arm C: libm <= bionic/libm/src/e_j0f.c
bionic/libm/src/e_j0f.c: In function 'j0f':
bionic/libm/src/e_j0f.c:66: warning: comparison between signed and unsigned integer expressions
bionic/libm/src/e_j0f.c: In function 'y0f':
bionic/libm/src/e_j0f.c:140: warning: comparison between signed and unsigned integer expressions
target arm C: libm <= bionic/libm/src/e_j1.c
It's subtle but ix is masked with 0x7f000000 so it can never ever have a value
greater than 0x80000000. So I switched to using the unmasked hx and added a
cast as a reward to the compiler for being right.
I checked the original routines that e_j0f.c was ported from (in e_j0.c) and
the double's don't use 0x80000000 so this issue didn't exist there.
Let that be a warning to those that just slap on casts to shut up the compiler,
sometimes it's sniffed out a bug for you. :-)
Similar fixes in the other functions.
Change-Id: I7a776e5d4721fc3a9e3bd89179b67e9af3a2ebfa
Original compiler error:
target arm C: libm <= bionic/libm/src/e_j0f.c
bionic/libm/src/e_j0f.c: In function 'j0f':
bionic/libm/src/e_j0f.c:66: warning: comparison between signed and unsigned integer expressions
bionic/libm/src/e_j0f.c: In function 'y0f':
bionic/libm/src/e_j0f.c:140: warning: comparison between signed and unsigned integer expressions
target arm C: libm <= bionic/libm/src/e_j1.c
It's subtle but ix is masked with 0x7f000000 so it can never ever have a value
greater than 0x80000000. So I switched to using the unmasked hx and added a
cast as a reward to the compiler for being right.
I checked the original routines that e_j0f.c was ported from (in e_j0.c) and
the double's don't use 0x80000000 so this issue didn't exist there.
Let that be a warning to those that just slap on casts to shut up the compiler,
sometimes it's sniffed out a bug for you. :-)
Similar fixes in the other functions.
Change-Id: I7a776e5d4721fc3a9e3bd89179b67e9af3a2ebfa
merge from open-source master
Change-Id: If02d33af51017dbd85e91c79ac2e848eda6cf253
Change-Id: If02d33af51017dbd85e91c79ac2e848eda6cf253
Merge "Fix log channel initialization at bionic/logd_write.c."
Merge "added headers for SuperH which automatically generate by update_all.py"
linker: fix the undefined weak symbols issue
I'm not sure if this is a correct fix or not.
Also need to find out why 1.6 does not have this issue.
Change-Id: If46c844834bda1e2cbf084a1a45a1832119b3ae3
I'm not sure if this is a correct fix or not.
Also need to find out why 1.6 does not have this issue.
Change-Id: If46c844834bda1e2cbf084a1a45a1832119b3ae3
bionic: add missing NULL check from memory allocation on record_backtrace()
Signed-off-by: André Goddard Rosa <andre.goddard@gmail.com>
Change-Id: I739c63c5a7344fff1775580044dc647edf246ebf
Signed-off-by: André Goddard Rosa <andre.goddard@gmail.com>
Change-Id: I739c63c5a7344fff1775580044dc647edf246ebf
stdio: simplify vasprintf()
... by removing unneeded NULL check, as free() already does it.
By the way, we don't need to set a stack variable back to NULL.
Signed-off-by: André Goddard Rosa <andre.goddard@gmail.com>
Change-Id: Id90eb8f042b5c922c5ff139b11ff8366fb404566
... by removing unneeded NULL check, as free() already does it.
By the way, we don't need to set a stack variable back to NULL.
Signed-off-by: André Goddard Rosa <andre.goddard@gmail.com>
Change-Id: Id90eb8f042b5c922c5ff139b11ff8366fb404566
stdio: simplify asprintf()
... by removing unneeded NULL check, as free() already does it.
By the way, we don't need to set a stack variable back to NULL.
Signed-off-by: André Goddard Rosa <andre.goddard@gmail.com>
Change-Id: Id1f72e872f73366dddcea4abc75885a3d9a318c6
... by removing unneeded NULL check, as free() already does it.
By the way, we don't need to set a stack variable back to NULL.
Signed-off-by: André Goddard Rosa <andre.goddard@gmail.com>
Change-Id: Id1f72e872f73366dddcea4abc75885a3d9a318c6
improve readability of stdlib: fix indentation and remove trailing spaces
Signed-off-by: André Goddard Rosa <andre.goddard@gmail.com>
Change-Id: I7dd90a0816b5376ffc1de4499d56935e0bd574a1
Signed-off-by: André Goddard Rosa <andre.goddard@gmail.com>
Change-Id: I7dd90a0816b5376ffc1de4499d56935e0bd574a1
merge from open-source master
Change-Id: I518bb4ae9d7269957365561d4d609f22cde519db
Change-Id: I518bb4ae9d7269957365561d4d609f22cde519db
merge from open-source master
Change-Id: If77618a329fc7b497c44c2585e644bc50e7e1406
Change-Id: If77618a329fc7b497c44c2585e644bc50e7e1406
Fixed support for RTLD_NEXT in dlsym()
The previous implementation of this flag was broken--it behaved identically
to RTLD_DEFAULT. This adds a proper implementation, which examines the address
of the calling function, and uses it to determine which library to use to begin
the symbol search process.
Change-Id: I2ad2b46363f68932af63a3828a22f9c7987eea67
The previous implementation of this flag was broken--it behaved identically
to RTLD_DEFAULT. This adds a proper implementation, which examines the address
of the calling function, and uses it to determine which library to use to begin
the symbol search process.
Change-Id: I2ad2b46363f68932af63a3828a22f9c7987eea67
am 91638721: kernel_headers: Update rtnetlink/pkt_sched headers for 2.6.32
Merge commit '9163872132a3e92f986b1d684badb1dd4482ad8e' into froyo-plus-aosp
* commit '9163872132a3e92f986b1d684badb1dd4482ad8e':
kernel_headers: Update rtnetlink/pkt_sched headers for 2.6.32
Merge commit '9163872132a3e92f986b1d684badb1dd4482ad8e' into froyo-plus-aosp
* commit '9163872132a3e92f986b1d684badb1dd4482ad8e':
kernel_headers: Update rtnetlink/pkt_sched headers for 2.6.32
kernel_headers: Update rtnetlink/pkt_sched headers for 2.6.32
For: For http://b/issue?id=2576057
Change-Id: I553ca14974aaec4434e384979e0bb7007dcf6033
Signed-off-by: San Mehat <san@google.com>
For: For http://b/issue?id=2576057
Change-Id: I553ca14974aaec4434e384979e0bb7007dcf6033
Signed-off-by: San Mehat <san@google.com>
Add declaration for sys_signame[] forgotten in change 12489
merge from open-source master
Change-Id: I950e9aca87cbb0c35099b1d53cff6378bd0f26f4
Change-Id: I950e9aca87cbb0c35099b1d53cff6378bd0f26f4
merge from open-source master
Change-Id: I483fedf77d978b1c6e52d73eebc14f011bb9f809
Change-Id: I483fedf77d978b1c6e52d73eebc14f011bb9f809
merge from open-source master
Change-Id: I076e0df8656fdf58c229cc9a168cd6d8e16b6d8e
Change-Id: I076e0df8656fdf58c229cc9a168cd6d8e16b6d8e
bionic: fix memory leak in get_malloc_leak_info() error path
Signed-off-by: André Goddard Rosa <andre.goddard@gmail.com>
Signed-off-by: André Goddard Rosa <andre.goddard@gmail.com>
Merge "bionic: clear only the part of the buffer which is not overwritten afterward"
Merge "linker: fix the undefined weak symbols issue"
linker: fix the undefined weak symbols issue
Merge changes Ibdc6e3c8,I9bcb91a2
* changes:
Correct generic memset implementation
Generic memcpy should define MEMCOPY before including bcopy.c
* changes:
Correct generic memset implementation
Generic memcpy should define MEMCOPY before including bcopy.c
Merge "Atom optimized string and memory routines"
merge from open-source master
Change-Id: I96d2cd063f084fd17116bf7ee08fa7109a3c1ceb
Change-Id: I96d2cd063f084fd17116bf7ee08fa7109a3c1ceb
bionic: clear only the part of the buffer which is not overwritten afterward
Change-Id: I5ddd93f0557e5a7401460dc9fc8a55b330a79c3a
Signed-off-by: André Goddard Rosa <andre.goddard@gmail.com>
Change-Id: I5ddd93f0557e5a7401460dc9fc8a55b330a79c3a
Signed-off-by: André Goddard Rosa <andre.goddard@gmail.com>
stdlib: optimize bsearch()
... by checking most probable condition first (elements do differ)
Change-Id: I424eab9c32a6d9eb82b686ca04025ec8c9097035
Signed-off-by: André Goddard Rosa <andre.goddard@gmail.com>
... by checking most probable condition first (elements do differ)
Change-Id: I424eab9c32a6d9eb82b686ca04025ec8c9097035
Signed-off-by: André Goddard Rosa <andre.goddard@gmail.com>
Atom optimized string and memory routines
Change-Id: I27b68bb28551c75c9ac84bb9730e2cd8254d8991
Change-Id: I27b68bb28551c75c9ac84bb9730e2cd8254d8991
Android hack for size_t
Change-Id: I3c967fca60f542459dc17be84da47b3b6a26242b
Change-Id: I3c967fca60f542459dc17be84da47b3b6a26242b
Fix comparison of IPv6 prefixes
Typo assigned prefixlen1 twice instead of to the two different variables
for comparison and difference computation.
Change-Id: I6631b8269ca6aae264c8d7d414127b756838df96
Typo assigned prefixlen1 twice instead of to the two different variables
for comparison and difference computation.
Change-Id: I6631b8269ca6aae264c8d7d414127b756838df96
libc: kernel: update msm_kgsl.h
Change-Id: I8cd5a186071892bdc2b2b29061dd6c1fd927c0f5
Signed-off-by: Dima Zavin <dima@android.com>
Change-Id: I8cd5a186071892bdc2b2b29061dd6c1fd927c0f5
Signed-off-by: Dima Zavin <dima@android.com>
Fix typo that broke recursive mutexes implementation.
Change-Id: I832901604b487c6a50304c311b5ba135e153530d
Change-Id: I832901604b487c6a50304c311b5ba135e153530d
pthread: Use private futexes by default in condition variables
Now that the system properly uses shared condvars when needed, we
can enable the use of private futexes for them too.
Change-Id: Icf8351fc0a2309f764cba45c65bc3af047720cdf
Now that the system properly uses shared condvars when needed, we
can enable the use of private futexes for them too.
Change-Id: Icf8351fc0a2309f764cba45c65bc3af047720cdf
merge from open-source master
Change-Id: I70266ee8c520b216773f267e46c8273d2334c31d
Change-Id: I70266ee8c520b216773f267e46c8273d2334c31d
Merge "Fix strtod security bug."
Use private futexes for pthread_mutex_t.
This does not change the implementation of conditional variables
since we're waiting for other system components to properly use
pthread_condattr_init/setpshared before that.
Also remove an obsolete x86 source file.
Change-Id: Ia3e3fbac35b87a534fb04d4381c3c66b975bc8f7
This does not change the implementation of conditional variables
since we're waiting for other system components to properly use
pthread_condattr_init/setpshared before that.
Also remove an obsolete x86 source file.
Change-Id: Ia3e3fbac35b87a534fb04d4381c3c66b975bc8f7
Merge "bionic: on pthread_join(), avoid extra check in case we find the thread"
Merge "bionic: ftell() returns a long, not an int"
Add pthread_condattr_init/destroy/setpshared/getpshared
Note that this does not change the implementation of conditional variables
which still use shared futexes, independent on the flags being selected.
This will be fixed in a later patch, once our system is modified to use
pthread_condattr_setpshared(attr, PTHREAD_PROCESS_SHARED) properly.
Change-Id: I935de50964cd41f97a13dbfd6626d3407b0406c3
Note that this does not change the implementation of conditional variables
which still use shared futexes, independent on the flags being selected.
This will be fixed in a later patch, once our system is modified to use
pthread_condattr_setpshared(attr, PTHREAD_PROCESS_SHARED) properly.
Change-Id: I935de50964cd41f97a13dbfd6626d3407b0406c3
Added support for dladdr()
dladdr() is a GNU extension function, which allows the caller to retrieve
symbol information for a specified memory address. It is useful for things
like generating backtrace information at runtime.
Change-Id: I3a1def1a6c9c666d93e1e97b7d260dfa5b9b79a9
dladdr() is a GNU extension function, which allows the caller to retrieve
symbol information for a specified memory address. It is useful for things
like generating backtrace information at runtime.
Change-Id: I3a1def1a6c9c666d93e1e97b7d260dfa5b9b79a9
Merge "x86 syscall system call implementation"
Merge "Fix pread()/pwrite() stubs"
Fix indentation in pthread mutex implementation.
This is preliminary work to simplify later changes to support
private futexes.
Change-Id: I06750936a93747a5e3f5a10228cbdc29e39c528c
This is preliminary work to simplify later changes to support
private futexes.
Change-Id: I06750936a93747a5e3f5a10228cbdc29e39c528c
Merge "bionic: remove unneeded variable from chk_realloc()"
14 years agoMerge "bionic: equalize the <unknown> program name between ssp.c and libc_init_common.c"
Merge "bionic: equalize the <unknown> program name between ssp.c and libc_init_common.c"
Merge "improve readability of string: fix indentation and remove trailing spaces"
Merge "optimize delete/delete[] operators by removing unneeded branch"
Revert "bionic: pthread: use private futexes by default for mutexes and condvars"
This reverts commit ba9c6f0989ae94778ba2b9f597adc827c9dc81e8.
This reverts commit ba9c6f0989ae94778ba2b9f597adc827c9dc81e8.
bionic: pthread: use private futexes by default for mutexes and condvars
Private futexes are a recent kernel addition: faster futexes that cannot be
shared between processes. This patch uses them by default, unless the PROCESS_SHARED
attribute flag is used when creating a mutex and/or conditional variable.
Also introduces pthread_condattr_init/destroy/setpshared/getpshared.
Change-Id: I3a0e2116f467072b046524cb5babc00e41057a53
Private futexes are a recent kernel addition: faster futexes that cannot be
shared between processes. This patch uses them by default, unless the PROCESS_SHARED
attribute flag is used when creating a mutex and/or conditional variable.
Also introduces pthread_condattr_init/destroy/setpshared/getpshared.
Change-Id: I3a0e2116f467072b046524cb5babc00e41057a53
Merge "Only use NEON memcpy if __ARM_NEON__ is defined"
Only use NEON memcpy if __ARM_NEON__ is defined
Change-Id: I32e6b9385d46efeec15dee8e395a82eef24ba3ea
Change-Id: I32e6b9385d46efeec15dee8e395a82eef24ba3ea
Fix strtod security bug.
To avoid introducing NULL checks everytime a Bigint computation
is performed, introduce a special value (BIGINT_INVALID) and only
check for it when absolutely needed (which means when the code
needs to access the Bigint's internal structure fields).
Change-Id: Ie3954523b0985b6a8cb62340802d8dcf63cbf16f
To avoid introducing NULL checks everytime a Bigint computation
is performed, introduce a special value (BIGINT_INVALID) and only
check for it when absolutely needed (which means when the code
needs to access the Bigint's internal structure fields).
Change-Id: Ie3954523b0985b6a8cb62340802d8dcf63cbf16f
Merge "Fix spurious DNS lookups in the C library."
Add an empty CleanSpec.mk
Change-Id: Id233ea6f854253776f57e64196e262c5a057e654
Change-Id: Id233ea6f854253776f57e64196e262c5a057e654
Fix spurious DNS lookups in the C library.
The problem was that the 'defdname' field of res_state structure
was not properly initialized in __res_vinit(). This field is used
to store the default domain name, which is normally build from
calling gethostname() (see line 549 of res_init.c).
Unfortunately, in the typical Android case, gethostname() returns
an error (the hostname is configured) and a random stack string is
used later to build the DNS search list (see lines 556+ in res_init.c)
For the sake of illustration, let's say the search list is set to
a random value like 'xWLK'.
The end result is that when trying to result an unknown domain name
(e.g. 'www.ptn'), the query fails then the resolver tries to make a
new query with the DNS search list path(s) appended (e.g. 'www.ptn.xWLK').
The patch simply initializes 'defdname' to an empty string to avoid
this when the net.dns.search system property is not set.
Also contains whitespace/formatting fixes
The problem was that the 'defdname' field of res_state structure
was not properly initialized in __res_vinit(). This field is used
to store the default domain name, which is normally build from
calling gethostname() (see line 549 of res_init.c).
Unfortunately, in the typical Android case, gethostname() returns
an error (the hostname is configured) and a random stack string is
used later to build the DNS search list (see lines 556+ in res_init.c)
For the sake of illustration, let's say the search list is set to
a random value like 'xWLK'.
The end result is that when trying to result an unknown domain name
(e.g. 'www.ptn'), the query fails then the resolver tries to make a
new query with the DNS search list path(s) appended (e.g. 'www.ptn.xWLK').
The patch simply initializes 'defdname' to an empty string to avoid
this when the net.dns.search system property is not set.
Also contains whitespace/formatting fixes
Fix timezone management in the C library
Define 'timezone' and 'daylight' global variables that are already
defined in <time.h>
Properly update the 'tm_gmtoff' field in 'struct tm' values.
Define 'timezone' and 'daylight' global variables that are already
defined in <time.h>
Properly update the 'tm_gmtoff' field in 'struct tm' values.
x86 syscall system call implementation
Merge "QUalcomm H.264 encoder support."
QUalcomm H.264 encoder support.
am 71fbeecd: (-s ours) am fd5b1bb8: Add stdlib functions mbstowcs() and wcstombs(). DO NOT MERGE.
Merge commit '71fbeecdbd7bcf2282e4b032ceb2f6ead13dc9cb'
* commit '71fbeecdbd7bcf2282e4b032ceb2f6ead13dc9cb':
Add stdlib functions mbstowcs() and wcstombs(). DO NOT MERGE.
Merge commit '71fbeecdbd7bcf2282e4b032ceb2f6ead13dc9cb'
* commit '71fbeecdbd7bcf2282e4b032ceb2f6ead13dc9cb':
Add stdlib functions mbstowcs() and wcstombs(). DO NOT MERGE.
am fd5b1bb8: Add stdlib functions mbstowcs() and wcstombs(). DO NOT MERGE.
Merge commit 'fd5b1bb85d0a971fd8469112a157380c4d3a146f' into eclair-mr2-plus-aosp
* commit 'fd5b1bb85d0a971fd8469112a157380c4d3a146f':
Add stdlib functions mbstowcs() and wcstombs(). DO NOT MERGE.
Merge commit 'fd5b1bb85d0a971fd8469112a157380c4d3a146f' into eclair-mr2-plus-aosp
* commit 'fd5b1bb85d0a971fd8469112a157380c4d3a146f':
Add stdlib functions mbstowcs() and wcstombs(). DO NOT MERGE.
Add stdlib functions mbstowcs() and wcstombs(). DO NOT MERGE.
As with the other wchar functions in Bionic, these are really
minimally functional stubs.
As with the other wchar functions in Bionic, these are really
minimally functional stubs.
bonic: libc: cpuacct support for setuid functions
Any of the setuid functions now updates /acct/uid/ with its own tid
before changing users. This is so we can properly account for cpu time
per uid.
Change-Id: I34186cf4d5228cac8439e582a9e26c01ef3011e4
Signed-off-by: Mike Chan <mike@android.com>
Any of the setuid functions now updates /acct/uid/ with its own tid
before changing users. This is so we can properly account for cpu time
per uid.
Change-Id: I34186cf4d5228cac8439e582a9e26c01ef3011e4
Signed-off-by: Mike Chan <mike@android.com>
libc: kernel: update pmem header with cache flush ioctl
Change-Id: Ied08844035d4526175dcdcb7f219f9f90c4679d2
Signed-off-by: Dima Zavin <dima@android.com>
Change-Id: Ied08844035d4526175dcdcb7f219f9f90c4679d2
Signed-off-by: Dima Zavin <dima@android.com>
add sigaltstack syscall
Fix pthread_sigmask() to return correct error values.
Before that, it returned -1 on error and set errno (not Posix)
After the patch, it returns the error code and leaves errno untouched.
Before that, it returned -1 on error and set errno (not Posix)
After the patch, it returns the error code and leaves errno untouched.
Merge "Implement support for RFC 3484 (address selection/sorting) in bionic. (The Java changes required not to mess up the ordering from bionic will arrive in a later commit.) In particular, this will give us more correct behavior when on a 6to4 network, in that IPv4 will usually be preferred over 6to4."
Implement support for RFC 3484 (address selection/sorting) in bionic. (The
Java changes required not to mess up the ordering from bionic will arrive in a
later commit.) In particular, this will give us more correct behavior when on a
6to4 network, in that IPv4 will usually be preferred over 6to4.
Most of RFC 3484 is implemented -- what's not is rule 3 (avoid deprecated
addresses), 4 (prefer home addresses) and 7 (prefer native transport) as they
require low-level access to the kernel routing table via netlink. (glibc also
started out this way, and these rules are primarily useful in pretty obscure
circumstances, so we should be fine for the time being.)
Also, rule 9 (use longest matching prefix) has been modified so it does not try
to sort IPv4 addresses; given current IPv4 addressing practice these rules are
pretty much meaningless. Finally, I've added support for Teredo as a separate
label, with slightly lower preference than 6to4. (Vista puts the preference
below IPv4 by default. glibc puts the preference together with non-tunneled
IPv6.)
Note that this patch removes support for the "sortlist" directive in
resolv.conf; I've never seen it in actual use, it's irrelevant for Android
(since we don't use resolv.conf anyway), and it's not clear how it would be
implemented alongside RFC 3484.
Java changes required not to mess up the ordering from bionic will arrive in a
later commit.) In particular, this will give us more correct behavior when on a
6to4 network, in that IPv4 will usually be preferred over 6to4.
Most of RFC 3484 is implemented -- what's not is rule 3 (avoid deprecated
addresses), 4 (prefer home addresses) and 7 (prefer native transport) as they
require low-level access to the kernel routing table via netlink. (glibc also
started out this way, and these rules are primarily useful in pretty obscure
circumstances, so we should be fine for the time being.)
Also, rule 9 (use longest matching prefix) has been modified so it does not try
to sort IPv4 addresses; given current IPv4 addressing practice these rules are
pretty much meaningless. Finally, I've added support for Teredo as a separate
label, with slightly lower preference than 6to4. (Vista puts the preference
below IPv4 by default. glibc puts the preference together with non-tunneled
IPv6.)
Note that this patch removes support for the "sortlist" directive in
resolv.conf; I've never seen it in actual use, it's irrelevant for Android
(since we don't use resolv.conf anyway), and it's not clear how it would be
implemented alongside RFC 3484.
bionic: syscalls: Add ioprio_set/ioprio_get syscall wrappers
Signed-off-by: San Mehat <san@google.com>
Signed-off-by: San Mehat <san@google.com>
Merge "Merge memory checking functionality from sandbox"
Merge memory checking functionality from sandbox
Change-Id: I304c789a752c9f4af4944ca14b9bf1e7644da15a
Change-Id: I304c789a752c9f4af4944ca14b9bf1e7644da15a
Fix pread()/pwrite() stubs
On ARM EABI, 64-bit function parameters must be aligned
to an even/odd register pair. The weird way these stubs
were written (using separate lo/hi parameters) prevented
this alignment from being enforced by the compiler.
On ARM EABI, 64-bit function parameters must be aligned
to an even/odd register pair. The weird way these stubs
were written (using separate lo/hi parameters) prevented
this alignment from being enforced by the compiler.
Merge "Changed __get_h_errno linkage to "C"."
Fix sem_post() behaviour to wake up multiple waiting threads.
Fix sem_trywait() implementation + update changelog.
Fix android_id_from_name to accept "app_0" as a valid ID.
This fixes getpwnam and getpwgrp which returned NULL for "app_0".
"app_0" corresponds to uid/gid 10000 and is perfectly valid.
This fixes getpwnam and getpwgrp which returned NULL for "app_0".
"app_0" corresponds to uid/gid 10000 and is perfectly valid.
Fix debug output in the dynamic linker.
This provides a mini-printf implementation that reduces the
size of the dynamic linker by 25 KB, by preventing the drag of
formatting-related routines from the C library.
Also allow traces to be sent to the log, instead of stdout.
NOTE: You now need to modify Android.mk to enable/disable debug
output.
This provides a mini-printf implementation that reduces the
size of the dynamic linker by 25 KB, by preventing the drag of
formatting-related routines from the C library.
Also allow traces to be sent to the log, instead of stdout.
NOTE: You now need to modify Android.mk to enable/disable debug
output.