# List of files which containing translatable strings.
# Copyright (C) 2000-2010 Red Hat, Inc.

# Files from the compatibility library
lib/color.c
lib/printversion.c
lib/xmalloc.c

# Library sources
libasm/asm_error.c
libdw/dwarf_error.c
libdwfl/argp-std.c
libdwfl/libdwflP.h
libebl/eblbackendname.c
libebl/eblcorenotetypename.c
libebl/ebldynamictagname.c
libebl/eblobjnote.c
libebl/eblobjnotetypename.c
libebl/eblosabiname.c
libebl/eblsectionname.c
libebl/eblsectiontypename.c
libebl/eblsegmenttypename.c
libebl/eblsymbolbindingname.c
libebl/eblsymboltypename.c
libelf/elf_error.c

# Program sources
src/addr2line.c
src/ar.c
src/arlib-argp.c
src/arlib.c
src/elfcmp.c
src/elfcompress.c
src/elflint.c
src/findtextrel.c
src/nm.c
src/objdump.c
src/ranlib.c
src/readelf.c
src/size.c
src/stack.c
src/strings.c
src/strip.c
src/unstrip.c

# Tests
tests/backtrace.c
tests/dwflmodtest.c
