This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.
| Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
|---|---|---|
| Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
| Other format: | [Raw text] | |
On 20 Oct 2015 09:28, Martin Galvan wrote:
> On Mon, Oct 19, 2015 at 8:03 PM, Mike Frysinger wrote:
> > On 09 Oct 2015 19:24, Martin Galvan wrote:
> >> + # Replace "@name@SOME_NAME@value@SOME_VALUE@" strings from the output of
> >> + # gen-py-const.awk with "SOME_NAME = SOME_VALUE" strings.
> >> + # The '-n' option, combined with the '/p' command, makes sed output only the
> >> + # modified lines instead of the whole input file. The output is redirected
> >> + # to a .py file; we'll import it from printers.py to read the constants
> >> + # generated by gen-py-const.awk.
> >> + # The regex has two capturing groups, for SOME_NAME and SOME_VALUE
> >> + # respectively. Notice SOME_VALUE will start with a '$'; Make requires that
> >> + # we write '$' twice.
> >
> > these comments are at the shell level instead of makelevel which means they get
> > printed to stdout. would be best to change them to make comments (rather than
> > just adding a @ prefix) so we don't waste time execing a shell to do nothing.
>
> Raelly? While I did see them in the make output, I thought anything
> that comes after a '#' is a regula Make comment.
negative. you can run strace to see:
$ cat Makefile
all:
@echo hi
@# comment
$ strace -f -eexecve make
execve("/usr/bin/make", ["make"], [/* 74 vars */]) = 0
[pid 29566] execve("/bin/echo", ["echo", "hi"], [/* 79 vars */]) = 0
[pid 29567] execve("/bin/sh", ["/bin/sh", "-c", "# comment"], [/* 79 vars */]) = 0
> >> + sed -n 's/^.*@name@\([^@]\+\)@value@\$$\([0-9Xxa-fA-F-]\+\)@.*/\1 = \2/p' \
> >
> > imo we should use -E rather than doing \( \+ \) stuff so we get POSIX ERE
> > behavior by default
>
> Is -E a GNU sed flag? I'm not seeing it on the man page, though -r
> seems to do the same thing.
yeah, -E was added a while ago for BSD compat but wasn't documented. but since
POSIX has adopted -E, they've added it to the help/man/info pages in the latest
git version. it's equiv to the -r flag.
although maybe using -r would be better since INSTALL:
* GNU 'sed' 3.02 or newer
and the -E flag isn't in that version. i don't think it was first available
until sed-4.2 which was released in 2009 (6 years ago).
> >> +# Install the Python pretty-printers.
> >> +py-const = $(patsubst %.pysym,%.py,$(gen-py-const-headers))
> >> +install-bin-script = $(py-const) nptl-printers.py
> >
> > why is this install-bin-script ? we don't want to install these into /usr/bin/.
> > gdb pretty printers usually go into /usr/share/gdb/auto-load/<fspath>. since
> > these are for the pthreads lib, you'd want like:
> > /usr/share/gdb/auto-load/lib/libpthread.so.0
> > obviously the path & name will vary based on the install of libpthread. we
> > probably also want to add a configure flag for the gdb autoload path as i
> > vaguely recall different distros using different base paths.
>
> That'd be great. However, this would be best addressed by someone
> who's more familiar with the glibc build process, and Make and
> autoconf in general. I don't know how to fix this myself.
it would be better to not install this at all and leave it up to distro peeps
until we can get a proper rule for it. i don't think we need to block merging
until the install step is ironed out.
> >> +++ b/nptl/nptl-printers.py
> >
> > at a high level, you should run this through pylint
>
> I remember running pylint on this, but admittedly it was a long time ago :)
we've got scripts/pylint in the tree which uses the right rc file
> >> + self.values.append(('Threads waiting for this condvar',
> >> + self.nwaiters >> COND_NWAITERS_SHIFT))
> >
> > trailing indent is wrong:
> > C:376, 0: Wrong continued indentation.
> > self.nwaiters >> COND_NWAITERS_SHIFT))
> > ^| (bad-continuation)
>
> Did pylint report that? If so, how did you configure it? I'm asking
> this so I can fix any other errors that may pop out.
make sure you're using pylint-1.4+ ... the 0.x releases are crufty now
-mike
Attachment:
signature.asc
Description: Digital signature
| Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
|---|---|---|
| Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |