History log of /external/valgrind/coregrind/m_dispatch/dispatch-x86-linux.S
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
3f1d6138db68f2aa74c5d005c3333cbe94788c7b 30-Sep-2015 florian <florian@a5019735-40e9-0310-863c-91ae7b9d1cf9> Make sure no executable stack gets created.
Explanation by Matthias Schwarzott:

The linker will request an executable stack as soon as at least one
object file, that is linked in, wants an executable stack.
And the absence of the
.section .note.GNU-stack."",@progbits
is enough to tell the linker that an executable stack is needed.
So even an empty asm-file must at least contain this statement to not
force executable stacks on the whole executable.

* Define a helper macro MARK_STACK_NO_EXEC that disables the
executable stack.
* Instantiate this macro unconditionally at the end of each asm file.

Patch by Matthias Schwarzott <zzam@gentoo.org>.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15692 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_dispatch/dispatch-x86-linux.S
b3a1e4bffbdbbf38304f216af405009868f43628 21-Aug-2015 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Update copyright dates, to include 2015. No functional change.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15577 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_dispatch/dispatch-x86-linux.S
0f157ddb404bcde7815a1c5bf2d7e41c114f3d73 18-Oct-2013 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Update copyright dates (20XY-2012 ==> 20XY-2013)


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13658 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_dispatch/dispatch-x86-linux.S
03f8d3fc25f5a45c5826259d1b33b7f310117279 05-Aug-2012 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Update copyright dates to include 2012.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12843 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_dispatch/dispatch-x86-linux.S
bba6f3155340c0e99102ce74ceca0c69ff29bdd2 22-Apr-2012 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Last optimisation for the day: change VG_(stats__n_xindirs) in such a
way that the fast-path through VG_(disp_cp_xindir) only has to
increment a 32 bit counter, saving memory bandwidth on 32 bit
platforms compared to a 64-bit inc. The overall numbers of XIndirs
can still be 64 bit though.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12527 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_dispatch/dispatch-x86-linux.S
291849fb0285e0998b4c9e33eb153eb3373c4a88 21-Apr-2012 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Merge branches/TCHAIN from r12476 (its creation point) into trunk.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12517 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_dispatch/dispatch-x86-linux.S
ec062e8d96a361af9905b5447027819dfbfee01a 23-Oct-2011 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Update all copyright dates, from 20xy-2010 to 20xy-2011.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12206 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_dispatch/dispatch-x86-linux.S
1274027b71e767cea6fba7043f6aca41f94d60e0 29-May-2011 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Give the amd64-linux and x86-linux dispatchers two entry points, not one,
so as to avoid a GSP-changed check in the common case. See vex r2155.
(amd64-darwin and x86-darwin are now temporarily unbuildable.)



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11786 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_dispatch/dispatch-x86-linux.S
d4da36103770543a209ad16b11d4392d54f82042 28-May-2011 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> dispatch-x86-linux.S:
use test-based detection of GSP pointer changes.
Saves one load per SB.

dispatch-amd64-linux.S:
ditto

dispatch-amd64-linux.S:
use movabsq to get &VG_(tt_fast) into a register,
instead of an rsp-relative load from a constant pool.
Saves a second load per SB.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11785 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_dispatch/dispatch-x86-linux.S
9eecbbb9a9cbbd30b903c09a9e04d8efc20bda33 03-May-2010 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Update copyright dates to 2010.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11121 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_dispatch/dispatch-x86-linux.S
8b68b64759254d514d98328c496cbd88cde4c9a5 24-Jun-2009 njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> This commit merges the BUILD_TWEAKS branch onto the trunk. It has the
following improvements:

- Arch/OS/platform-specific files are now included/excluded via the
preprocessor, rather than via the build system. This is more consistent
(we use the pre-processor for small arch/OS/platform-specific chunks
within files) and makes the build system much simpler, as the sources for
all programs are the same on all platforms.

- Vast amounts of cut+paste Makefile.am code has been factored out. If a
new platform is implemented, you need to add 11 extra Makefile.am lines.
Previously it was over 100 lines.

- Vex has been autotoolised. Dependency checking now works in Vex (no more
incomplete builds). Parallel builds now also work. --with-vex no longer
works; it's little use and a pain to support. VEX/Makefile is still in
the Vex repository and gets overwritten at configure-time; it should
probably be renamed Makefile-gcc to avoid possible problems, such as
accidentally committing a generated Makefile. There's a bunch of hacky
copying to deal with the fact that autotools don't handle same-named files
in different directories. Julian plans to rename the files to avoid this
problem.

- Various small Makefile.am things have been made more standard automake
style, eg. the use of pkginclude/pkglib prefixes instead of rolling our
own.

- The existing five top-level Makefile.am include files have been
consolidated into three.

- Most Makefile.am files now are structured more clearly, with comment
headers separating sections, declarations relating to the same things next
to each other, better spacing and layout, etc.

- Removed the unused exp-ptrcheck/tests/x86 directory.

- Renamed some XML files.

- Factored out some duplicated dSYM handling code.

- Split auxprogs/ into auxprogs/ and mpi/, which allowed the resulting
Makefile.am files to be much more standard.

