head	1.1;
branch	1.1.1;
access;
symbols
	RELENG_8_4:1.1.1.4.0.30
	RELENG_9_1_0_RELEASE:1.1.1.4
	RELENG_9_1:1.1.1.4.0.28
	RELENG_9_1_BP:1.1.1.4
	RELENG_8_3_0_RELEASE:1.1.1.4
	RELENG_8_3:1.1.1.4.0.26
	RELENG_8_3_BP:1.1.1.4
	RELENG_9_0_0_RELEASE:1.1.1.4
	RELENG_9_0:1.1.1.4.0.24
	RELENG_9_0_BP:1.1.1.4
	RELENG_9:1.1.1.4.0.22
	RELENG_9_BP:1.1.1.4
	RELENG_7_4_0_RELEASE:1.1.1.4
	RELENG_8_2_0_RELEASE:1.1.1.4
	RELENG_7_4:1.1.1.4.0.20
	RELENG_7_4_BP:1.1.1.4
	RELENG_8_2:1.1.1.4.0.18
	RELENG_8_2_BP:1.1.1.4
	RELENG_8_1_0_RELEASE:1.1.1.4
	RELENG_8_1:1.1.1.4.0.16
	RELENG_8_1_BP:1.1.1.4
	RELENG_7_3_0_RELEASE:1.1.1.4
	RELENG_7_3:1.1.1.4.0.14
	RELENG_7_3_BP:1.1.1.4
	RELENG_8_0_0_RELEASE:1.1.1.4
	RELENG_8_0:1.1.1.4.0.12
	RELENG_8_0_BP:1.1.1.4
	RELENG_8:1.1.1.4.0.10
	RELENG_8_BP:1.1.1.4
	RELENG_7_2_0_RELEASE:1.1.1.4
	RELENG_7_2:1.1.1.4.0.8
	RELENG_7_2_BP:1.1.1.4
	RELENG_7_1_0_RELEASE:1.1.1.4
	RELENG_6_4_0_RELEASE:1.1.1.3
	RELENG_7_1:1.1.1.4.0.6
	RELENG_7_1_BP:1.1.1.4
	RELENG_6_4:1.1.1.3.0.22
	RELENG_6_4_BP:1.1.1.3
	RELENG_7_0_0_RELEASE:1.1.1.4
	RELENG_6_3_0_RELEASE:1.1.1.3
	RELENG_7_0:1.1.1.4.0.4
	RELENG_7_0_BP:1.1.1.4
	RELENG_6_3:1.1.1.3.0.20
	RELENG_6_3_BP:1.1.1.3
	RELENG_7:1.1.1.4.0.2
	RELENG_7_BP:1.1.1.4
	RELENG_6_2_0_RELEASE:1.1.1.3
	RELENG_6_2:1.1.1.3.0.18
	RELENG_6_2_BP:1.1.1.3
	BETA10:1.1.1.4
	RELENG_5_5_0_RELEASE:1.1.1.3
	RELENG_5_5:1.1.1.3.0.16
	RELENG_5_5_BP:1.1.1.3
	RELENG_6_1_0_RELEASE:1.1.1.3
	RELENG_6_1:1.1.1.3.0.14
	RELENG_6_1_BP:1.1.1.3
	RELENG_6_0_0_RELEASE:1.1.1.3
	RELENG_6_0:1.1.1.3.0.12
	RELENG_6_0_BP:1.1.1.3
	RELENG_6:1.1.1.3.0.10
	RELENG_6_BP:1.1.1.3
	RELENG_5_4_0_RELEASE:1.1.1.3
	RELENG_5_4:1.1.1.3.0.8
	RELENG_5_4_BP:1.1.1.3
	RELENG_5_3_0_RELEASE:1.1.1.3
	RELENG_5_3:1.1.1.3.0.6
	RELENG_5_3_BP:1.1.1.3
	RELENG_5:1.1.1.3.0.4
	RELENG_5_BP:1.1.1.3
	BETA7:1.1.1.3
	RELENG_5_2_1_RELEASE:1.1.1.3
	RELENG_5_2_0_RELEASE:1.1.1.3
	RELENG_5_2:1.1.1.3.0.2
	RELENG_5_2_BP:1.1.1.3
	BETA6:1.1.1.3
	BETA5:1.1.1.3
	RELENG_5_1_0_RELEASE:1.1.1.1
	RELENG_5_1:1.1.1.1.0.2
	RELENG_5_1_BP:1.1.1.1
	BETA4:1.1.1.1
	LIBUWX:1.1.1;
