OSDN Git Service

* path.cc (conv_path_list): Take cygwin_conv_path_t as third parameter.
[pf3gnuchains/pf3gnuchains4x.git] / winsup / cygwin / newsym
1 #!/bin/bash
2 lib=$1; shift
3 as=$1; shift
4 ar=$1; shift
5 rm -rf newsym.dir
6 trap "rm -rf newsym.dir" 0 1 2 15
7 mkdir newsym.dir
8 while [ -n "$1" ]; do
9     newsym=$1; shift
10     oldsym=$1; shift
11     if [[ "$newsym" = *:d ]]; then
12         newsym=${newsym%:d}
13     else
14         cat <<EOF
15         .text
16         .global _$newsym
17 _$newsym:
18         jmp     *__imp__$oldsym
19 EOF
20     fi > newsym.dir/$newsym.s
21
22     cat <<EOF >> newsym.dir/$newsym.s
23         .section .idata\$7
24         .long   __head_cygwin1_dll
25
26         .section .idata\$5
27         .global __imp__$newsym
28 __imp__$newsym: .rva    1f
29
30         .section .idata\$4
31         .rva    1f
32
33         .section .idata\$6
34 1:      .short  2
35         .asciz  "$oldsym"
36 EOF
37     $as -o newsym.dir/$newsym.o newsym.dir/$newsym.s
38 done
39 $ar crus $lib newsym.dir/*.o