4 * The contents of this file are subject to the terms of the
5 * Common Development and Distribution License (the "License").
6 * You may not use this file except in compliance with the License.
8 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9 * or http://www.opensolaris.org/os/licensing.
10 * See the License for the specific language governing permissions
11 * and limitations under the License.
13 * When distributing Covered Code, include this CDDL HEADER in each
14 * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15 * If applicable, add the following below this CDDL HEADER, with the
16 * fields enclosed by brackets "[]" replaced with your own identifying
17 * information: Portions Copyright [yyyy] [name of copyright owner]
23 * Copyright (c) 2009, 2010, Oracle and/or its affiliates. All rights reserved.
28 #include <sys/types.h>
32 inline static mmapobj_result_t
*
33 find_segment(caddr_t roffset
, Rt_map
*lmp
)
35 mmapobj_result_t
*mpp
= MMAPS(lmp
);
36 uint_t mnum
= MMAPCNT(lmp
);
39 * Scan segments backwards. The heaviest use of this function stems
40 * from relocation processing. And typically, relocations are against
41 * the data segment. By scanning segments in reverse order, the data
42 * segment is processed first.
44 for (mpp
+= (mnum
- 1); mnum
; mnum
--, mpp
--) {
45 if ((roffset
>= (mpp
->mr_addr
+ mpp
->mr_offset
)) &&
46 (roffset
< (mpp
->mr_addr
+ mpp
->mr_msize
)))
52 #endif /* _INLINE_GEN_H */