History log of /bionic/libc/tools/
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
d11eac3455a059a092ceee92eda9905e1d661e94 07-Oct-2014 Christopher Ferris <cferris@google.com> Force export symbols on all x86 variants in libc.

For silvermont, the __popcountsi2 symbol does not get exported by libc.
But for atom, this symbol is exported. Since we already exported this symbol
for previous releases, it's better to just follow through and force
the export, but only for 32 bit. x86 64 bit will not export this symbol.

Bug: 17681440
Change-Id: I6c62245f0960910f64baaaf6d9d090bf3ea5f435
enlibgcc_compat.py
7efad83d430f4d824f2aaa75edea5106f6ff8aae 09-Sep-2014 Elliott Hughes <enh@google.com> Ensure __set_errno is still visible on LP32.

The use of the .hidden directive to avoid going via the PLT for
__set_errno had the side-effect of actually making __set_errno
hidden (which is odd because assembler directives don't usually
affect symbols defined in a different file --- you can't even
create a weak reference to a symbol that's defined in a different
file).

This change switches the system call stubs over to a new always-hidden
__set_errno_internal and has a visible __set_errno on LP32 just for
binary compatibility with old NDK apps.

Bug: 17423135
Change-Id: I6b6d7a05dda85f923d22e5ffd169a91e23499b7b
ensyscalls.py
e35fd48a832cddbedcf84773fd1922f735ae7829 09-Aug-2014 Dan Albert <danalbert@google.com> Make __set_errno hidden in asm.

This fixes the build after the -Bsymbolic change.

Bug: 16853291
Change-Id: I989c9fec3c32e0289ea257a3bd2b7fd2709b6ce2
(cherry picked from commit bc9f9f25bf1247a6a638a2a2df8441bdd9fabad7)
ensyscalls.py
90cb5ffb85a9bc2e725824b3ca8db932d02c45db 07-Aug-2014 Elliott Hughes <enh@google.com> Fix the tzdata update tools.

The recent libcore ZoneInfo changes mean that we can no longer
compile libcore's ZoneInfo against the RI. Luckily, the field in
our data file that we needed ZoneInfo for isn't actually used.
This change removes our dependence on libcore.

I've left the field in to avoid a file format change. We can remove
the field if/when we next have a real need to bump the file format.

Bug: 16168653
Change-Id: Iedad2252c2b49f4d8bb2c7d9078b39b622444ca7
oneinfo/ZoneCompactor.java
oneinfo/update-tzdata.py
2aa142ffb20337e60f81642bed1c11d24a3756b1 23-Jul-2014 Elliott Hughes <enh@google.com> Fix generate-NOTICE to cope better with BSD __COPYRIGHT macros.

(cherry picked from commit 5d2f86f36341b76f84770d8966d7686a59555ae9)

Change-Id: Iddf22c8d9ff7a4d1205d37bb58c6235af681d795
enerate-NOTICE.py
4ac83fad3cdc486c00199eef9ea2a95d354839c4 23-Jul-2014 Elliott Hughes <enh@google.com> Fix a couple of bugs in generate-NOTICE and regenerate the NOTICE files.

(cherry picked from commit 3758a244cf758046b40f630a11aed41e68c9cfc2)

Change-Id: I6ffb83b4a7b7746b095205c664cf025a72ead179
enerate-NOTICE.py
30ab93949626872b3e6ea35398c831017c4c378f 10-Jul-2014 Elliott Hughes <enh@google.com> update-tzdata.py needs to know where to find icu.

Change-Id: If5561b92c233276fb072da62be21f23df4781c41
oneinfo/update-tzdata.py
e8e453439fa87d9fccf03006cc4dac76acadf44c 13-Jun-2014 Elliott Hughes <enh@google.com> Bring our "libresolv" stuff in line with glibc.

Despite the name, most of resolv_private.h is actually in glibc; it's just
that there it's tucked away in libresolv whereas we have it in libc.

Change-Id: Ibcf6603f1141ffd2661cee0bffa83052d4f9e549
heck-symbols-glibc.py
602b4e482ce7bfa768a4c84baffc3051eca52346 07-Jun-2014 Serban Constantinescu <serban.constantinescu@arm.com> AArch64: Remove Frame Record from ARM64 syscalls

This patch removes the frame record created on svc calls.

Change-Id: I67cf926ba59540e824fb9749d30538e332df7c1e
Signed-off-by: Serban Constantinescu <serban.constantinescu@arm.com>
ensyscalls.py
f6b1d439ccbc34f8dec0d0c949f566f82786fa5b 07-Jun-2014 Elliott Hughes <enh@google.com> Add a few more C11 functions to the whitelist.

Change-Id: Ie2e767910d7cc8a78c05e29960cf4ab52a59fe9d
heck-symbols-glibc.py
15a0456d0b7618554ed3d49287e77b6d43a2812a 06-Jun-2014 Elliott Hughes <enh@google.com> Remove unnecessary instructions from x86/x86_64 syscalls.

__set_errno returns -1 exactly so that callers don't need to bother.
The other architectures were already taking advantage of this, but
no one had ever fixed x86 and x86_64.

Change-Id: Ie131494be664f6c4a1bbf8c61bbbed58eac56122
ensyscalls.py
15b91e92a0bb4a15b4f2258bea332f4a67fa94d7 30-May-2014 Christopher Ferris <cferris@google.com> Fix x86 cfi directives for syscalls.

The syscall generation always used 4 bytes for each push cfi directive.
However, the first push should always use an offset of 8 bytes, each
subsequent push after that is only 4 bytes though.

