Brian Carlstrom
d978d21d19
am 8252b8e4
: Merge "Honor p_vaddr if set"
...
* commit '8252b8e4b730b13623f31dc66396e000586d1c58':
Honor p_vaddr if set
2013-06-10 15:41:19 -07:00
Brian Carlstrom
e7dffe150b
Honor p_vaddr if set
...
(cherry picked from commit 88ff15c2c279d2bbe3569101b36cd2aa0931a0a9)
Change-Id: I4aabbe911d30aea8ace69e29bb6e980a4e89de90
2013-06-07 12:47:58 -07:00
Brian Carlstrom
81bfade818
am 06713930
: Merge "Small cleanup of soinfo_elf_lookup."
...
* commit '0671393072a78e75a726c58aa3ca718e55eeac3e':
Small cleanup of soinfo_elf_lookup.
2013-06-03 20:21:04 -07:00
Christopher Ferris
6bec5b792a
Small cleanup of soinfo_elf_lookup.
...
- Remove unnecessary line.
- Move declarations to first use.
Change-Id: I1d8398d6c13f7cb86bffe0b68af849e35a4b234d
2013-06-03 20:15:14 -07:00
Brian Carlstrom
46bf467a15
am f5f29de6
: Merge "Fix bionic linker to support segments with zero p_filesz"
...
* commit 'f5f29de6ae5a0b74234f111b5691a1e5588671cb':
Fix bionic linker to support segments with zero p_filesz
2013-05-21 17:23:09 -07:00
Brian Carlstrom
82dcc7910d
Fix bionic linker to support segments with zero p_filesz
...
(cherry picked from commit 96362fb9d11beef6233aa03db396f25688e70860)
Change-Id: Ib075a6dfc45d5d0746d8b278f317dd9b8d772f2a
2013-05-21 16:57:55 -07:00
Elliott Hughes
58f3dbdacd
am 98f7659d
: Merge "Don\'t fail to run DT_INIT and DT_INIT_ARRAY constructors if a shared library has DT_PREINIT_ARRAY constructors."
...
* commit '98f7659d7e3a7d75c68a41299f6ee55d7d35c27b':
Don't fail to run DT_INIT and DT_INIT_ARRAY constructors if a shared library has DT_PREINIT_ARRAY constructors.
2013-05-09 17:53:38 -07:00
Elliott Hughes
8147d3c284
Don't fail to run DT_INIT and DT_INIT_ARRAY constructors if a shared library has DT_PREINIT_ARRAY constructors.
...
The GNU dynamic linker silently ignores a DT_PREINIT_ARRAY section
in a shared library. We had ineffectual code that tried to report
an error, which I tried to fix but got wrong --- my version still
wouldn't report the error to the caller, but would prevent us from
continuing to call constructors.
Bug: 8825226
Change-Id: I4fd8450ecc44d8767a1cb808aeecfbfbfc77c070
2013-05-09 15:29:54 -07:00
Nick Kralevich
ed572aaa0d
am 5f28fde8
: Merge "linker: only re-open std* for setuid programs."
...
* commit '5f28fde8aeee047a70e344c9da937695dc51a3ba':
linker: only re-open std* for setuid programs.
2013-04-25 17:01:41 -07:00
Nick Kralevich
8d3e91d4f8
linker: only re-open std* for setuid programs.
...
get_AT_SECURE() was getting called before linker_env_init() had
been called, and returning the default value ("true"). This was
causing us to reopen closed stdin, stdout, and stderr for ALL
processes, not just privileged (setuid) processes.
Calling path:
- __linker_init
- soinfo_link_image
- get_AT_SECURE
- __linker_init_post_relocation
- linker_env_init
This change restores the intended behavior of only re-opening
stdin, stdout, and stderr for privileged processes.
Change-Id: I8b085ea6597710ac4c1a3c93f1bf8b81eecb08c0
2013-04-25 13:15:24 -07:00
Elliott Hughes
9c7b510a40
am 240fb862
: Merge "Make abort messages available to debuggerd."
...
* commit '240fb8623b1fe027d0d33a9d4c41d99ceb385b58':
Make abort messages available to debuggerd.
2013-04-05 11:43:37 -07:00
Elliott Hughes
0d787c1fa1
Make abort messages available to debuggerd.
...
This adds __libc_fatal, cleans up the internal logging code a bit more,
and switches suitable callers over to __libc_fatal. In addition to logging,
__libc_fatal stashes the message somewhere that the debuggerd signal handler
can find it before calling abort.
In the debuggerd signal handler, we pass this address to debuggerd so that
it can come back with ptrace to read the message and present it to the user.
Bug: 8531731
Change-Id: I416ec1da38a8a1b0d0a582ccd7c8aaa681ed4a29
2013-04-05 11:24:19 -07:00
Elliott Hughes
3077d88347
am c48968d2
: am 4453c51c
: Merge "Drop unnecessary execution permission for .cpp/.c/.h"
...
* commit 'c48968d268820ee64986f738e227910b29290eab':
Drop unnecessary execution permission for .cpp/.c/.h
2013-03-21 19:40:15 -07:00
Kito Cheng
8f7120bbac
Drop unnecessary execution permission for .cpp/.c/.h
...
Change-Id: I9ac2b9d8f6bdb4fab8962210c5ec8f9c3e8c0ebf
2013-03-22 10:28:15 +08:00
Elliott Hughes
12ea800566
am 5f829205
: am c1416647
: Merge "Clean up internal libc logging."
...
* commit '5f8292050fc07f4bf9e70f37a807ad028e3cfc87':
Clean up internal libc logging.
2013-03-15 16:36:37 -07:00
Elliott Hughes
8f2a5a0b40
Clean up internal libc logging.
...
We only need one logging API, and I prefer the one that does no
allocation and is thus safe to use in any context.
Also use O_CLOEXEC when opening the /dev/log files.
Move everything logging-related into one header file.
Change-Id: Ic1e3ea8e9b910dc29df351bff6c0aa4db26fbb58
2013-03-15 16:12:58 -07:00
Elliott Hughes
746f128602
am 5d998b4a
: am f21aa3b6
: Merge "Use more types than just \'unsigned\' in the linker."
...
* commit '5d998b4a21aab09da750e8e43cb608f5ee6b1f3d':
Use more types than just 'unsigned' in the linker.
2013-03-12 12:03:06 -07:00
Elliott Hughes
ca0c11bd82
Use more types than just 'unsigned' in the linker.
...
Still chipping away at the situation where every variable in the
linker was of type 'unsigned'. This patch switches counts over to
being size_t and adds an explicit type for init/fini function pointers
and arrays of function pointers.
Also improve logging from CallArray.
Also remove trailing "\n"s from log messages.
Change-Id: Ie036d2622caac50f4d29f0570888bb527661d77e
2013-03-12 11:26:56 -07:00
Elliott Hughes
e9cdce33f3
am 3c9afb5e
: am 6b4c77f8
: Merge "Use Elf32_Addr instead of unsigned in linker"
...
* commit '3c9afb5e17eaa2ed5a12d71a1a09fe85f06fcb48':
Use Elf32_Addr instead of unsigned in linker
2013-03-12 10:40:56 -07:00
Kito Cheng
fa8c05dc00
Use Elf32_Addr instead of unsigned in linker
...
Change-Id: I52dcbb4b0ff0a4052e0ad7a9bbeb2df65c9d2f66
2013-03-12 10:19:14 -07:00
Elliott Hughes
8a01572272
resolved conflicts for merge of 4706606c
to jb-mr2-dev
...
Change-Id: Ibf6340df901c870cd05a2ab56536ad23b6fd491c
2013-03-07 13:19:20 -08:00
Elliott Hughes
0493a6f7be
Regenerate NOTICE files.
...
Also clean up some obsolete cruft.
Change-Id: Iec3b36f6607f7a08b72de99294ed5b6cd910dd5f
2013-03-07 11:51:10 -08:00
Brian Carlstrom
c7b9f954a5
am 91392116
: am 33031fed
: Merge "Fix typo of DT_NEEDED for DT_NULL"
...
* commit '91392116ff859b2e7656ded729b8c758107241aa':
Fix typo of DT_NEEDED for DT_NULL
2013-03-07 00:12:13 +00:00
Brian Carlstrom
2d4b9b7cff
Fix typo of DT_NEEDED for DT_NULL
...
(cherry-pick of 138b205ea9efc117fe522c2d7191378023a6e2cd)
Change-Id: Ia895cb3018df55554627f1f61dcdfdada4a961ce
2013-03-06 15:50:30 -08:00
Elliott Hughes
bac72abae4
am 50a2cd86
: am 0b4a85bf
: Merge "Fix TIMING/STATS/COUNT_PAGES dynamic linker build"
...
* commit '50a2cd865e7cc8c72d926548ed5d64e269003055':
Fix TIMING/STATS/COUNT_PAGES dynamic linker build
2013-03-06 17:44:43 +00:00
Kito Cheng
5e2492eb89
Fix TIMING/STATS/COUNT_PAGES dynamic linker build
...
Change-Id: I6432ac378816da253b83d1c7fb1d3fb64647b89e
2013-03-06 23:58:48 +08:00
Brian Carlstrom
2527a8b5a6
am 9043202b
: am 20958207
: Merge "Fix MIPS linker build"
...
* commit '9043202b5bb8e0725b0302e9da9d3a57c837e798':
Fix MIPS linker build
2013-03-06 09:18:59 +00:00
Brian Carlstrom
43cc7f795b
Fix MIPS linker build
...
(cherry-picked from 8c7d8c2057e303985f78eab96da747ddaa013c78)
Change-Id: Idcf62ab95f8fccbc2d7c3e771a4cfbe768a1555e
2013-03-06 01:05:08 -08:00
Elliott Hughes
c1a5d20d08
am 9a0b658c
: am c41dcad0
: Merge "More linker cleanup."
...
* commit '9a0b658c9c1f8f4492f61a75909e5ca2f05c3ac1':
More linker cleanup.
2013-03-06 06:44:06 +00:00
Elliott Hughes
650be4e584
More linker cleanup.
...
Change-Id: I9fb3c7c0d4b4ffef0eeaf092d4e30ffe63a08671
2013-03-05 22:24:34 -08:00
Brian Carlstrom
8c65a1e466
am a2517de3
: am 036f9097
: Merge "Minor linker cleanup, primarily to use Elf32_Dyn"
...
* commit 'a2517de3844d95b5f00a4666b8dae00ef893ac24':
Minor linker cleanup, primarily to use Elf32_Dyn
2013-03-06 01:22:25 +00:00
Brian Carlstrom
d4ee82dfa3
Minor linker cleanup, primarily to use Elf32_Dyn
...
Change-Id: Ifa9408e9859c6f79444715bed4808b7c13fdced5
2013-03-05 15:27:21 -08:00
Elliott Hughes
6f55284103
am b5862d4d
: Merge "Update linker README."
...
* commit 'b5862d4d8a1246dc1e21695cf3bacafefedf0428':
Update linker README.
2013-02-19 11:39:40 -08:00
Elliott Hughes
aa772a33ba
Update linker README.
...
Change-Id: Icaa353e9cf1848c86e7445f4ad590bdab44f7941
2013-02-19 11:13:44 -08:00
Elliott Hughes
2db16ea38e
am 3002d64b
: Merge "Everyone has a TLS register."
...
# Via Elliott Hughes (1) and Gerrit Code Review (1)
* commit '3002d64bcd4644456803dd0547d20b39e14be02c':
Everyone has a TLS register.
2013-02-13 08:11:24 -08:00
Elliott Hughes
91a9925998
Everyone has a TLS register.
...
Change-Id: Id7cdf67087aa7d5074c9c59b7e595bc391d9f146
2013-02-12 21:56:42 -08:00
Elliott Hughes
63358ae068
am 8f509e8b
: am 9a9bb243
: Merge "Switch to using AT_RANDOM for the stack guards."
...
# Via Android Git Automerger (1) and others
* commit '8f509e8be11876023d4bcb3e827ca096f22fc0c5':
Switch to using AT_RANDOM for the stack guards.
2013-02-08 11:43:09 -08:00
Elliott Hughes
d3920b3a99
Switch to using AT_RANDOM for the stack guards.
...
Bug: 7959813
Change-Id: I8db4b8912ba649bfe668c6f22aa44690ddd401a2
2013-02-08 11:16:13 -08:00
Elliott Hughes
8c372fc77e
am 5bb67760
: am f6afd3b6
: Merge "Fix x86 build, remove void* arithmetic."
...
# Via Android Git Automerger (1) and others
* commit '5bb67760f0baddd815334bf87be79f0e7fd9fafe':
Fix x86 build, remove void* arithmetic.
2013-02-07 14:45:28 -08:00
Elliott Hughes
389ebfa16f
am 6f67cd22
: am 2f41531f
: Merge "Clean up the argc/argv/envp/auxv handling."
...
# Via Android Git Automerger (1) and others
* commit '6f67cd224e6ffdfa2619849eb4b9b2ff6c1e2c59':
Clean up the argc/argv/envp/auxv handling.
2013-02-07 14:45:24 -08:00
Elliott Hughes
646e058136
Fix x86 build, remove void* arithmetic.
...
Change-Id: Idc7f14af2e094ac33de315e808176237af063bb8
2013-02-07 12:16:10 -08:00
Elliott Hughes
42b2c6a5ee
Clean up the argc/argv/envp/auxv handling.
...
There's now only one place where we deal with this stuff, it only needs to
be parsed once by the dynamic linker (rather than by each recipient), and it's
now easier for us to get hold of auxv data early on.
Change-Id: I6314224257c736547aac2e2a650e66f2ea53bef5
2013-02-07 11:44:21 -08:00
Elliott Hughes
1c3039301b
am 0e51a861
: am 4fc2a74b
: Merge "Remove partial implementation of MIPS non-PIC support."
...
# Via Android Git Automerger (1) and others
* commit '0e51a861241ea49455c519890b34e80eccfd4709':
Remove partial implementation of MIPS non-PIC support.
2013-02-06 11:55:06 -08:00
Elliott Hughes
d2b1a7311f
Remove partial implementation of MIPS non-PIC support.
...
Change-Id: I3c287e52aae10559508174e73113367aea40e5c2
2013-02-06 11:02:28 -08:00
Elliott Hughes
a1b8c145cb
am a7f44b5a
: am 172e038f
: am f09f6db5
: Merge "Use the NetBSD <sys/exec_elf.h>."
...
# Via Android Git Automerger (2) and others
* commit 'a7f44b5afe64199eeee715e613c7d42d2724232c':
Use the NetBSD <sys/exec_elf.h>.
2013-01-29 17:09:11 -08:00
Elliott Hughes
a6a3ac5924
Use the NetBSD <sys/exec_elf.h>.
...
Replace a kernel header file dependency with files from NetBSD.
They're more complete, and ELF is ELF, whether you're on Linux or a BSD.
Bug: 7973611
Change-Id: I83ee719e7efdf432ec2ddbe8be271d05b2f558d7
2013-01-29 15:02:50 -08:00
Elliott Hughes
bdd209561e
am 1029364e
: am e8e1f34a
: am 85597e2b
: Merge "Clean up debuggerd-related logging."
...
* commit '1029364ec5710755164ec9a7f0fe625cc184bb60':
Clean up debuggerd-related logging.
2013-01-22 15:23:49 -08:00
Elliott Hughes
6b8e321e61
Clean up debuggerd-related logging.
...
Bug: 7291287
Change-Id: Ia7aa386e8b75b8058d7d9e707e11b1da7dc62f00
2013-01-22 14:17:14 -08:00
Elliott Hughes
16f7b78fd1
am 4cd5703b
: am 75b64a1b
: am ca483765
: Merge "Fix the duplication in the debugging code."
...
* commit '4cd5703b9eef30a32271819503808576666e1601':
Fix the duplication in the debugging code.
2013-01-22 10:05:19 -08:00
Elliott Hughes
ca483765bd
Merge "Fix the duplication in the debugging code."
2013-01-22 17:44:15 +00:00