2 * Copyright (c) 2004 Apple Inc. All rights reserved.
4 * @APPLE_LICENSE_HEADER_START@
6 * This file contains Original Code and/or Modifications of Original Code
7 * as defined in and that are subject to the Apple Public Source License
8 * Version 2.0 (the 'License'). You may not use this file except in
9 * compliance with the License. Please obtain a copy of the License at
10 * http://www.opensource.apple.com/apsl/ and read it before using this
13 * The Original Code and all software distributed under the License are
14 * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
15 * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
16 * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
17 * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
18 * Please see the License for the specific language governing rights and
19 * limitations under the License.
21 * @APPLE_LICENSE_HEADER_END@
24 This file is used to regenerate symbols for routines in the ObjC runtime pages.
27 cc objc-rtp-syms.c -c -o objc-rtp-syms.o.temp
28 ld -seg1addr kRTPagesLo objc-rtp-syms.o.temp -r -o objc-rtp-syms.o
29 and then use `-sectcreate __DATA __commpage objc-rtp-syms.o` when linking.
31 IMPORTANT - declarations need to be declared in address order.
39 .globl _objc_kIgnore_rtp
40 .org kRTAddress_ignoredSelector-kRTPagesLo // unnormalized with ld -seg1addr kRTPagesLo
44 // note that macro expansion does not work well with .org, had to go long hand - jml
46 .globl _objc_assign_strongCast_rtp
47 .org kRTAddress_objc_assign_strongCast-kRTPagesLo // unnormalized with ld -seg1addr kRTPagesLo
48 _objc_assign_strongCast_rtp:
51 .globl _objc_assign_global_rtp
52 .org kRTAddress_objc_assign_global-kRTPagesLo // unnormalized with ld -seg1addr kRTPagesLo
53 _objc_assign_global_rtp:
56 .globl _objc_assign_ivar_rtp
57 .org kRTAddress_objc_assign_ivar-kRTPagesLo // unnormalized with ld -seg1addr kRTPagesLo
58 _objc_assign_ivar_rtp:
61 .globl _objc_msgSend_rtp
62 .org kRTAddress_objc_msgSend -kRTPagesLo // unnormalized with ld -seg1addr kRTPagesLo
66 // Extra symbol at the end of the RTP area.
67 // This pacifies gdb and other debugging tools.
68 .globl _objc_msgSend_rtp_exit
69 .org kRTPagesHi - kRTPagesLo // unnormalized with ld -seg1adr kRTPagesLo