am 04482eab: am f998116b: am 08c372d1: Merge "libnetutils: Turn on -Werror"

* commit '04482eaba2584c3a05bff4a6647f0a2e55475a91':
  libnetutils: Turn on -Werror
am 0520298e: am 0b17e1cf: am 72be6d5e: Merge "cpio: Turn on -Werror"

* commit '0520298e3a58c99bc87a4e8c5f64aa419354159b':
  cpio: Turn on -Werror
am c37297f3: am 3f69451b: am 818f8004: Merge "logd: used before set warning"

* commit 'c37297f3318617849e5930870afb18bbaf91ddb5':
  logd: used before set warning
include: cleanup for -Wsystem-header

- warnings as errors, or errors introduced when -Wsystem-header
  was experimentally introduced.

Change-Id: Ia8f5b3c1c1096e191741223d52526aa48c7f1cc4
system/window.h: add deprecation warnings

Change-Id: I38de3d281f28e0750b4abb86f28509f98dfc7a72
Only copy mcontext data from sigcontext.

The ucontext_t data structure could be bigger than the kernel data
structure. Since the unwinder only cares about the mcontext data, only
copy that out of the structure. The mcontext data is the same size in
the kernel and in the ucontext_t structure.

Bug: 15189014
Change-Id: I5978169c4425b8212e11db85a57eb319cd0e264b
Merge "include: cleanup for -Wsystem-header"
Merge "Only copy mcontext data from sigcontext."
am 8814bd1d: Merge "include: cleanup for -Wsystem-header"

* commit '8814bd1d24e3ce9476e64ba641d592521fcf80ed':
  include: cleanup for -Wsystem-header
am d917d64f: Merge "Only copy mcontext data from sigcontext."

* commit 'd917d64fafb2eca22c9c75a8527eb4e920a9f079':
  Only copy mcontext data from sigcontext.
am 21157abc: am 8814bd1d: Merge "include: cleanup for -Wsystem-header"

* commit '21157abcd932e899032689dba120d4f7cb08aa23':
  include: cleanup for -Wsystem-header
am 7aa8cdfb: am 21157abc: am 8814bd1d: Merge "include: cleanup for -Wsystem-header"

* commit '7aa8cdfb317dcb7efb7127b070526df09da05377':
  include: cleanup for -Wsystem-header
am a0962b68: am d917d64f: Merge "Only copy mcontext data from sigcontext."

* commit 'a0962b687a20dace14b5b2e12d96141a51140cab':
  Only copy mcontext data from sigcontext.
am 012090e5: am a0962b68: am d917d64f: Merge "Only copy mcontext data from sigcontext."

* commit '012090e57b697133ad6f7d989e103d71302749f8':
  Only copy mcontext data from sigcontext.
Merge "Add a zygote 64/32 bit config."
am 5fe6fcc3: Merge "Add a zygote 64/32 bit config."

* commit '5fe6fcc35d10c88dd55213dc5b2303ea73c1883b':
  Add a zygote 64/32 bit config.
am 9196f5f2: am 5fe6fcc3: Merge "Add a zygote 64/32 bit config."

* commit '9196f5f2df7890100e8968983680e196e944bd05':
  Add a zygote 64/32 bit config.
am b5d6c188: am 9196f5f2: am 5fe6fcc3: Merge "Add a zygote 64/32 bit config."

* commit 'b5d6c18859424d86339ce895a42084a9c08552fd':
  Add a zygote 64/32 bit config.
Add UID and directory for RELRO sharing support.

Define a UID to be used by the process responsible for creating shared
RELRO files for the WebView native library, and create a directory owned
by that UID to use to store the files.

Bug: 13005501
Change-Id: I5bbb1e1035405e5534b2681f554fe16f74e3da1a
adb: implement "adb reverse <local> <remote>"

This implements the logical opposite of 'adb forward', i.e.
the ability to reverse network connections from the device
to the host.

This feature is very useful for testing various programs
running on an Android device without root or poking at the
host's routing table.

Options and parameters are exactly the same as those for
'adb forward', except that the direction is reversed.

Examples:

  adb reverse tcp:5000 tcp:6000
    connections to localhost:5000 on the device will be
    forwarded to localhost:6000 on the host.

  adb reverse --no-rebind tcp:5000 tcp:6000
    same as above, but fails if the socket is already
    bound through a previous 'adb reverse tcp:5000 ...'
    command.

  adb reverse --list
    list all active reversed connections for the target
    device. Note: there is no command to list all
    reversed connections for all devices at once.

  adb reverse --remove tcp:5000
    remove any reversed connection on the device from
    localhost:5000

  adb reverse --remove-all
    remove all reversed connections form the current
    device.

Reversed connections are tied to a transport, in other
words, they disappear as soon as a device is disconnected.

Simple testing protocol:

  adb forward tcp:5000 tcp:6000
  adb reverse tcp:6000 tcp:7000
  nc -l localhost 7000

in another terminal:
  echo "Hello" | nc localhost 5000

Will print "Hello" on the first terminal.

Change-Id: I761af790cdb06829b68430afa4145a919fa0e6d5