- Cleaned up m_coredump by merging a bunch of files that had been
overzealously separated.

The net result is 630 fewer lines of Makefile.am code, or 897 if you exclude
the added Makefile.vex.am, or 997 once the hacky file copying for Vex is
removed. And the build system is much simpler.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10364 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_dispatch/dispatch-x86-linux.S
9f207460d70d38c46c9e81996a3dcdf90961c6db 10-Mar-2009 njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> Updated copyright years.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9344 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_dispatch/dispatch-x86-linux.S
4d474d086188fd1f29fa97dbd84d8ea2e589a9b8 11-Feb-2008 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Update copyright dates ("200X-2007" --> "200X-2008").


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7398 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_dispatch/dispatch-x86-linux.S
cfdc5fd16b88ca196935d0d522bdab9846599615 24-Aug-2007 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> gcc-4.3 compile fixes.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6777 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_dispatch/dispatch-x86-linux.S
5f76de086a6d643db51e50a4e623df7dfc9b6161 11-Feb-2007 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Redo the dispatcher's fast-cache mechanism (VG_(tt_fast) et al) to be
more cache friendly. This changes the mechanism from being a table of
pointers to (guest address, translated code pairs) to being a table of
pairs (guest address, pointer to translated code). The effect ranges
from zero up to about 20% performance improvement on memcheck, the
biggest effects being seen for programs which jump around a large
number of blocks of code and whose data set does not fit in L2.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6582 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_dispatch/dispatch-x86-linux.S
9ebd6e0c607fa30301b1325874eb8de871c21cc5 08-Jan-2007 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Update copyright dates.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6488 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_dispatch/dispatch-x86-linux.S
0ddf76c4dd3b66b03b04cb1bc111765a6e2bd5e6 17-Oct-2006 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Merge r6217 (also comment cosmetics):

Use 'ctr' rather than 'lr' for indirect jumps, so as not to trash the
branch predictor(s) for returns from generated code. Makes a big
difference on ppc970 (and POWER4).


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6291 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_dispatch/dispatch-x86-linux.S
e4b0bf07b0ee0a18eacc5aba91686ab5fc1d327b 06-Jun-2006 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Update copyright dates.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5954 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_dispatch/dispatch-x86-linux.S
63c8de5fd6b3431f29261577b7938fdf68ecb893 01-May-2006 tom <tom@a5019735-40e9-0310-863c-91ae7b9d1cf9> Add .type and .size directives for VG_(run_innerloop) and
VG_(run_a_noredir_translation) on all platforms where they are
missing.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5873 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_dispatch/dispatch-x86-linux.S
386c9bf247bce266fa94dd89b6e6ee0bf8272d79 01-May-2006 weidendo <weidendo@a5019735-40e9-0310-863c-91ae7b9d1cf9> Make VG_(run_innerloop) visible for outer Valgrinds
with self hosting. Without this, the symbol has
size 0 and type NOT, and is ignored by the symbol loader.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5872 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_dispatch/dispatch-x86-linux.S
0ec07f32bbbb209d749b9974408e6f025ad40b31 12-Jan-2006 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Merge in function wrapping support from the FNWRAP branch. That
branch hereby becomes inactive. This currently breaks everything
except x86; fixes for amd64/ppc32 to follow.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5520 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_dispatch/dispatch-x86-linux.S
274807da74c6fd9d7f15638a4c3bb3c9e67c0223 15-Dec-2005 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> - Track vex r1494 (x86/amd64 change of conventions for getting
to translations and back to dispatcher, and also different arg
passing conventions to LibVEX_Translate).

- Rewrite x86 dispatcher to not increment the profiling counters
unless requested by the user. This dramatically reduces the
D1 miss rate and gives considerable performance improvement
on x86. Also, restructure and add comments to dispatch-x86-linux.S
to make it much easier to follow (imo).

amd64/ppc32/ppc64 fixes to follow.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5345 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_dispatch/dispatch-x86-linux.S
bae052eed688a120be00c0b680b08f3fe404f7f9 04-Dec-2005 njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> add comment from log message.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5281 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_dispatch/dispatch-x86-linux.S
d5b38b0fab943838041552684d28458a95cbeea0 03-Dec-2005 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Avoid potential partial-flags stall on P4.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5275 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_dispatch/dispatch-x86-linux.S
fcf620929300d3968d6279aa5a60001c23b9b094 13-Nov-2005 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> wibble


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5118 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_dispatch/dispatch-x86-linux.S
e2d1e670d412ff85c824ba5c043161816b9e26bd 13-Nov-2005 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Tidy up the machinery for detecting the CPU type and capabilities.
Move it from m_translate to m_machine, which is a more appropriate
place for it.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5104 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_dispatch/dispatch-x86-linux.S
801ac81033a68a6b6b71ea171b1726d3e9314228 02-Oct-2005 njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> Make the dispatch files platform-specific, not just arch-specific,
as requested by Greg Parker. (The ppc32/Darwin dispatch loop is
different to the ppc32/Linux one, for example.)



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4843 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_dispatch/dispatch-x86-linux.S