Change-Id: Ibaabd107f399ef67010b9a08213783957c2f74a9
ensyscalls.py
45bf4c315d1e42fafa190b691ce98b152a5d5bf7 23-May-2014 Elliott Hughes <enh@google.com> Add some more BSD symbols to the list.

Bug: 11156955
Change-Id: I07489ec63536121dbfc372170ef5cf60a5c58948
heck-symbols-glibc.py
df22a121b2c75021585e4eea49fd3af92d579dd0 22-May-2014 Christopher Ferris <cferris@google.com> Add cfi directives for arm64 assembler.

Fix syscall generator to add cfi directives and add the directives
for all arm64 assembler.

Bug: 15138290
Change-Id: I7f0e4a16c141ac624e5276917a3a1ed45778e057
ensyscalls.py
768051405e8d471e06447a5b7223c742022f525a 21-May-2014 Neil Fuller <nfuller@google.com> Merge "Treat zero or >1 dat files as an error"
43f37159532c1ef7218266957cc616f055b4dbac 21-May-2014 Neil Fuller <nfuller@google.com> Treat zero or >1 dat files as an error

Based on feedback from
I7efbd6f453fe2b3e71f564121ff0f64a74289d86

Change-Id: Ie131ab8475083350dc183d9f6d5ea7a0b0617c5b
oneinfo/update-tzdata.py
29f2906bdaf9afe816fc9196437fc07728af98bf 21-May-2014 Elliott Hughes <enh@google.com> Merge "Add a few more symbols to check-symbols-glibc."
227848854695fe5b6f7183fe507edf093808d8ff 21-May-2014 Neil Fuller <nfuller@google.com> Merge "Change update-tzdata.py to update ICU data as well"
b497c43336475ff5f0248436510a7fbeccfa96a9 21-May-2014 Elliott Hughes <enh@google.com> Add a few more symbols to check-symbols-glibc.

Bug: 11156955
Change-Id: Iee0bae6f9742eca188abc7a337371c50888a0ad6
heck-symbols-glibc.py
246c6880207539d01e84a6f049cd639139a0691a 16-May-2014 Neil Fuller <nfuller@google.com> Change update-tzdata.py to update ICU data as well

The update-tzdata.py tool now uses downloaded Olson data
to update ICU (*new*) at the same time as it updates Bionic
data.

Change-Id: I7efbd6f453fe2b3e71f564121ff0f64a74289d86
oneinfo/update-tzdata.py
5a93e88c7f8d8ac7de39f8020c2056816deda28c 16-May-2014 Elliott Hughes <enh@google.com> Add a script for finding symbols in bionic that aren't in glibc.

Bug: 11156955
Change-Id: I9772f054f6a92b842531df084dee0ea9c28806be
heck-symbols-glibc.py
bfa582d0322932862087db7a8546c042e6602557 05-May-2014 Elliott Hughes <enh@google.com> Update the NOTICE files and improve the script slightly.

Change-Id: Ia131634cd97ca9523e1b63dce41f66247cbaa311
enerate-NOTICE.py
6a45fe98727f9ee39386d39fa18eea69c706bc9e 19-Apr-2014 Dmitriy Ivanov <dimitry@google.com> Fix for libgcc compat generation script.

Taking into account possibility that external symbol
could have been an OBJECT instead of function.

b/14090368

Change-Id: Iac173d2dd1309ed53024306578137c26b1dbbf15
enlibgcc_compat.py
22a0d6fcdceb05d1f11a62fe0f8c7dbe4867bd13 07-Mar-2014 Elliott Hughes <enh@google.com> Bring the generate-NOTICE script up to date.

Change-Id: I63981a2f3cb0a4d7ee7e1a2b4ce00f77898ac25b
enerate-NOTICE.py
54d49ac75b4b71f38eb154ab8e05f60b7c347a2b 20-Feb-2014 Dmitriy Ivanov <dimitry@google.com> Merge "Added script generating additions to libgcc_compat.c from linker errors"
adab51aefdd00b65d631f64e6e313713d7dd9564 20-Feb-2014 Dmitriy Ivanov <dimitry@google.com> Added script generating additions to libgcc_compat.c from linker errors

bug: 12234455
Change-Id: Icac35237f06e75745da5a91d9c4c941d7df4f84d
enlibgcc_compat.py
d465eb4e76c24b1e782438a4c9e2c9abc20fe66c 20-Feb-2014 Elliott Hughes <enh@google.com> Remove the useless _C_LABEL from generated system calls.

Change-Id: Id1d2fd39972652831ea825f6f9cf940b08f42b5c
ensyscalls.py
9abbbdc5346020e33a8fdbe7254dd0fdff9df616 19-Feb-2014 Elliott Hughes <enh@google.com> Make mips/mips64 syscall stubs more like the other architectures.

Change-Id: I55f8c1a95f643a6e484f12fbcc25e2c77e55b6b8
ensyscalls.py
eae27dc55adca75c2332e4b767ec667acfbbbcb3 19-Feb-2014 Elliott Hughes <enh@google.com> Make mips generated assembler more like the mips64 stuff.

I broke the mips build yesterday because it doesn't use
<private/bionic_asm.h> like the other architectures, including mips64.
I want to move mips closer to mips64 to try to avoid this kind of thing
in future.

Change-Id: Idb985587ff355b9e5e765c1f5671dc0144cd2488
ensyscalls.py
986f9067103e41296898a7c0e89f5ed84420fb5b 19-Feb-2014 Elliott Hughes <enh@google.com> Fix build by avoiding the _C_LABEL macro.

Change-Id: Ide367c2b65071388bd95fbc81a4ed6ae94aec4e4
ensyscalls.py
db1ea3474899ebbd783aba872d3005f95a816d0f 18-Jan-2014 Elliott Hughes <enh@google.com> Implement some of the missing LFS64 support.

