This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB 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]

[PATCH 0/4] bitpos expansion summary reloaded


Hi,

This is iteration (insert-large-number-here) of the bitpos expansion
patch with all its reviews, etc.  The patch is now split into 4 parts
as follows:

1) The main bitpos and type.length expansion changes to generic code
2) Additional validation in some places to ensure that a size fits into
   memory (ensure_size_t)
3) Changes to watchpoint functions
4) bitpos and type length related changes to tdep files.  I separated
   these out since they had a related pattern of change, i.e. pushing
   of variables on stack and getting/storing return values.

The 4th part is new, but the content is not very different.  Over time
I have also picked out portions of the patch and pushed them as
independent changes (some of which I rightly got flak for ;)) and as a
result I have been able to shave off a total of about 1k lines off the
patch, making it a bit easier to review.  The split is also aimed at
easing the review.

There is also a 5th patch that Tom has already acked, but I have held
back (and will commit with these patches) since it will be complete only
with the bitpos change:

http://sourceware.org/ml/gdb-patches/2012-08/msg00562.html

I have also updated my repository of splint output reports here:

http://git.siddhesh.in/cgit.cgi/splint.git/

The reports generated earlier were splint-bitpos2.*, the noteworthy ones
being splint-bitpos2.locdiff.processed and
splint-bitpos2.locdiff.report.  The new report generated is now called
splint-bitpos3.locdiff.processed.

There are a few improvements in the scripts that generate these reports
(splint-locdiff and splint-siddhesh-process-locdiff), the main one
being replacement of "arbitrary signed integer" with ssize_t and
"arbitrary unsigned integer" with size_t.  Additionally, some more
warnings are ignored by the script, like assignments from int to
size_t, etc. that are safe.

There is an additional step of processing I have brought in (sorry),
which is done by checkreport.pl.  The way to run it is as follows:

diff -U-1 \
	splint-bitpos2.locdiff.processed \
	splint-bitpos3.locdiff.processed | \
	grep "^[-+](" | \
	perl -e 'while(<>){s{^(.)(\([^:]+):([0-9]+)\):(.*)}{print("$2):$4\t\t$1$3\n")}egm}' | \
	sort | \
	./checkreport.pl | \
	grep -v "^+++" | \
	grep -v "^----" | \
	grep "^+" | sed 's/^.\(.*\)/\1/' > report

This generated the 'report' file in the repo, which I copied over to
report.done and analyzed warnings.  This report contains the new warnings
that are not in splint-bitpos2.locdiff.processed.  The report to view is:

http://git.siddhesh.in/cgit.cgi/splint.git/tree/report.done

Now patches coming up next.

Regards,
Siddhesh


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]