diff options
author | David 'Digit' Turner <digit@google.com> | 2010-10-11 22:11:06 +0200 |
---|---|---|
committer | David 'Digit' Turner <digit@google.com> | 2011-02-03 18:07:41 +0100 |
commit | fc2693110ee8a2ba22a445ad9855fbe9e118d439 (patch) | |
tree | 6bbfcf0620780f454b5c0ac2dbd5341a00cfa157 /libc/tools/gensyscalls.py | |
parent | 040e18f362716c0bab1d9c39a869b98d6c61584c (diff) | |
download | bionic-fc2693110ee8a2ba22a445ad9855fbe9e118d439.zip bionic-fc2693110ee8a2ba22a445ad9855fbe9e118d439.tar.gz bionic-fc2693110ee8a2ba22a445ad9855fbe9e118d439.tar.bz2 |
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)
Diffstat (limited to 'libc/tools/gensyscalls.py')
-rwxr-xr-x | libc/tools/gensyscalls.py | 25 |
1 files changed, 15 insertions, 10 deletions
diff --git a/libc/tools/gensyscalls.py b/libc/tools/gensyscalls.py index 0535e56..b58754b 100755 --- a/libc/tools/gensyscalls.py +++ b/libc/tools/gensyscalls.py @@ -557,7 +557,7 @@ class State: for sc in self.syscalls: if sc.has_key("asm-arm") and 'arm' in all_archs: fname = "arch-arm/syscalls/%s.S" % sc["func"] - D( ">>> generating "+fname ) + D2( ">>> generating "+fname ) fp = create_file( fname ) fp.write(sc["asm-arm"]) fp.close() @@ -565,7 +565,7 @@ class State: if sc.has_key("asm-thumb") and 'arm' in all_archs: fname = "arch-arm/syscalls/%s.S" % sc["func"] - D( ">>> generating "+fname ) + D2( ">>> generating "+fname ) fp = create_file( fname ) fp.write(sc["asm-thumb"]) fp.close() @@ -573,7 +573,7 @@ class State: if sc.has_key("asm-x86") and 'x86' in all_archs: fname = "arch-x86/syscalls/%s.S" % sc["func"] - D( ">>> generating "+fname ) + D2( ">>> generating "+fname ) fp = create_file( fname ) fp.write(sc["asm-x86"]) fp.close() @@ -581,7 +581,7 @@ class State: if sc.has_key("asm-sh"): fname = "arch-sh/syscalls/%s.S" % sc["func"] - D( ">>> generating "+fname ) + D2( ">>> generating "+fname ) fp = create_file( fname ) fp.write(sc["asm-sh"]) fp.close() @@ -626,7 +626,7 @@ class State: for stub in self.new_stubs + self.other_files: if not os.path.exists( bionic_root + stub ): - # new file, P4 add it + # new file, git add it D( "new file: " + stub) adds.append( bionic_root + stub ) shutil.copyfile( bionic_temp + stub, bionic_root + stub ) @@ -643,16 +643,21 @@ class State: if adds: - commands.getoutput("p4 add " + " ".join(adds)) + commands.getoutput("git add " + " ".join(adds)) if deletes: - commands.getoutput("p4 delete " + " ".join(deletes)) + commands.getoutput("git rm " + " ".join(deletes)) if edits: - commands.getoutput("p4 edit " + - " ".join((bionic_root + file) for file in edits)) for file in edits: shutil.copyfile( bionic_temp + file, bionic_root + file ) + commands.getoutput("git add " + + " ".join((bionic_root + file) for file in edits)) - D("ready to go !!") + commands.getoutput("git add %s%s" % (bionic_root,"SYSCALLS.TXT")) + + if (not adds) and (not deletes) and (not edits): + D("no changes detected!") + else: + D("ready to go!!") D_setlevel(1) |