This gives us:

* <dirent.h>
struct dirent64
readdir64, readdir64_r, alphasort64, scandir64

* <fcntl.h>
creat64, openat64, open64.

* <sys/stat.h>
struct stat64
fstat64, fstatat64, lstat64, stat64.

* <sys/statvfs.h>
struct statvfs64
statvfs64, fstatvfs64.

* <sys/vfs.h>
struct statfs64
statfs64, fstatfs64.

This also removes some of the incorrect #define hacks we've had in the
past (for stat64, for example, which we promised to clean up way back
in bug 8472078).

Bug: 11865851
Bug: 8472078
Change-Id: Ia46443521918519f2dfa64d4621027dfd13ac566
ionic_utils.py
b3a23bd0178c8edbb34e310be08e6fb73ac6ba09 11-Feb-2014 Elliott Hughes <enh@google.com> Build syscall stubs in their own library.

This lets us lose the auto-generated makefiles.

Change-Id: I2de0c71b3b9c08f9cce8f4ff7fd7254dda008c86
ensyscalls.py
5043212b7615bc4c03463c4d242769de69cd4685 06-Feb-2014 Chris Dearman <chris.dearman@imgtec.com> [MIPS64] Add syscall related files

Change-Id: I2f5d05df0e767538a6fe467ca0a2386325f8b71f
Signed-off-by: Chris Dearman <chris.dearman@imgtec.com>
Signed-off-by: Raghu Gandham <raghu.gandham@imgtec.com>
Signed-off-by: Duane Sand <duane.sand@imgtec.com>
ionic_utils.py
ensyscalls.py
d1973ca51325393f304e82a4d79874f33e54ac16 22-Jan-2014 Colin Cross <ccross@android.com> bionic: rename aarch64 target to arm64

Rename aarch64 build targets to arm64. The gcc toolchain is still
aarch64.

Change-Id: Ia92d8a50824e5329cf00fd6f4f92eae112b7f3a3
ionic_utils.py
ensyscalls.py
e4bc7561219ddb7cfb7b33f731caa92a7766b9ca 07-Jan-2014 Christopher Ferris <cferris@google.com> Add cfi directives to x86 syscalls.

Modify the syscalls script to generate the cfi directives for x86
syscalls.

Update the x86 syscalls.

Change-Id: Ia1993dc714a7e79f917087fff8200e9a02c52603
ensyscalls.py
887e1140fe7596fa1239a0bc802d2cdb51c57d3c 02-Jan-2014 Elliott Hughes <enh@google.com> Clean up <sched.h>.

This patch switches to using the uapi constants. It also adds the missing
setns system call, fixes sched_getcpu's error behavior, and fixes the
gensyscalls script now ARM is uapi-only too.

Change-Id: I8e16b1693d6d32cd9b8499e46b5d8b0a50bc4f1d
ensyscalls.py
ed45970ac5a182e512669cfa5c15b9f4fa783ad7 03-Dec-2013 Christopher Ferris <cferris@google.com> Add cfi directives to all arm assembly.

Since the ENTRY/END macros now have .cfi_startproc/.cfi_endproc, most of the
custom arm assembly has no unwind information. Adding the proper cfi directives
for these and removing the arm directives.

Update the gensyscalls.py script to add these cfi directives for the generated
assembly. Also fix the references to non-uapi headers to the proper uapi
header.

In addition, remove the kill.S, tkill.S, tgkill.S for arm since they are not
needed at all. The unwinder (libunwind) is able to properly unwind using the
normal abort.

After this change, I can unwind through the system calls again.

Bug: 11559337
Bug: 11825869
Bug: 11321283

Change-Id: I18b48089ef2d000a67913ce6febc6544bbe934a3
ensyscalls.py
ed74484dcbc2e156a6e5fa861a62425b12e55128 07-Nov-2013 Elliott Hughes <enh@google.com> Stop using the non-uapi <linux/err.h> header file.

We only need it for MAX_ERRNO, and it's time we had somewhere to put
the little assembler utility macros we've been putting off writing.

Change-Id: I9354d2e0dc47c689296a34b5b229fc9ba75f1a83
ensyscalls.py
feaa89a1bcc643a9c3892bb56e020e00779bbb3a 07-Oct-2013 Serban Constantinescu <serban.constantinescu@arm.com> AArch64: Add support for AArch64 to the syscall interface

This patch adds support for AArch64 to the syscall interface. The kernel
implementation exports a set of canonical syscalls, therefore some of
the userspace exported syscalls are implemented as stubs based on the
canonical set.

Change-Id: Ia965d71e97769b8be9d7655193fc40303964c4df
Signed-off-by: Serban Constantinescu <serban.constantinescu@arm.com>
ionic_utils.py
ensyscalls.py
6b53c2349a5a3fc70a475de6a66131b615e88e48 25-Oct-2013 Elliott Hughes <enh@google.com> Fix the exit syscall stub's name.

I've left the exit_group syscall as _exit because otherwise we'd have to
convince the compiler that our _exit (which just calls __exit_group) is
actually "noreturn", and it seems like that would be less clean than just
cutting out the middleman.

We'll just have to trust ourselves not to add anything to SYSCALLS.TXT
that ought to be private but that only has a single leading underscore.
Hopefully we can manage that.

Change-Id: Iac47faea9f516186e1774381846c54cafabc4354
ensyscalls.py
fff6e272e9edea3f33b2f64ec9e342413d92e36f 25-Oct-2013 Elliott Hughes <enh@google.com> Use hidden visibility for generated stubs whose names begin with underscores.

Change-Id: Idb39fd04b7a14114801624e744e76e0e7913d951
ensyscalls.py
103ccde8fe2f2c8abde914a8ba736b2e9cb8d20b 16-Oct-2013 Elliott Hughes <enh@google.com> Sort the syscalls.mk files, give all generated files the same header.

No non-comment changes to the .S files.

Change-Id: Iafcfd004c3ea92b64268f80ab16df615b97cefac
ensyscalls.py
c9da332cce903ebd4bec97da1d78d363fcf41f6d 16-Oct-2013 Elliott Hughes <enh@google.com> Remove support for the useless 'custom' option in SYSCALLS.TXT.

This cruft dates from a time when bionic would only output syscall
contants for the syscalls mentioned in SYSCALLS.TXT. I fixed that
a long time ago, but never followed through with the removal of what
was then confusingly called "stub" and was recently renamed "custom".

Change-Id: I8f3872a200b2dc8325e357cc5ee505ea4212ef95
ionic_utils.py
0437f3ff296a4c66675c7386b0522e6062413e5a 08-Oct-2013 Elliott Hughes <enh@google.com> Refactor the syscall generation script.

Primarily so that the new x86_64 alias functionality is now available for
all architectures.

Change-Id: I9fde59093a1d08de98923f121a6e3d05ec5801d2
ensyscalls.py
6fe4e8795452651862c1e02994f434ec5f0d5832 04-Oct-2013 H.J. Lu <hjl.tools@gmail.com> Add an optional alias list to SYSCALLS.TXT

This patch adds an optional alias list to SYSCALLS.TXT. It is used to
create aliases for a syscall. For x86-64, lseek64 is an alias for lseek.

Change-Id: Icb11fd2bb461ea4f5f0a26bfc585471d7d7cc468
Signed-off-by: H.J. Lu <hjl.tools@gmail.com>
Signed-off-by: Pavel Chupin <pavel.v.chupin@intel.com>
ionic_utils.py
ensyscalls.py
f12a18b85061e7121c7534faf3625137e56b770d 12-Dec-2012 Pavel Chupin <pavel.v.chupin@intel.com> x86_64: Add x86_64 syscalls and tune gen scripts for x86_64

* Tune syscall stubs generator for 4th target: x86_64
* Update SYSCALLS.TXT with x86_64 syscalls:
- Most of the x86 syscalls are equally supported
- *32 syscalls are not supported on 64-bit
- *64 syscalls are replaced accordingly without 64 suffix
- Some syscalls are not supported, replaced with x86_64 analog

Syscalls are regenerated as separate patch for review convenience.

Change-Id: I4ea2e0f13759b0aa61f05208ca68da8d6bc7c048
Signed-off-by: Pavel Chupin <pavel.v.chupin@intel.com>
ionic_utils.py
ensyscalls.py
d612165c6705379aa50144afc35aa40c16793728 26-Sep-2013 Elliott Hughes <enh@google.com> Make it easier to add syscalls for another architecture.

Much of the per-architecture duplication can be removed, so let's do so
before we add the 64-bit architectures.

Change-Id: Ieb796503c8e5353ea38c3bab768bb9a690c9a767
ionic_utils.py
ensyscalls.py
5e52279256e9faa25378edf2ed40c18983ed6015 24-Sep-2013 Elliott Hughes <enh@google.com> Simplify the SYSCALLS.TXT format.

This will make addition of new architectures less unpleasant.

Change-Id: I77c866a63b686e8e70709d08fcf52e8a2d37310a
ionic_utils.py
18bc975bfe41a0ef8d2df1a188078b0741dc6c25 17-Jun-2013 Elliott Hughes <enh@google.com> Slight script cleanup; make gensyscalls work from any directory.

Also remove a ton of dead code.

Change-Id: I1315623695a004f643b155f121cbafe24b715b8a
ionic_utils.py
ensyscalls.py
85aeb49144edc61797a2c60777d66f1c80e5e5e3 24-Apr-2013 Elliott Hughes <enh@google.com> Don't avoid IPv6 when looking for new tzdata.

Our internal IPv6 FTP networking problems have been fixed.

Change-Id: I9949a13fa20a3b0f3845e565e1461320078d3f14
oneinfo/update-tzdata.py
21da42ea91d45c43372d027f72467ecd66a33b29 22-Apr-2013 Elliott Hughes <enh@google.com> Disable IPv6 when looking for tzdata updates.

My problems connecting to ftp.iana.org are only via IPv6.

Change-Id: I42e4bae7981ec4b64822f745a7a15544d77ef22d
oneinfo/update-tzdata.py
676e66db251cb54b51be5f6f8190a47a8b131738 22-Apr-2013 Elliott Hughes <enh@google.com> Add signature checking to HTTP tzdata updates.

Change-Id: Idcfd217eb215d6a170e6884be8d8ad28cd4fe70d
oneinfo/update-tzdata.py
f8dff7d44933f3eaf736f36e39f7b95fe151c3bc 22-Apr-2013 Elliott Hughes <enh@google.com> Rename the tzdata update tool, and add HTTP support.

The FTP server is currently unavailable, but the HTTP server is working
fine.

Change-Id: If7f2f396e89aca022a60af531f3604523b7bf95c
oneinfo/generate
oneinfo/update-tzdata.py
a51916b58b2d211bcf8ffdbe9cf7faa58e57382f 03-Apr-2013 Elliott Hughes <enh@google.com> Fix the SYSCALLS.TXT documentation and remove a dead script.

We use the system call constants from the kernel header files now,
so there's no need to check that they've been correctly transcribed
into SYSCALLS.TXT.

This is a work in progress. I've added TODOs to SYSCALLS.TXT explaining
what's left to do.

Change-Id: I3b86acfe7f84b4da1c802ee5a4ef13a2e83e7939
hecksyscalls.py
e6ddfc55c874bda9a6178d898a79042b9a1c235d 25-Mar-2013 Elliott Hughes <enh@google.com> Remove some dead script code and fix a script comment.

Change-Id: I91ca466d1b6f8a39da50ce61acebc268d0daab3a
enserv.py
1b91c6c11f6b4b8c082da41339b861981570bb4a 23-Mar-2013 Elliott Hughes <enh@google.com> Stop generating <sys/linux-syscalls.h>.

The <asm/unistd.h> files contain the canonical data, and
<sys/glibc-syscalls.h> contain new glibc-compatible names,
and if you #include the standard <sys/syscall.h> you get
both sets of names.

Change-Id: I9919c080931c0ba1660f5e37c6a6265ea716d603
ensyscalls.py
cda62094ef6ab44d3804954fff75be1246725c36 22-Mar-2013 Elliott Hughes <enh@google.com> Use the correct names for the __ARM_NR_* syscalls.

This lets us move all the ARM syscall stubs over to the kernel <asm/unistd.h>.
Our generated <sys/linux-syscalls.h> is now unused, but I'll remove that in a
later change.

Change-Id: Ie5ff2cc4abce1938576af7cbaef615a79c7f310d
ensyscalls.py
5c2772f59d3b6f564897187324d8606f54423207 22-Mar-2013 Elliott Hughes <enh@google.com> The SYS_ constants should cover all __NR_ values.

<sys/linux-syscalls.h> only contains constants for the syscalls
we're generating stubs for. We want all the syscalls available
on the architecture in question.

Keep using <sys/linux-syscalls.h> on ARM for now because the
__NR_ARM_set_tls and __NR_ARM_cacheflush values aren't in <asm/unistd.h>.

Change-Id: I66683950d87d9b18d6107d0acc0ed238a4496f44
ensyscalls.py
9724ce3a09f8c0869a45c4ebdef665a1ee049734 22-Mar-2013 Elliott Hughes <enh@google.com> Don't #define SYS_ constants unless they make sense for the current architecture.

Fixes the MIPS and x86 builds. strace tests whether syscalls
are supported using #ifdef of the appropriate SYS_ constant.

Change-Id: I90be118dc42abfdaf5b0f9b1e676e8601f55106e
ensyscalls.py
8ecf2258274b6ef2630a503a314573d80517465a 22-Mar-2013 Elliott Hughes <enh@google.com> Provide glibc-compatible SYS_* aliases for the __NR_* constants.

This helps us remove another external/strace bionic hack.

Change-Id: I3e82c0d2fd27e479be98f096e05b666fd16f8eb3
ensyscalls.py
af7f2f2fcf9887668918bdc5f0670bdd4aae8009 15-Mar-2013 Elliott Hughes <enh@google.com> Fix a bug in ZoneCompactor that meant the zonetab offset was wrong.

Bug: 8391426
Change-Id: Ia4a8889b5a613aa96bb3fb5d89a921c913ff7626
oneinfo/ZoneCompactor.java
9aceab50155b17741faded1fb22e2daa51a07fb1 12-Mar-2013 Elliott Hughes <enh@google.com> Use the kernel's MAX_ERRNO in the syscall stubs.

Bug: http://code.google.com/p/android/issues/detail?id=53104
Change-Id: Iaabf7025b153e96dc5eca231a33a32d4cb7d8116
ensyscalls.py
cd6780b1677503a0dfa91c8a9c0c635dbbd48366 07-Feb-2013 Elliott Hughes <enh@google.com> Remove dead code from gensyscalls.py.

Change-Id: I0df69f8fd990f829ccbfcd5123c17b523d5a4d45
ensyscalls.py
7582a9c119a4e4d0c306996b2513205889a9fb6c 07-Feb-2013 Elliott Hughes <enh@google.com> Switch x86 syscall stubs over to the ENTER/END style of the ARM stubs.

Also update the x86 asm.h to support this; we need it for libm assembler
anyway.

Also clean up the _FBSDID hack in <sys/cdefs.h>.

Change-Id: Iababd977b8110ec022bf7c93f4d62ece47630e7c
ensyscalls.py
a0ee07829a9ba7e99ef68e8c12551301cc797f0f 31-Jan-2013 Elliott Hughes <enh@google.com> Upgrade libm.

This brings us up to date with FreeBSD HEAD, fixes various bugs, unifies
the set of functions we support on ARM, MIPS, and x86, fixes "long double",
adds ISO C99 support, and adds basic unit tests.

