+ Don't flush characters when switching into and out of raw mode. This
avoids eating characters that follow '\n'. (Such characters can occur
when pasting multiple line input, or when scripts are driving input.)
+ Try to be slightly cleverer about calculating the length of the prompt,
so that prompts with embedded '\n' characters are handled OK. This is
an area that really needs to be replaced with a query of the cursor
position from the terminal.
+ As a hack, just assume the screen is very wide if we don't know how
wide it is. This allows dexpropt to work correctly. (It was getting
confused by the editing commands emitted when the end-of-line was reached.)
Change-Id: I988dd0f0bceb22b298e915be0dde085c9358ef66
Merge commit '324a98f1901fb84ec4c88196e01c3e14c2b5a4a4' into kraken
* commit '324a98f1901fb84ec4c88196e01c3e14c2b5a4a4':
sh: Fix problem with stray '\r' character that was introduced in previous change
Merge commit 'b1fb3bd13a4da8bc46a44ec5eef6de9cb952f163' into kraken
* commit 'b1fb3bd13a4da8bc46a44ec5eef6de9cb952f163':
Make /proc/kmsg and /proc/sysrq-trigger system-process-readable
Merge commit '230cb33fd1ab335c6f808c72db891993b00110a0' into froyo-plus-aosp
* commit '230cb33fd1ab335c6f808c72db891993b00110a0':
Make /proc/kmsg and /proc/sysrq-trigger system-process-readable
Port number is now optional. Will use default port 5555 if not specified.
"adb disconnect" with no additional arguments will disconnect all TCP devices.
Change-Id: I7fc26528ed85e66a73b8f6254cea7bf83d98109f
Signed-off-by: Mike Lockwood <lockwood@android.com>
Merge commit '5dc0f5db7152a604377af30f7d2139a84fd7b30c' into kraken
* commit '5dc0f5db7152a604377af30f7d2139a84fd7b30c':
Use linenoise to add simple editing and history to the Android shell.
Merge commit 'c57a22c8561cc571d23cd7f321103b2b4d2c7cde' into kraken
* commit 'c57a22c8561cc571d23cd7f321103b2b4d2c7cde':
Let "adb connect" connect to emulators too
This is so that the system process can capture kernel thread stacks when the
watchdog detects a deadlock. Previously, /proc/kmsg was root/root and mode
0400, and /proc/sysrq-trigger was root/root and mode 0200. With this
change, /proc/kmsg becomes root/system and 0440, and /proc/sysrq-trigger
becomes root/system and 0220.
Change-Id: Iac46bd10bd11d495024afeb5d693107ce5074791
Missing a #define to map android_atomic_swap to its new name. Worked
fine in the other branches, because nobody was using android_atomic_swap
in the other branches.
Change-Id: I0e730e9823ac5cd2fee5a3f856ce05d36df5d87e
This introduces UBFX instruction generation abilities to the Pixelflinger JIT,
and also modifies the component extraction function to generate the
instruction.
The extract function contains defines to prevent generation of UBFX on pre-v7
cores. The JIT itself retains the ability to produce the instruction even on
v5/6.
This patch only generates UBFX when MOV, AND or BIC can't be used. Based on
the TRM, this appears to be faster on A9 than using UBFX in all cases.
On startup, Pixelflinger JITs three chunks of code. UBFX improves these as
follows:
00000077:03515104_00000000_00000000
(Blends a single colour into an RGB565 buffer.)
Before: 27 inst/pixel, After: 24 inst/pixel, Improvement: 12.5%
00000077:03545404_00000A01_00000000
(Blends RGBA8888 texture into an RGB565 buffer using alpha.)
Before: 30 inst/pixel, After: 27 inst/pixel, Improvement: 11.1%
00000077:03545404_00000A04_00000000
(Blends RGB565 texture into an RGB565 buffer using alpha.)
Before: 29 inst/pixel, After: 27 inst/pixel, Improvement: 7.4%
Added new atomic functions, renamed some old ones. Some #defines have
been added for backward compatibility.
Merged the pre- and post-ARMv6 implementations into a single file.
Renamed the semi-private __android_membar_full_smp to USE_SCREAMING_CAPS
since that's more appropriate for a macro.
Added lots of comments.
Note Mac OS X primitives have not been tested.
Change-Id: If827260750aeb61ad5c2b760e30658e29dbb26f2
The linenoise library is from http://github.com/antirez/linenoise
This patch also disables command-line editing and history from adb. The
adb implementation was shadowing the Android shell's implementation.
The adb implementation was also shadowing the editing and history
implementation in alternative shells such as BusyBox's ash.
Change-Id: I7ebd4cb391d0ce966c0ce0e707d80ecd659f9079
This change enables debuggerd to provide backtraces with function
names in tombstone files and log messages. It does this by reading
the image file that the address is found in, and parsing the dynamic
symbol table to try to extract the symbol corresponding to the given
address.
This works best when "-Wl,-export-dynamic" is added to the LDFLAGS
of each library and executable, because this will cause all symbols
to be added to the dynamic symbol table. If this flag is not present,
it will still work, but it will only be able to identify functions
which are part of the external API of the library/executable.
Change-Id: I618baaff9ed9143b7d1a1f302224e9f21d2b0626
- adb can now connect to an emulator configured with an arbitrary
pair of <console port, adb port>. These two ports do not have to be
adjacent.
This can be done from the commandline at any time using
adb connect emu:<console_port>,<adb_port>
- Emulators running on ports outside the normal range
(5554/5555-5584/5585) register themselves on startup if they follow
the convention "console port+1==abd port".
- Emulators outside the normal port range will not be auto-detected on
adb startup as these ports are not probed.
- The index into local_transports[] array in transport_local.c does no
longer indicate the port number of the local transport. Use the altered
atransport struct to get the port number.
- I have chosen not to document the adb connect emu:console_port,adb_port
syntax on adb's help screen as this might be confusing to most readers
and useful to very few.
- I don't expect this to introduce any (backwards) compatibility issues.
Change-Id: Iad3eccb2dcdde174b24ef0644d705ecfbff6e59d
Signed-off-by: Mike Lockwood <lockwood@android.com>