]> git.saurik.com Git - apple/objc4.git/blob - runtime/objc-rtp-sym.s
objc4-274.tar.gz
[apple/objc4.git] / runtime / objc-rtp-sym.s
1 /*
2 * Copyright (c) 2004 Apple Computer, Inc. All rights reserved.
3 *
4 * @APPLE_LICENSE_HEADER_START@
5 *
6 * Copyright (c) 2004 Apple Computer, Inc. All Rights Reserved.
7 *
8 * This file contains Original Code and/or Modifications of Original Code
9 * as defined in and that are subject to the Apple Public Source License
10 * Version 2.0 (the 'License'). You may not use this file except in
11 * compliance with the License. Please obtain a copy of the License at
12 * http://www.opensource.apple.com/apsl/ and read it before using this
13 * file.
14 *
15 * The Original Code and all software distributed under the License are
16 * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
17 * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
18 * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
19 * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
20 * Please see the License for the specific language governing rights and
21 * limitations under the License.
22 *
23 * @APPLE_LICENSE_HEADER_END@
24 */
25 /*
26 objc-rtp-sym.s
27 Copyright 2004, Apple Computer, Inc.
28 Author: Jim Laskey
29
30 This file is used to regenerate symbols for routines in the ObjC runtime pages.
31
32 Build this file with:
33 cc objc-rtp-syms.c -c -o objc-rtp-syms.o.temp
34 ld -seg1addr kRTPagesLo objc-rtp-syms.o.temp -r -o objc-rtp-syms.o
35 and then use `-sectcreate __DATA __commpage objc-rtp-syms.o` when linking.
36
37 IMPORTANT - declarations need to be declared in address order.
38 */
39
40 #undef OBJC_ASM
41 #define OBJC_ASM
42 #include "objc-rtp.h"
43
44 .text
45 .globl _objc_kIgnore_rtp
46 .org kRTAddress_ignoredSelector-kRTPagesLo // unnormalized with ld -seg1addr kRTPagesLo
47 _objc_kIgnore_rtp:
48 nop
49
50 // note that macro expansion does not work well with .org, had to go long hand - jml
51
52 .globl _objc_assign_strongCast_rtp
53 .org kRTAddress_objc_assign_strongCast-kRTPagesLo // unnormalized with ld -seg1addr kRTPagesLo
54 _objc_assign_strongCast_rtp:
55 nop
56
57 .globl _objc_assign_global_rtp
58 .org kRTAddress_objc_assign_global-kRTPagesLo // unnormalized with ld -seg1addr kRTPagesLo
59 _objc_assign_global_rtp:
60 nop
61
62 .globl _objc_assign_ivar_rtp
63 .org kRTAddress_objc_assign_ivar-kRTPagesLo // unnormalized with ld -seg1addr kRTPagesLo
64 _objc_assign_ivar_rtp:
65 nop
66
67 .globl _objc_msgSend_rtp
68 .org kRTAddress_objc_msgSend -kRTPagesLo // unnormalized with ld -seg1addr kRTPagesLo
69 _objc_msgSend_rtp:
70 nop
71
72 // Extra symbol at the end of the RTP area.
73 // This pacifies gdb and other debugging tools.
74 .globl _objc_msgSend_rtp_exit
75 .org kRTPagesHi - kRTPagesLo // unnormalized with ld -seg1adr kRTPagesLo
76
77 .data
78 .long 0