It turns out that our "long double" functions have always been broken
for non-normal numbers. This patch fixes that by not using the upstream
implementations and just forwarding to the regular "double" implementation
instead (since "long double" on Android is just "double" anyway, which is
what BSD doesn't support).

All the tests pass on ARM, MIPS, and x86, plus glibc on x86-64.

Bug: 3169850
Bug: 8012787
Bug: https://code.google.com/p/android/issues/detail?id=6697
Change-Id: If0c343030959c24bfc50d4d21c9530052c581837
heck-symbols.py
c95eb57405d3d2f0e6cfab313aa74b1bad280452 30-Jan-2013 Elliott Hughes <enh@google.com> Clean up trailing whitespace in the kernel headers.

And fix the scripts so they stop letting trailing whitespace through.

Change-Id: Ie109fbe1f63321e565ba0fa60fee8e9cf3a61cfc
ionic_utils.py
ensyscalls.py
faa0fdb1194172f578f973097d61e580bce528dc 16-Jan-2013 Matthieu Castet <matthieu.castet@gmail.com> arm syscall : for eabi call_default don't use stack

In the default case, we don't need to use the stack, we can save r7 with
ip register (that what does eglibc).

This allow to fix vfork data corruption
(see 3884bfe9661955543ce203c60f9225bbdf33f6bb), because vfork now don't
use the stack.
ensyscalls.py
285b02582bc301dede933bf9d161ecd68b1f4257 29-Nov-2012 Chris Dearman <chris@mips.com> Verify architecture neutral syscall numbers

Also removed some dead code and fixed comment

Change-Id: I5d6a04b4af3d95e34368136cf2eeb3c9b6f99769
Signed-off-by: Chris Dearman <chris@mips.com>
hecksyscalls.py
5d2ef8724d8978465b9795198099305d0f0b12d0 26-Nov-2012 Elliott Hughes <enh@google.com> Upgrade to tzdata2012j.

This reflects the following changes recently circulated on the tz mailing list:

Libya moved to CET [2012-11-11], but with DST planned [2013].
(Thanks to Even Scharning, Steffen Thorsen, and Tim Parenti.)

I also had to change the script to cope with:

Signatures now have the extension .asc, not .sign, as that's more
standard. (Thanks to Phil Pennock.)

Change-Id: Ie9711c5c796b3c122daea9690929edcc3ddd32da
oneinfo/generate
e3063f4e5520caa84f48896cf9127d97fd2796ba 05-Nov-2012 Elliott Hughes <enh@google.com> Upgrade to tzdata2012i.

Also support GPG signature verification of updates, and fix remaining
pylint complaints.

The 2012i release of the tz data reflects the following changes recently
circulated on the tz mailing list:

* Cuba switches from DST [2012-11-04] at 01:00. (Thanks to Steffen Thorsen.)

Change-Id: Ie81d395afa40aa217a0196aad8ca1f9a870bbc31
oneinfo/generate
2393535f0d7df55dae3b4fbf5dbcfa7f87192762 22-Oct-2012 Elliott Hughes <enh@google.com> Support zone.tab in bionic, and remove the file format version.

Bug: 7012465
Change-Id: I6335c91ebadc609fae85bad94db972be7574b6e4
oneinfo/ZoneCompactor.java
oneinfo/generate
dc595d830898e5859bf98d7436af2a777a11f810 20-Oct-2012 Elliott Hughes <enh@google.com> Merge "Change ZoneCompator to generate the single "tzdata" file."
5b1497acdbcbfd21f57d11511294b541b6fb1130 19-Oct-2012 Elliott Hughes <enh@google.com> Change ZoneCompator to generate the single "tzdata" file.

Also remove the obsolete individual files, and the temporary script
that converted between the formats.

Bug: 7012465
Change-Id: I5a4030098e4d53e747fd6d395df2679d1567ee1f
oneinfo/ZoneCompactor.java
oneinfo/generate
oneinfo/generate-single-file
4612763b441fc71dea1771b4821ec7b9500bdf43 19-Oct-2012 Elliott Hughes <enh@google.com> Update generate-NOTICE.py to know about tzdata.

Also regenerate the NOTICE files. One had slipped behind.

Bug: 7012465
Change-Id: Ice2e909b521472eb1acd53d8151038bebe19984a
enerate-NOTICE.py
328a48458880ed12f2e7d1632b98c5df8d211be7 19-Oct-2012 Elliott Hughes <enh@google.com> Do all the zoneinfo.* file generation in Java.

Bug: 7012465
Change-Id: Ia5d5ad75db94d680a6b34ccc26eb68d5bd2bfc29
oneinfo/ZoneCompactor.java
oneinfo/generate
eb06129c5c569897a897f9ec9ee300560ec3b436 19-Oct-2012 Elliott Hughes <enh@google.com> Switch bionic over to using libcore's copy of libcore.util.ZoneInfo.

Bug: 7012465
Change-Id: I1225494c5d77a20fd48be1e904d8695ef95860e3
oneinfo/ZoneCompactor.java
oneinfo/ZoneInfo.java
oneinfo/generate
fb018a2ddea0513756b4e097d59c3df91a8e5946 17-Oct-2012 Elliott Hughes <enh@google.com> Put all the tzdata in one file.

I'll come back and remove the separate files (and change the regular 'generate'
script) when the separate files are obsolete, but in the interim period, it's
easier to have both old and new files available.

Bug: 7012465
Change-Id: I36e2fd49c08ff79ded6eca1c5bc4c08837cc490a
oneinfo/generate-single-file
965b867512f51f70ad9222bb1d96e3142bc65910 14-Sep-2012 Elliott Hughes <enh@google.com> Update libc/NOTICE and record the incantation.

Change-Id: I0673d6263de2c5a21cd549f18c0648d0fa4bb40f
enerate-NOTICE.py
261e2232c18619f7bf49fea6d9266eb314bad398 15-Aug-2012 Elliott Hughes <enh@google.com> Sort NOTICE entries.

Also make sure we get the whole of any copyright header, in case
there's text before the "Copyright" line.

Change-Id: Iabcc5e0931a39c0107b833539fec7c5a3d134592
enerate-NOTICE.py
387d4b7de9af2afd0c37a895ff9d012eb1f66156 10-Aug-2012 Elliott Hughes <enh@google.com> Auto-generate a complete NOTICE file.

Remove the hand-collated ones, and switch to a script that pulls the
copyright headers out of every file and collects the unique ones.

Change-Id: Ied3b98b3f56241df97166c410ff81de4e0157c9d
enerate-NOTICE.py
541c2253206785c7b225252403f6f54723231317 27-Jul-2012 Elliott Hughes <enh@google.com> Remove the 'Factory' time zone by not processing the 'factory' file.