locks; strict;
comment	@# @;


1.1
date	2003.05.15.05.04.36;	author marcel;	state Exp;
branches
	1.1.1.1;
next	;

1.1.1.1
date	2003.05.15.05.04.36;	author marcel;	state Exp;
branches;
next	1.1.1.2;

1.1.1.2
date	2003.07.11.01.03.55;	author marcel;	state Exp;
branches;
next	1.1.1.3;

1.1.1.3
date	2003.10.09.03.02.39;	author marcel;	state Exp;
branches;
next	1.1.1.4;

1.1.1.4
date	2006.07.07.22.58.56;	author marcel;	state Exp;
branches
	1.1.1.4.30.1;
next	;

1.1.1.4.30.1
date	2006.07.07.22.58.56;	author svnexp;	state dead;
branches;
next	1.1.1.4.30.2;

1.1.1.4.30.2
date	2013.03.28.13.04.22;	author svnexp;	state Exp;
branches;
next	;


desc
@@


1.1
log
@Initial revision
@
text
@# Makefile for IPF unwind express library, libuwx.
#
# To build a cross-unwind library (i.e., one hosted on a
# non-IPF, non-HP-UX system), omit the "self" callbacks
# and the dependency on libuca by setting SELFOBJS and
# SELFLIBS to empty strings.

AR = ar
RANLIB = :

# OTHERCFLAGS = -DDISABLE_TRACE		# Disables trace output
# OTHERCFLAGS = +DD64			# Builds 64-bit library
OTHERCFLAGS =

CFLAGS = +W944 -O $(OTHERCFLAGS)

OBJS =		uwx_bstream.o uwx_context.o uwx_env.o uwx_scoreboard.o \
		uwx_step.o uwx_str.o uwx_swap.o uwx_trace.o uwx_uinfo.o \
		uwx_utable.o

# SELFOBJS =				# For cross-unwind library
SELFOBJS = 	uwx_self.o uwx_self_context.o uwx_ttrace.o

# SELFLIBS =				# For cross-unwind library
SELFLIBS =	-luca

libuwx.a:	$(OBJS) $(SELFOBJS)
	$(AR) rv libuwx.a $?
	$(RANLIB) libuwx.a

libuwx.so:	$(OBJS) $(SELFOBJS)
	ld -b -o libuwx.so $(OBJS) $(SELFOBJS) $(SELFLIBS)

libuwx.sl:	$(OBJS) $(SELFOBJS)
	ld -b -o libuwx.sl $(OBJS) $(SELFOBJS) $(SELFLIBS)

uwx_bstream.o:	uwx.h uwx_env.h uwx_bstream.h

uwx_context.o:	uwx.h uwx_env.h uwx_scoreboard.h uwx_trace.h

uwx_env.o:	uwx.h uwx_env.h uwx_scoreboard.h uwx_str.h uwx_trace.h

uwx_scoreboard.o: uwx.h uwx_env.h uwx_scoreboard.h uwx_trace.h

uwx_step.o:	uwx.h uwx_env.h uwx_context.h uwx_utable.h \
		uwx_uinfo.h uwx_scoreboard.h uwx_str.h uwx_trace.h

uwx_str.o:	uwx.h uwx_env.h uwx_str.h

uwx_swap.o:	uwx.h uwx_env.h uwx_swap.h

