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

# Files from the compatibility library
lib/xmalloc.c
lib/xstrdup.c
lib/xstrndup.c

# Program sources
src/nm.c
src/readelf.c
src/size.c
src/strip.c
src/ld.c
src/ldgeneric.c
src/ldscript.y
src/elflint.c
libasm/asm_begin.c
libasm/asm_abort.c
libasm/asm_end.c
libasm/asm_error.c
libasm/asm_getelf.c
libdw/dwarf_error.c
# List of files which containing translatable strings.
# Copyright (C) 2000 Red Hat, Inc.

# Library sources
libebl/eblclosebackend.c
libebl/eblopenbackend.c
libebl/eblstrtab.c
libebl/i386_destr.c
libebl/i386_init.c
libebl/i386_symbol.c
libebl/mips_destr.c
libebl/mips_init.c
libebl/mips_symbol.c
libebl/sh_destr.c
libebl/sh_init.c
libebl/sh_symbol.c
libebl/sparc_destr.c
libebl/sparc_init.c
libebl/sparc_symbol.c