The factory file (and Factory time zone) was meant as a way to say
"not configured" that would give a clear error when running date(1).
For us it would just look like UTC, so it is of no value.

Bug: 2997381
Change-Id: I1a4b85dce97d1d9370b22ba79e8fe5dafff56541
oneinfo/generate
5d967e43d03e9c916548b9c290b0c4138df2f1f8 21-Jul-2012 Elliott Hughes <enh@google.com> Upgrade to tzdata2012d.

This upgrade involved rewriting the script; the data has moved to ftp.iana.org,
where it's slightly less convenient to access, so it's time to use something
that can talk FTP...

As for tzdata2012d, it's just updating Morocco for this weekend's changes, now
they've been decided at the last minute (as usual).

Change-Id: I772df57a6e09b3bf3d9541bfc08930d6f18633b4
oneinfo/generate
dc6c2b779b4fa8bf44e51b18785f44ab9c7e0a18 17-May-2012 Elliott Hughes <enh@google.com> am 70cf0bc0: Merge "Remove the last references to SuperH."

* commit '70cf0bc0496a1d4c0e83fe3f1933f667ab66c148':
Remove the last references to SuperH.
e33af61c7073719b027e038fbcdde49363b604ee 16-May-2012 Elliott Hughes <enh@google.com> Remove the last references to SuperH.

Change-Id: Icb44c1f94cb178d90b4c2b1e8f6d175586aec4e1
ensyscalls.py
804147cb7d533f5635da6adc28fbca1467a3078b 10-May-2012 Elliott Hughes <enh@google.com> am edb7cad9: Merge "Actually set the header guard in "linux-syscalls.h"."

* commit 'edb7cad9b764f029c5faac2750f749d3d84bd86a':
Actually set the header guard in "linux-syscalls.h".
1928523c870f7acd7f34870f4bb4ab9c6215bf7a 10-May-2012 Elliott Hughes <enh@google.com> Actually set the header guard in "linux-syscalls.h".

Spotted while merging a MIPS change.

Change-Id: I36fb5a07d0bba0c117e9fe9733957bd37ca4b4c0
ensyscalls.py
dbd5ecad26e39281bb83f97664bc32555c5c071a 09-May-2012 Elliott Hughes <enh@google.com> resolved conflicts for merge of e5408907 to jb-dev-plus-aosp

Change-Id: If4c3f51bf87b28da8074be2e46ae772a374b266f
1fa0d849576555577ffd9675677a3c95f21b754e 28-Jan-2012 Raghu Gandham <raghu@mips.com> [MIPS] Add support for MIPS syscalls

Change-Id: I4deba67e15c865c4c2db03064c04098a09828ea6
Signed-off-by: Raghu Gandham <raghu@mips.com>
Signed-off-by: Chris Dearman <chris@mips.com>
ionic_utils.py
hecksyscalls.py
ensyscalls.py
8f78ddb422173de7ce0bc5b8080db6f486bd66c9 02-Apr-2012 Elliott Hughes <enh@google.com> Update to tzdata2012c.

From the release notes:

africa
Summer time changes for Morocco (to start late April 2012)

asia
Changes for 2012 for Gaza & the West Bank (Hebron) and Syria

northamerica
Haiti following US/Canada rules for 2012 (and we're assuming,
for now anyway, for the future).

Also include a change made internally to the 'generate' script as part of
the tzdata2011m update that apparently never made it to AOSP; the original
checkin comment for which was:

Update to tzdata2011m.

Fixes for Europe/Tiraspol (Moldova) and all four Ukrainian zones.