uwx_trace.o:	uwx.h uwx_env.h uwx_uinfo.h uwx_scoreboard.h uwx_trace.h

uwx_uinfo.o:	uwx.h uwx_env.h uwx_uinfo.h uwx_utable.h \
		uwx_scoreboard.h uwx_bstream.h uwx_trace.h

uwx_utable.o:	uwx.h uwx_env.h uwx_utable.h uwx_swap.h uwx_trace.h

uwx_self.o:	uwx.h uwx_env.h uwx_context.h uwx_trace.h uwx_self.h

uwx_self_context.o:	uwx_self_context.s
	$(CC) -c $(CFLAGS) -o uwx_self_context.o uwx_self_context.s

uwx_ttrace.o:	uwx.h uwx_env.h uwx_context.h uwx_trace.h uwx_ttrace.h
@


1.1.1.1
log
@This is beta4 of libuwx; an ia64 stack unwinder. This code is made
available by Hewlett-Packard under the MIT license. The unwinder is
small, clean and fast and needed little adaptation for use in the
kernel.

This import has embedded in it the changes needed to make it build
in a kernel environment.

To optimize the common case, the kernel will minimize the number
of registers saved by not saving the preserved registers. In case
access to preserved registers is needed (signal handling, ptrace)
the kernel will unwind to the context of the syscall or exception.
For this we need an unwinder.

Approved by: re (blanket)
@
text
@@


1.1.1.2
log
@Rename DISABLE_TRACE to UWX_TRACE_ENABLE and change the conditional
compilation accordingly. The net effect is that tracing is not by
default present and that it can easily be compiled-in.

The tracer uses getenv() and printf(), which cannot be used in all
cases (ie from the debugger) and with this change we improved the
applicability of the unwinder.

This change is made on the vendor branch and given back to the
vendor for possible inclusion in future versions.
@
text
@d11 1
a11 1
# OTHERCFLAGS = -DUWX_TRACE_ENABLE	# Enables trace output
@


1.1.1.3
log
@Upgrade Unwind Express (libuwx) to BETA 5. This upgrade includes
all the fixes locally applied and submitted to the author. Not
included in BETA 5, but part of this import are:
o  FreeBSD specific ifdefs to make this compile within a kernel.
   These are limited to include directives and defines.
o  Removal of unused variables, proper casts and initializations
   to allow building with -Werror. This happens in code so has a
   higher chance of causing future import conflicts but not enough
   to worry about it.

I'm especially thankful that the author accepted the change to
replace DISABLE_TRACE with UWX_TRACE_ENABLE so that we can use it
in kernel config files without nasty mappings or indirections as
that would make the integration less perfect. Thanks Cary!
@
text
@a10 1
OTHERCFLAGS =
d13 1
d15 1
a15 1
CFLAGS = -O $(OTHERCFLAGS)
d39 1
a39 1
uwx_context.o:	uwx.h uwx_env.h uwx_scoreboard.h uwx_step.h uwx_trace.h
@


1.1.1.4
log
@Import BETA 10 of HP's Unwind Express. This import does not contain
any modifications to make it build as part of the FreeBSD kernel.
Now that the source appears to have stabilized, local changes will
happen on HEAD and will therefore cause affected files to be pulled
from the vendor branch.
@
text
@d18 2
a19 2
		uwx_step.o uwx_str.o uwx_swap.o uwx_symbols.o \
		uwx_trace.o uwx_uinfo.o uwx_utable.o
d22 1
a22 2
# SELFOBJS = 	uwx_self.o uwx_self_context.o uwx_ttrace.o
SELFOBJS = 	uwx_self.o uwx_self_context.o
a36 3
clean:
	rm -f $(OBJS) $(SELFOBJS) libuwx.a libuwx.so libuwx.sl

a51 2
uwx_symbols.o:	uwx.h uwx_env.h uwx_symbols.h

d59 1
a59 2
uwx_self.o:	uwx.h uwx_env.h uwx_context.h uwx_trace.h uwx_self.h \
		uwx_symbols.h
