xref: /titanic_41/usr/src/cmd/sgs/libld/common/llib-lld (revision 29949e866e40b95795203f3ee46f44a197c946e4)
1/*
2 * CDDL HEADER START
3 *
4 * The contents of this file are subject to the terms of the
5 * Common Development and Distribution License, Version 1.0 only
6 * (the "License").  You may not use this file except in compliance
7 * with the License.
8 *
9 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
10 * or http://www.opensolaris.org/os/licensing.
11 * See the License for the specific language governing permissions
12 * and limitations under the License.
13 *
14 * When distributing Covered Code, include this CDDL HEADER in each
15 * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
16 * If applicable, add the following below this CDDL HEADER, with the
17 * fields enclosed by brackets "[]" replaced with your own identifying
18 * information: Portions Copyright [yyyy] [name of copyright owner]
19 *
20 * CDDL HEADER END
21 */
22/* LINTLIBRARY */
23/* PROTOLIB1 */
24
25/*
26 * Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
27 * Use is subject to license terms.
28 */
29
30#pragma ident	"%Z%%M%	%I%	%E% SMI"
31
32#include "libld.h"
33
34/*
35 * Generic interface definition for usr/src/lib/libld.
36 */
37
38char *		add_string(char *, char *);
39uintptr_t	create_outfile(Ofl_desc *);
40uintptr_t	ent_setup(Ofl_desc *, Xword);
41uintptr_t	finish_libs(Ofl_desc *);
42int		ld_main(int, char **);
43uintptr_t	ld_support_loadso(const char *);
44Listnode *	list_appendc(List *, const void *);
45Listnode *	list_insertc(List *, const void *, Listnode *);
46Listnode *	list_prependc(List *, const void *);
47Listnode *	list_where(List *, Word);
48uintptr_t	make_sections(Ofl_desc *);
49void		ofl_cleanup(Ofl_desc *);
50uintptr_t	open_outfile(Ofl_desc *);
51Ifl_desc *	process_open(const char *, size_t, int, Ofl_desc *,
52		    Half, Rej_desc *);
53uintptr_t	reloc_init(Ofl_desc *);
54uintptr_t	reloc_process(Ofl_desc *);
55Sdf_desc *	sdf_find(const char *, List *);
56Sdf_desc *	sdf_add(const char *, List *);
57void		sec_validate(Ofl_desc *);
58uintptr_t	sunwmove_preprocess(Ofl_desc *);
59Sym_desc *	sym_add_u(const char *, Ofl_desc *);
60Sym_desc *	sym_enter(const char *, Sym *, Word, Ifl_desc *,
61		    Ofl_desc *, Word, Word, Word, Half, avl_index_t *);
62Sym_desc *	sym_find(const char *, Word, avl_index_t *, Ofl_desc *);
63uintptr_t	sym_validate(Ofl_desc *);
64uintptr_t	update_outfile(Ofl_desc *);
65Ver_desc *	vers_base(Ofl_desc *);
66uintptr_t	vers_check_defs(Ofl_desc *);
67Ver_desc *	vers_desc(const char *, Word, List *);
68Ver_desc *	vers_find(const char *, Word, List *);
69