Also show the MD5 of the downloaded data, for comparison against the MD5
given in the announcement mails. (There's a plan to move to proper signing,
but that's not implemented on their end yet.)

(I'm repeating the tzdata change for the convenience of anyone grepping the
log, since the 2012 tzdata releases also contain the 2011m changes; 2011m
is the only missing release I noticed.)

Change-Id: I9a2e530b3a8ea88e3375334a12376e3d8526f267
oneinfo/generate
25b7a16a6ee73248192909862f03f95d2363ad14 01-Feb-2012 Jean-Baptiste Queru <jbq@google.com> Merge c4cb87f3

Change-Id: I4cc14eba43fde75a7702fdc7ad07d3d949e9c092
70b1668a76d3b719ae690903ea790fda964a5458 30-Jan-2012 David 'Digit' Turner <digit@google.com> remove obsolete SuperH support

We don't have a toolchain anymore, we don't have working original
kernel headers, and nobody is maintaining this so there is really
no point in keeping this here. Details of the patch:

- removed code paths from Android.mk files related to the SuperH
architecture ("sh")

- removed libc/arch-sh, linker/arch-sh, libc/kernel/arch-sh

- simplified libc/SYSCALLS.TXT

- simplified the scripts in libc/tools/ and libc/kernel/tools

Change-Id: I26b0e1422bdc347489e4573e2fbec0e402f75560

Signed-off-by: David 'Digit' Turner <digit@android.com>
ionic_utils.py
hecksyscalls.py
ensyscalls.py
d6045cba4e572cf9ed0b87efddce93f3c4a80a8f 18-Jan-2012 Nick Kralevich <nnk@google.com> Don't generate sys/linux-unistd.h

linux-unistd.h was here for reference purposes, but shouldn't
have been accessible to client code. Delete it.

Change-Id: I60c264ff6ca489a48117914bdf6daa486737af8c
ensyscalls.py
bcb2edac654962758c6d7d8d3e0e4cdcb75c89fc 24-Oct-2011 Elliott Hughes <enh@google.com> Update to tzdata2011m.

Fixes for Europe/Tiraspol (Moldova) and all four Ukrainian zones.

Also show the MD5 of the downloaded data, for comparison against the MD5
given in the announcement mails. (There's a plan to move to proper signing,
but that's not implemented on their end yet.)

Change-Id: I845e6f125c0f54298abadc643adfeca2eff4827a
oneinfo/generate
faa7c1d29f9ed0b3eb252bb0bd43e7596eed5d9c 10-Oct-2011 Elliott Hughes <enh@google.com> Update to tzdata2011l.

This affects Asia/Hebron and Pacific/Fiji (and historical data for
America/Sitka).

Change-Id: I111a34038e44416f1900f774bdb78750e815eb5f
oneinfo/generate
22b137711a2f262af78611ac57d53ddc1b0e6ff9 06-Apr-2011 JP Abgrall <jpa@google.com> checksyscalls fix to handle "__ARM_NR_... (__ARM_NR_BASE+0x...)"

Change-Id: I6a13a6af17caec2e833d4982d645a88ccde4cda4
hecksyscalls.py
3224c08bd77043338ad6e9ecacbd4c118205e873 19-Feb-2011 David Turner <digit@google.com> Merge changes I8c481c89,I791406f8,I5f09cef8

* changes:
libc: ARM: update syscalls with new script
libc: ARM: add size info to gensyscalls
Add function marks and size indications
d40e63ee47e4a7f072a9d9a20e09c26f0090b02c 18-Feb-2011 Elliott Hughes <enh@google.com> Move the zoneinfo generation tool into bionic.

This also incorporates a bunch of changes to the previous script; this one
requires no setup, can be run from anywhere, and leaves no droppings.

Change-Id: I38f299f03e33950d2a64e9336f4ba7cb3c5cf6f0
oneinfo/ZoneCompactor.java
oneinfo/ZoneInfo.java
oneinfo/generate
f540c03bff8bb15f1954df275629fd32dc87aaf5 17-Feb-2011 Kenny Root <kroot@google.com> libc: ARM: add size info to gensyscalls

Add size information to gensyscalls output for ARM syscalls with new
BEGIN(x) and END(x) macros in arch-arm/include/machine/asm.h

Change-Id: I791406f8b17abcb83b70a6d15a65a527de15d3f5
ensyscalls.py
fc2693110ee8a2ba22a445ad9855fbe9e118d439 11-Oct-2010 David 'Digit' Turner <digit@google.com> libc: Update auto-gen scripts

Make the scripts use external/kernel-headers/original by default.

clean_header.py: Document -k<path>, add -d<path>
find_headers.py: Make kernel config files optional
update_all.py: Allow setting the path to kernel headers on the command-line
update_all.py: Better formatting of output on ttys
update_all.py: Automatically perform "git add/rm" on affected files.
SYSCALLS.TXT: Fix typo in __socketcall definition.
checksyscalls.py: Add support for superH architecture in the checks.
gensyscalls.py: Automatically perform "git add/rm" on affected files.
cpp.py: Fixed a bug that prevented certain type definitions to
be kept in the generated clean header (e.g.
struct ethtool_drvinfo in <linux/ethtool.h>)

All scripts will use the content of external/kernel-headers/original by default now.

The generated code removes all empty lines and trailing whitespace. This is useful
to ensure a unified output even if we change the parser again in the future.

The top-level disclaimer has been edited with update instructions to regenerate
the headers when needed.

Also, a warning is now inserted every 8th line in the final output:

/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */

Changes under kernel/arch-arm and kernel/arch-x86 should correspond to whitespace
differences and additionnal struct definitions that were missed by the previous
parser implementation.

Change-Id: Icd1c056bacd766759f3e9b7bb5d63a246f3d656a

WARNING: If you run these script, do not submit the result to gerrit for now.
It seems there are discrepancies between the content of original headers
and those currently commited under bionic/libc/kernel/.

(This problem is the main motivation to insert the warning repeatedly).

Current list of issues:

- Missing SuperH headers (i.e. external/kernel-headers/original/asm-sh)
ionic_utils.py
hecksyscalls.py
ensyscalls.py
95d751feacdb58d3fbc36f3f21a895a3ec2f065b 16-Dec-2010 David 'Digit' Turner <digit@google.com> libc: Add ftruncate64 and improve 64-bit parameter syscall handling.

This patch improves the handling of 64-bit parameters in syscalls on ARM.
The ARM EABI mandates that 64-bit quantities be passed in even/odd register
pairs, which requires special treatment.

This allows us to simplify our implementations of pread() and pwrite()
and remove the C stubs for pread64() and pwrite64().

Also add ftruncate64() to <unistd.h>

Change-Id: I407e2fd223ba0093dd2d0b04c6152fadfc9ce3ef

Bug 3107933
ensyscalls.py
ce0595d01de9103d40b83b35e0d6ac8b123aa24c 01-Sep-2009 Shin-ichiro KAWASAKI <shinichiro.kawasaki.mg@hitachi.com> modified SYSCALLS.TXT to support SuperH architecture
ionic_utils.py
ensyscalls.py
4e468ed2eb86a2406e14f1eca82072ee501d05fd 18-Dec-2008 The Android Open Source Project <initial-contribution@android.com> Code drop from //branches/cupcake/...@124589
ionic_utils.py
ensyscalls.py
a27d2baa0c1a2ec70f47ea9199b1dd6762c8a349 21-Oct-2008 The Android Open Source Project <initial-contribution@android.com> Initial Contribution
ionic_utils.py
hecksyscalls.py
enserv.py
ensyscalls.py