tools/reorder/cygprof.c
author Mike Hommey <mh+mozilla@glandium.org>
Thu, 07 Jun 2012 10:41:59 +0200
changeset 98761 627b93e8a41cbe3ed3b87ad25ea9f7cfbeea1c20
parent 96742 f4157e8c410708d76703f19e4dfb61859bfe32d8
permissions -rw-r--r--
Bug 580408 - Glue for jemalloc 3.0.0. r=khuey

/* This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */

/*

  A stub library to LD_PRELOAD against an image that's been compiled
  with -finstrument-functions. It dumps the address of the function
  that's being entered upon function entry, and the address that's
  being returned to on function exit. Addresses are dumped as binary
  data to stdout.

 */

#include <unistd.h>

void
__cyg_profile_func_enter(void *this_fn, void *call_site)
{
    write(STDOUT_FILENO, &this_fn, sizeof this_fn);
}

void
__cyg_profile_func_exit(void *this_fn, void *call_site)
{
    write(STDOUT_FILENO, &call_site, sizeof call_site);
}