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
Elliott Hughes
1e980b6bc8
Fix the duplication in the debugging code.
...
We had two copies of the backtrace code, and two copies of the
libcorkscrew /proc/pid/maps code. This patch gets us down to one.
We also had hacks so we could log in the malloc debugging code.
This patch pulls the non-allocating "printf" code out of the
dynamic linker so everyone can share.
This patch also makes the leak diagnostics easier to read, and
makes it possible to paste them directly into the 'stack' tool (by
using relative PCs).
This patch also fixes the stdio standard stream leak that was
causing a leak warning every time tf_daemon ran.
Bug: 7291287
Change-Id: I66e4083ac2c5606c8d2737cb45c8ac8a32c7cfe8
2013-01-18 22:20:06 -08:00
Guang Zhu
4df577fef7
Revert "Filter ANDROID_PROPERTY_WORKSPACE"
...
Temporarily revert the change since DNS resolution seems
broken right now in ping util.
Bug: 8029617
This reverts commit a0f64756a4
.
2013-01-18 11:28:47 -08:00
Guang Zhu
bf1d225593
Revert "Filter ANDROID_PROPERTY_WORKSPACE"
...
Temporarily revert the change since DNS resolution seems
broken right now in ping util.
Bug: 8029617
This reverts commit a0f64756a4
.
2013-01-17 23:25:24 -08:00
Nick Kralevich
dbcf3ed458
am 36c4eb18
: am 3a72fe58
: am f3fe1945
: Merge "linker: add -Wl,--exclude-libs,ALL to LDFLAGS"
...
* commit '36c4eb188c6594db877bd7b9f46c55264180dc3f':
linker: add -Wl,--exclude-libs,ALL to LDFLAGS
2013-01-17 11:34:20 -08:00
Nick Kralevich
d89ce40d8e
linker: add -Wl,--exclude-libs,ALL to LDFLAGS
...
The linker is essentially a shared library, and incorporates
it's own copy of libc. Even though it's unnecessary, currently
/system/bin/linker is exporting various libc symbols (only to
apps which explicitly dlopen /system/bin/linker)
Add --exclude-libs,ALL, which tells the static linker to mark
all of the imported libc symbols as hidden. This reduces the
size of /system/bin/linker from 92K to 67K with no obvious
loss in functionality.
$ adb shell ls -l /system/bin/linker
-rwxrwxrwx root root 92260 2013-01-16 16:52 linker
$ adb shell ls -l /system/bin/linker
-rwxrwxrwx root root 67660 2013-01-16 16:49 linker
Documentation on exclude-libs can be found at
http://sourceware.org/binutils/docs-2.21/ld/Options.html
Change-Id: I4508287770e4b7a845def2e6b4af969f9c866c6a
2013-01-16 16:43:58 -08:00
Nick Kralevich
927d904d52
am 91bc5865
: am 8d01c055
: am 1271cdc1
: Merge "Revert "stack protector: use AT_RANDOM""
...
* commit '91bc5865a333212e7cac934b0a2ac7c522911d58':
Revert "stack protector: use AT_RANDOM"
2013-01-16 13:58:04 -08:00
Nick Kralevich
bcd18c0485
am 27ff1ae4
: am de666485
: am ba117e41
: Merge "stack protector: use AT_RANDOM"
...
* commit '27ff1ae414915789b27d0a485ff6d856ae742aad':
stack protector: use AT_RANDOM
2013-01-16 13:34:46 -08:00
Nick Kralevich
dde6b88a9f
am 079e4356
: am 30894bdf
: am 1b34228b
: Merge "Filter ANDROID_PROPERTY_WORKSPACE"
...
* commit '079e4356550030e8bacec86b8aa058ade2b7142c':
Filter ANDROID_PROPERTY_WORKSPACE
2013-01-16 13:34:45 -08:00
Nick Kralevich
36bd371e26
Revert "stack protector: use AT_RANDOM"
...
The AT_RANDOM changes broke setuid / setgid executables
such as "ping". When the linker executes a setuid program,
it cleans the environment, removing any invalid environment
entries, and adding "NULL"s to the end of the environment
array for each removed variable. Later on, we try to determine
the location of the aux environment variable, and get tripped
up by these extra NULLs.
Reverting this patch will get setuid executables working again,
but getauxval() is still broken for setuid programs because of
this bug.
This reverts commit e3a49a8661
.
Change-Id: I05c58a896b1fe32cfb5d95d43b096045cda0aa4a
2013-01-16 13:16:42 -08:00
Nick Kralevich
ba117e4172
Merge "stack protector: use AT_RANDOM"
2013-01-16 11:23:26 -08:00
Nick Kralevich
e3a49a8661
stack protector: use AT_RANDOM
...
Populate the stack canaries from the kernel supplied
AT_RANDOM value, which doesn't involve any system calls.
This is slightly faster (6 fewer syscalls) and avoids
unnecessarily reading /dev/urandom, which depletes entropy.
Bug: 7959813
Change-Id: If2b43100a2a9929666df3de56b6139fed969e0f1
2013-01-16 10:09:52 -08:00
Nick Kralevich
a0f64756a4
Filter ANDROID_PROPERTY_WORKSPACE
...
When executing a setuid executable, filter out ANDROID_PROPERTY_WORKSPACE
from the environment. Some applications implicitly trust the property
space and don't realize that it's passed by an environment variable
which can be modified by the caller.
Change-Id: I3e3a98941f0a1f249a2ff983ecbcfe1278aa9159
2013-01-15 16:02:03 -08:00
Elliott Hughes
32cefdbc7a
am 375db86a
: am 09d13c39
: Merge "Fix my git mistake."
...
* commit '375db86aeaedfe716b69a62f81a2484ee446d5e5':
Fix my git mistake.
2013-01-14 10:34:44 -08:00
Elliott Hughes
99c32055cb
Fix my git mistake.
...
This was the formatting change that was supposed to be in
cf23905a4b
.
Change-Id: Ib79fa031b68f6f541f532507eb589afeaedb831f
2013-01-14 09:56:21 -08:00
Elliott Hughes
14ab1a63d6
am bc3c7183
: am 48c632a3
: Merge "[MIPS] Set DT_DEBUG dyntab entry if it is writable"
...
* commit 'bc3c718346d81c04451c35c2d8fb00c68b0a815d':
[MIPS] Set DT_DEBUG dyntab entry if it is writable
2013-01-14 09:50:50 -08:00
Chris Dearman
cf23905a4b
[MIPS] Set DT_DEBUG dyntab entry if it is writable
...
This is primarily for MIPS exutables that do not have a
DT_MIPS_RLD_MAP entry.
Change-Id: I4c221d92debcfed961eeee2515123f3fb21ec8e6
Signed-off-by: Chris Dearman <chris@mips.com>
2013-01-14 09:30:25 -08:00
Elliott Hughes
8dd63f31ba
am 81508de3
: am f0036944
: Merge "Fix debug malloc."
...
* commit '81508de3d277db2ef3c8aa55b57ce3ce0a142e48':
Fix debug malloc.
2013-01-03 16:47:22 -08:00
Elliott Hughes
db492b3ca7
Fix debug malloc.
...
...which has been broken since the linker data structures went read-only.
Bug: 7941716
Change-Id: If28f6bac0fcb13e371e4d85b064544f561c8d692
2013-01-03 15:44:03 -08:00
Elliott Hughes
36a9f354c0
am c0c05ff8
: am 918d776f
: Merge "Support System.loadLibrary for libraries with transitive dependencies."
...
* commit 'c0c05ff8ecfe5f27aedcd6315e191245aa7b4824':
Support System.loadLibrary for libraries with transitive dependencies.
2012-12-28 09:48:19 -08:00
Elliott Hughes
0ce87c8984
am df5c77c9
: am f6524f8b
: Merge "Fix format_number."
...
* commit 'df5c77c91a276a79d05f58241df3695b56422d54':
Fix format_number.
2012-12-28 09:46:53 -08:00
Elliott Hughes
918d776f7e
Merge "Support System.loadLibrary for libraries with transitive dependencies."
2012-12-21 17:46:22 -08:00
Elliott Hughes
eababde214
Fix format_number.
...
I broke this the other day when silencing x86 gcc warnings.
Bug: 7904160
Change-Id: I8e60cc1f8cbaff95248c8738d84e515413d839e4
2012-12-20 19:00:48 -08:00
Elliott Hughes
cade4c36e7
Support System.loadLibrary for libraries with transitive dependencies.
...
Also fix the FLAG_ERROR annoyance --- it's not helpful to cache failures.
Bug: 7896159
Bug: http://code.google.com/p/android/issues/detail?id=34416
Bug: http://code.google.com/p/android/issues/detail?id=22143
Change-Id: I60f235edb4ea4756e1f7ce56f7739f18e8a50789
2012-12-20 14:42:14 -08:00
Elliott Hughes
d020802e37
am 5fd31f68
: am 4b582142
: Merge "Fix x86 dynamic linker build."
...
* commit '5fd31f6891a6e0b5db84c4c7992d0a4b08f3dddd':
Fix x86 dynamic linker build.
2012-12-19 09:51:36 -08:00
Elliott Hughes
05ab167cf7
am a0edecf3
: am a4ebdcf5
: Merge "Check for unknown flags passed to dlopen(3)."
...
* commit 'a0edecf3438d036ee2353076d171ee68939c2a5e':
Check for unknown flags passed to dlopen(3).
2012-12-18 19:44:10 -08:00
Elliott Hughes
45288c5ce3
Fix x86 dynamic linker build.
...
Change-Id: Ia9fc6342e3d409de86dcd187c7402e8ac2ae96c8
2012-12-18 18:13:19 -08:00
Elliott Hughes
e66190d2a9
Check for unknown flags passed to dlopen(3).
...
Change-Id: I56f4aab0e5a1487bc32d2c4d231e8bd15c4ac8da
2012-12-18 15:57:55 -08:00
Elliott Hughes
2e51dc444f
am 4835e6ef
: am 97b70b2b
: Merge "Replace .S version of x86 crtfiles with .c version"
...
* commit '4835e6ef519fc941651bbc13909cff971a6ec81b':
Replace .S version of x86 crtfiles with .c version
2012-11-30 10:16:06 -08:00
Elliott Hughes
97b70b2bda
Merge "Replace .S version of x86 crtfiles with .c version"
2012-11-30 10:07:19 -08:00
Pavel Chupin
20c4a3a8ee
Replace .S version of x86 crtfiles with .c version
...
This patch replaces .S versions of x86 crtfiles with .c which are much
easier to support. Some of the files are matching .c version of Arm
crtfiles. x86 files required some cleanup anyway and this cleanup actually
led to matching Arm files.
I didn't change anything to share the same crt*.c between x86 and Arm. I
prefer to keep them separate for a while in case any change is required
for one of the arch, but it's good thing to do in the following patches.
Change-Id: Ibcf033f8d15aa5b10c05c879fd4b79a64dfc70f3
Signed-off-by: Pavel Chupin <pavel.v.chupin@intel.com>
2012-11-30 17:41:25 +04:00
Elliott Hughes
4867b00666
am f2de6b0f
: Merge "Do not include \'\0\' when writing error messages to stderr"
...
* commit 'f2de6b0f6e873f9cb28682b8fc6764b0ab41c6ee':
Do not include '\0' when writing error messages to stderr
2012-11-26 16:04:19 -08:00
Chris Dearman
20a24403bc
Do not include '\0' when writing error messages to stderr
...
Change-Id: I6adc806c3920e5a4ae61ca55c40613fcf338b18c
Signed-off-by: Chris Dearman <chris@mips.com>
2012-11-26 15:43:17 -08:00
Nick Kralevich
c16ea16134
am 8784709a
: Merge "We should use load_bias. This patch fixes MIPS NDK device exception test failures."
...
* commit '8784709a2cfe6d32b5fff2c6b826b8d9cbf73d7b':
We should use load_bias. This patch fixes MIPS NDK device exception test failures.
2012-11-19 11:08:49 -08:00
Nick Kralevich
8784709a2c
Merge "We should use load_bias. This patch fixes MIPS NDK device exception test failures."
2012-11-19 10:45:18 -08:00
Chao-Ying Fu
c5db969aa4
We should use load_bias. This patch fixes MIPS NDK device exception test failures.
...
Change-Id: I4b718c36666e66062c1f13e4deea1ec7a7951c54
2012-11-19 10:30:15 -08:00
Nick Kralevich
aec9a254a2
am 170168cd
: Merge "Temporarily address gcc 4.7 breakage."
...
* commit '170168cdf37111b45b15817fab9e3df54cbc27b7':
Temporarily address gcc 4.7 breakage.
2012-11-16 10:42:55 -08:00
Nick Kralevich
83697b8b76
Temporarily address gcc 4.7 breakage.
...
Change-Id: I8ebb2d5df2f8f8aedf252c94ff69505e61ed0a74
2012-11-15 15:48:19 -08:00
Elliott Hughes
da71c7d9a3
am ce876beb
: am a41e6426
: Merge "Tone down some of the overly-verbose linker logging."
...
* commit 'ce876bebf250d386a06ebc1145c6959e30bf413c':
Tone down some of the overly-verbose linker logging.
2012-11-05 09:21:57 -08:00
Elliott Hughes
ce876bebf2
am a41e6426
: Merge "Tone down some of the overly-verbose linker logging."
...
* commit 'a41e6426073c57881f49bdaec46ca90a5b164401':
Tone down some of the overly-verbose linker logging.
2012-11-05 09:19:57 -08:00
Elliott Hughes
9c94fc9fbe
Tone down some of the overly-verbose linker logging.
...
We don't need to see every dlopen(3)/dlsym(3) failure unless LD_DEBUG is on.
Change-Id: I1edfe8b72f32ff54dd30e1acf32e20d470d5e9f7
2012-11-05 09:11:43 -08:00
Elliott Hughes
f1566fd692
am bc35807f
: am 9df2e000
: Merge "Cleaning the linker environment as we initialize it requires less API."
...
* commit 'bc35807fc6c5f11b6d057b20250d41ebc419da62':
Cleaning the linker environment as we initialize it requires less API.
2012-11-02 13:58:48 -07:00
Elliott Hughes
d752fc0286
am cfb47daf
: am 01271b18
: Merge "Make dynamic linker debugging always available."
...
* commit 'cfb47daf4eb4741ac462c7350c73ad1cf96cf83f':
Make dynamic linker debugging always available.
2012-11-02 13:58:47 -07:00
Elliott Hughes
bc35807fc6
am 9df2e000
: Merge "Cleaning the linker environment as we initialize it requires less API."
...
* commit '9df2e000b5d56b2e529656034d684e370aa6a8d1':
Cleaning the linker environment as we initialize it requires less API.
2012-11-02 13:56:00 -07:00
Elliott Hughes
cfb47daf4e
am 01271b18
: Merge "Make dynamic linker debugging always available."
...
* commit '01271b1812f2cec8aaf3c105b9f960f027b33a95':
Make dynamic linker debugging always available.
2012-11-02 13:55:59 -07:00
Elliott Hughes
9df2e000b5
Merge "Cleaning the linker environment as we initialize it requires less API."
2012-11-02 13:47:50 -07:00
Elliott Hughes
61a9ccb41e
Make dynamic linker debugging always available.
...
If you need to build your own linker to get debugging, the debugging
is never available when you need it.
Change-Id: I5ff7e55753459d49a2990f25d9aa155e0b8602e0
2012-11-02 13:46:23 -07:00
Elliott Hughes
0894b2c5d3
Cleaning the linker environment as we initialize it requires less API.
...
Change-Id: I612fd699e46833a411589478564a1f859223c380
2012-11-02 12:40:11 -07:00
Elliott Hughes
1d0129b1b2
am cdc5a17c
: am ed537239
: Merge "Adjust symbol lookup for DT_SYMBOLIC case"
...
* commit 'cdc5a17cef00c49086e1bfe4c3715d2ebd61addb':
Adjust symbol lookup for DT_SYMBOLIC case
2012-11-02 11:39:02 -07:00
Elliott Hughes
cdc5a17cef
am ed537239
: Merge "Adjust symbol lookup for DT_SYMBOLIC case"
...
* commit 'ed537239a94ebd11a8c262a319d81fd1f0d3f73f':
Adjust symbol lookup for DT_SYMBOLIC case
2012-11-02 11:37:40 -07:00
Elliott Hughes
ed537239a9
Merge "Adjust symbol lookup for DT_SYMBOLIC case"
2012-11-02 11:25:49 -07:00
Pavel Chupin
c77c434149
Adjust symbol lookup for DT_SYMBOLIC case
...
According ELF spec re. DT_SYMBOLIC:
This element's presence in a shared object library alters the dynamic
linker's symbol resolution algorithm for references within the library.
Instead of starting a symbol search with the executable file, the
dynamic linker starts from the shared object itself. If the shared
object fails to supply the referenced symbol, the dynamic linker then
searches the executable file and other shared objects as usual.
This change implements the last part.
Change-Id: Iae95d53d455313a4306f11733941bcd3596ac85f
Signed-off-by: Pavel Chupin <pavel.v.chupin@intel.com>
2012-11-02 18:34:22 +04:00
Elliott Hughes
eb15e1d485
am e109930e
: am dc77a228
: Merge "Allow dlopen("egl/blah.so")."
...
* commit 'e109930e9fd0922280e6f74b3df270093ee95fa6':
Allow dlopen("egl/blah.so").
2012-11-01 23:10:56 -07:00
Elliott Hughes
e109930e9f
am dc77a228
: Merge "Allow dlopen("egl/blah.so")."
...
* commit 'dc77a22850e31eb369ec9776c13c967566bf61d0':
Allow dlopen("egl/blah.so").
2012-11-01 23:08:27 -07:00
Elliott Hughes
6971fe4ca5
Allow dlopen("egl/blah.so").
...
NVIDIA binary blobs construct strings to pass to dlopen(3) that
contain '/' but require that we fall back to LD_LIBRARY_PATH.
Change-Id: Iad831899986baace6962f4b335eeb288250a1e22
2012-11-01 22:59:19 -07:00
Elliott Hughes
d781dfdb09
am 6db8f5bb
: am d30116cf
: Merge "Keep the dynamic linker\'s soinfo pools mostly read-only."
...
* commit '6db8f5bb75bb79e0b4873e6d293aa25e2c9f090b':
Keep the dynamic linker's soinfo pools mostly read-only.
2012-11-01 17:02:23 -07:00
Elliott Hughes
6db8f5bb75
am d30116cf
: Merge "Keep the dynamic linker\'s soinfo pools mostly read-only."
...
* commit 'd30116cf4a590e7bea3b73fa49bb27502a920819':
Keep the dynamic linker's soinfo pools mostly read-only.
2012-11-01 17:00:13 -07:00
Elliott Hughes
d23736e4f2
Keep the dynamic linker's soinfo pools mostly read-only.
...
We'll need a lot more refactoring of this code before we can reduce
the granularity, but this is a step forward.
Change-Id: I07061720e734b571a8399c1d5b4f2f35cd681307
2012-11-01 16:48:14 -07:00
Elliott Hughes
02c3513e5f
am 65ba5b62
: am 064f862d
: Merge "Stop defining our own PAGE_SIZE and PAGE_MASK, and test dlclose(3) too."
...
* commit '65ba5b62c5a59181317b86f772d9ebb756d4741f':
Stop defining our own PAGE_SIZE and PAGE_MASK, and test dlclose(3) too.
2012-11-01 14:15:11 -07:00
Elliott Hughes
65ba5b62c5
am 064f862d
: Merge "Stop defining our own PAGE_SIZE and PAGE_MASK, and test dlclose(3) too."
...
* commit '064f862d557ab741575dfae479499a07ca0ab742':
Stop defining our own PAGE_SIZE and PAGE_MASK, and test dlclose(3) too.
2012-11-01 14:14:00 -07:00
Elliott Hughes
1a6961650c
Stop defining our own PAGE_SIZE and PAGE_MASK, and test dlclose(3) too.
...
Also remove an unnecessary #include and a now-obsolete TODO.
Change-Id: I36d923721e349a286934b9534090a67ce0786e7b
2012-11-01 13:53:26 -07:00
Elliott Hughes
00fe4a20d7
am 3bb62578
: am 0be1819b
: Merge "Dynamically allocate soinfo-structs in linker"
...
* commit '3bb62578beb36a35d3b1d2fbe18bd34a9d4ecca4':
Dynamically allocate soinfo-structs in linker
2012-11-01 11:47:31 -07:00
Elliott Hughes
3bb62578be
am 0be1819b
: Merge "Dynamically allocate soinfo-structs in linker"
...
* commit '0be1819b22b33fbedcb150f96a196ed096abe2fc':
Dynamically allocate soinfo-structs in linker
2012-11-01 11:44:29 -07:00
Magnus Malmborn
ba98d9237b
Dynamically allocate soinfo-structs in linker
...
Request memory from the system when needed instead of having a fixed
array for soinfo structs. Note that malloc() et al can't be used in
linker, so use mmap() instead.
Change-Id: I4b495995931d7752b0e8c944e64d1fe41b9f7144
2012-11-01 11:31:39 -07:00