@


1.1.1.4.30.1
log
@file Makefile was added on branch RELENG_8_4 on 2013-03-28 13:04:22 +0000
@
text
@d1 71
@


1.1.1.4.30.2
log
@## SVN ## Exported commit - http://svnweb.freebsd.org/changeset/base/248810
## SVN ## CVS IS DEPRECATED: http://wiki.freebsd.org/CvsIsDeprecated
@
text
@a0 71
# Makefile for IPF unwind express library, libuwx.
#
# To build a cross-unwind library (i.e., one hosted on a
# non-IPF, non-HP-UX system), omit the "self" callbacks
# and the dependency on libuca by setting SELFOBJS and
# SELFLIBS to empty strings.

AR = ar
RANLIB = :

OTHERCFLAGS =
# OTHERCFLAGS = -DUWX_TRACE_ENABLE	# Enables trace output
# OTHERCFLAGS = +DD64			# Builds 64-bit library

CFLAGS = -O $(OTHERCFLAGS)

OBJS =		uwx_bstream.o uwx_context.o uwx_env.o uwx_scoreboard.o \
		uwx_step.o uwx_str.o uwx_swap.o uwx_symbols.o \
		uwx_trace.o uwx_uinfo.o uwx_utable.o

# SELFOBJS =				# For cross-unwind library
# SELFOBJS = 	uwx_self.o uwx_self_context.o uwx_ttrace.o
SELFOBJS = 	uwx_self.o uwx_self_context.o

# SELFLIBS =				# For cross-unwind library
SELFLIBS =	-luca

libuwx.a:	$(OBJS) $(SELFOBJS)
	$(AR) rv libuwx.a $?
	$(RANLIB) libuwx.a

libuwx.so:	$(OBJS) $(SELFOBJS)
	ld -b -o libuwx.so $(OBJS) $(SELFOBJS) $(SELFLIBS)

libuwx.sl:	$(OBJS) $(SELFOBJS)
	ld -b -o libuwx.sl $(OBJS) $(SELFOBJS) $(SELFLIBS)

clean:
	rm -f $(OBJS) $(SELFOBJS) libuwx.a libuwx.so libuwx.sl

uwx_bstream.o:	uwx.h uwx_env.h uwx_bstream.h

uwx_context.o:	uwx.h uwx_env.h uwx_scoreboard.h uwx_step.h uwx_trace.h

uwx_env.o:	uwx.h uwx_env.h uwx_scoreboard.h uwx_str.h uwx_trace.h

uwx_scoreboard.o: uwx.h uwx_env.h uwx_scoreboard.h uwx_trace.h

uwx_step.o:	uwx.h uwx_env.h uwx_context.h uwx_utable.h \
		uwx_uinfo.h uwx_scoreboard.h uwx_str.h uwx_trace.h

uwx_str.o:	uwx.h uwx_env.h uwx_str.h

uwx_swap.o:	uwx.h uwx_env.h uwx_swap.h

uwx_symbols.o:	uwx.h uwx_env.h uwx_symbols.h

uwx_trace.o:	uwx.h uwx_env.h uwx_uinfo.h uwx_scoreboard.h uwx_trace.h

uwx_uinfo.o:	uwx.h uwx_env.h uwx_uinfo.h uwx_utable.h \
		uwx_scoreboard.h uwx_bstream.h uwx_trace.h

uwx_utable.o:	uwx.h uwx_env.h uwx_utable.h uwx_swap.h uwx_trace.h

uwx_self.o:	uwx.h uwx_env.h uwx_context.h uwx_trace.h uwx_self.h \
		uwx_symbols.h

uwx_self_context.o:	uwx_self_context.s
	$(CC) -c $(CFLAGS) -o uwx_self_context.o uwx_self_context.s

uwx_ttrace.o:	uwx.h uwx_env.h uwx_context.h uwx_trace.h uwx_ttrace.h
@


