Home | History | Annotate | Download | only in bin
libz.so.1 __gmon_start__ _Jv_RegisterClasses inflate inflateReset inflateInit_ inflateEnd libc.so.6 _IO_stdin_used fflush strcpy __rawmemchr fnmatch _IO_putc fopen strncmp optind strrchr __strdup dcgettext ftell strncpy time __stack_chk_fail __lxstat unlink putchar realloc abort stdin _exit strpbrk chmod sbrk rewind strtol isatty feof calloc strlen memset strstr strcspn __errno_location fseek stdout fputc fseeko64 getrusage fputs memcpy fclose strtoul malloc strcat umask strcasecmp ftello64 realpath getgid asprintf getenv sscanf optarg stderr _obstack_newchunk getuid getopt_long strncasecmp __fxstat strncat fileno fwrite fread strchr fdopen qsort bsearch fcntl __xstat memmove fopen64 _obstack_begin bindtextdomain access _IO_getc opterr strcmp strerror __libc_start_main ferror vfprintf getopt_long_only snprintf free __environ GLIBC_2.2.3 GLIBC_2.4 GLIBC_2.3 GLIBC_2.1 GLIBC_2.0 
%P:%s: file format not recognized; treating as linker script Reducing stack by rule %d (line %lu), %P%F: unrecognised keyword in MRI style script '%s' %X%P:%S: unknown phdr type `%s' (try integer literal) %X%P:%S: PHDRS syntax error at `%s' %P%F:%S: %s in %s %P%F:%S: %s token %s ( nterm %s ( Deleting Stack now Starting parse Stack size increased to %lu Entering state %d Reading a token: Now at end of input. Next token is Shifting -> %s MRI style script fill value origin length *default* PT_GNU_EH_FRAME PT_GNU_STACK FILEHDR PHDRS FLAGS VERSION script global local extern syntax error Error: discarding Error: popping memory exhausted Cleanup: discarding lookahead Cleanup: popping PT_NULL PT_LOAD PT_DYNAMIC PT_INTERP PT_NOTE PT_SHLIB PT_PHDR PT_TLS $end $undefined LNAME '=' OREQ ANDEQ RSHIFTEQ LSHIFTEQ DIVEQ MULTEQ MINUSEQ PLUSEQ '?' ':' OROR ANDAND '|' '^' '&' '<' '>' '+' '-' '*' '/' '%' UNARY '(' ALIGN_K BLOCK BIND SQUAD LONG SHORT SECTIONS INSERT_K AFTER BEFORE DATA_SEGMENT_ALIGN DATA_SEGMENT_RELRO_END DATA_SEGMENT_END SORT_BY_NAME SORT_BY_ALIGNMENT '{' '}' SIZEOF_HEADERS OUTPUT_FORMAT FORCE_COMMON_ALLOCATION OUTPUT_ARCH INHIBIT_COMMON_ALLOCATION SEGMENT_START INCLUDE MEMORY NOLOAD DSECT OVERLAY DEFINED TARGET_K SEARCH_DIR MAP NEXT SIZEOF ALIGNOF LOADADDR MAX_K MIN_K STARTUP HLL SYSLIB NOFLOAT NOCROSSREFS ORIGIN FILL LENGTH CREATE_OBJECT_SYMBOLS INPUT OUTPUT CONSTRUCTORS ALIGNMOD SUBALIGN PROVIDE PROVIDE_HIDDEN AS_NEEDED CHIP ABSOLUTE NEWLINE ENDWORD ORDER NAMEWORD ASSERT_K PUBLIC DEFSYMEND ALIAS TRUNCATE INPUT_SCRIPT INPUT_MRI_SCRIPT INPUT_DEFSYM CASE EXTERN VERS_TAG VERS_IDENTIFIER GLOBAL VERSIONK INPUT_VERSION_SCRIPT KEEP ONLY_IF_RO ONLY_IF_RW SPECIAL EXCLUDE_FILE CONSTANT INPUT_DYNAMIC_LIST ',' ';' ')' '[' ']' '!' '~' $accept filename defsym_expr @1 mri_script_file @2 mri_script_lines mri_script_command @3 ordernamelist mri_load_name_list mri_abs_name_list casesymlist extern_name_list @4 extern_name_list_body @5 ifile_list ifile_p1 @6 @7 input_list @8 @9 @10 sec_or_group_p1 statement_anywhere @11 wildcard_name wildcard_spec exclude_name_list file_NAME_list input_section_spec_no_keep input_section_spec @12 statement @13 @14 statement_list statement_list_opt fill_exp fill_opt assign_op assignment opt_comma memory_spec_list_opt memory_spec_list memory_spec @15 @16 origin_spec length_spec attributes_opt attributes_list attributes_string startup high_level_library high_level_library_NAME_list low_level_library low_level_library_NAME_list floating_point_support nocrossref_list mustbe_exp @17 memspec_at_opt opt_at opt_align opt_subalign sect_constraint @18 @19 @20 @21 @22 @23 @24 @25 @26 @27 @28 @29 @30 atype opt_exp_with_type opt_exp_without_type opt_nocrossrefs memspec_opt phdr_opt overlay_section @31 @32 @33 phdrs phdr_list phdr @34 @35 phdr_type phdr_qualifiers phdr_val dynamic_list_file @36 dynamic_list_nodes dynamic_list_node dynamic_list_tag version_script_file @37 @38 vers_nodes vers_node verdep vers_tag vers_defns @39 @40 opt_semicolon N ? # y ] A % t _ J *  j U E 5 ) | N " n Q 4 { V ? , v j ^ @ # i K ' g @ { Q 7 - u e U E 5 % f 9 Y u ^ M A h X 8 u { T - j C y X 9 x W 6 _ > l \ P ? 3 " ^ O z l : t e V E 9 ( x n " M % j Z P * e D # S 8 ' C C C C C ) C C C C C = C C C A j : C p C . J \ 2 C r C C C ( C * . 5 C 8 C C C C C C C C C C C y C C a o C b d h C C i l n o o q s C v o C | C t u M j C C C Q C C C C C C C C C C C C C C C + C w } C C C C m C - C C o o o  C o o 7 C & C ' ' C C y ) C C + C C C p p R ~ S C o C ! C C - C C Q C T W X Y Z C C i t ( ^ C C ` o e o o C o o C C o o o o o o o o o o C C o o o o o o o o o o o o o o o o o o o o o o C o o _ C T C C C C C C b C . C C C C C C C C C C ] C C C + C C C C C C C C C C C C C s C C C P C C d x 3 - - - - C C C C C C C C C C p C C g C o C + C C C C C C C C S C C o C C o o C o C C C C C C o o C C C T C o C L C C C : P C C C ` C a C C C C C ) = V j ~ > p p C C C C C C o l C X ] ] C C F e f C C C C C C C C C C C C C C C C C o n 4 C 4 C o o C C ? C d o y C C ; C C C C C C C o r C C C o C C C C C t C C C # C C C . C C C C C C C C C C C C C C C C C C 9 " C C C z C C 0 C C C C 9 J N O C o C C U ~ z z C z C z z C C V W z C C C ~ C C C _ b c i C C C C C 6 j m z p u 6 C C C C C C C C C 6 C C C C C C C C " % ! 8 9 #$&'()*+,-./01234567:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ H F h R q Y 8 1 f % & ' | }  8 9 3 4 5 : T 8 ? 6 7 B C D E F G % 9 L M N O P Q R ~ 9 Y / [ @ 6 7 ; 8 $ j f T f p b 8 ~ f 9 { 8 % ` e 8 % f % & ~ % ~ | % f  |  f : f _ ` % % & ' ! " Q S 3 4 5 % : ? 6 7 % G 1 2 L M N O P Q R ! " Y E [ % % ' 6 7 9 % @ j x y z F % p % c K | %  6 7 % % ^ d e p l $ 9 | 9  % @ % & ' % F % 8 % % K % % % 3 4 5 % % : 9 ? % ^ % % % G d e % % L M N O P Q R % p % 5 % % Y % [ B C D E F 8 9 % * j 0 p 2 U = % & ' ( O 3 4 5 V : % ? % 8 G L M N O P Q R % s Y [ j % & ' p ! " 3 4 5 : ? % b X G $ Y L M N O P Q R 9 9 Y [ @ % 8 F & K j % % p % % & ' c ^ [ 9 % d e 3 4 5 % : 8 p 8 % ? % % % % G % % 9 % L M N O P Q R % % % Y 8 [ % % % j % p b $ 9 ) * + , - % 6 7 @ ! " Z \ ` J d e . a & p ! " . / 0 ; < = > @ A H I J K S T U V W X ] ^ _ d e $ p . / 0 | ; < = > @ A H I J K S T U V W X ] ^ _ d e p ! " | ! " ! " ! " ! " ! " ! " ! " ! " ! " ! " ! " ! " ! " ! " ! " ! " ! " ! " ! " ! " ! " ! " ! " ! " ! " ! " ! " ! " & ! " $ & @ ! " @ a g h i j k l m n o q r t u v a { | } g h i j k m n o q r t u v { | } ! " % ! " ! " ! " J b : U Q S f ] x j j X Y ? C j # k k k Y j _ r v k @ A ' Z L a Z R X Y 7 r Z X Y j R B C G X Y s X Y w k h y a d e { g h [ \ j k l m n $ T q x - . v w I z { z } ~  { Z 0 I | [ } Z \ ] ^ [ \ c d Z I P Z j [ I R ~ k 8 [ 0  j [ 7 [ I r Z [ \ k t u j : K 9 I k 8 6 : ; b ) 1 2 3 4 8 < 3 4 y 5 % - 1 2 3 : * ; ) ! " ( _ ) 5 D < ( 3 4 5 F , H / 6 W K < L M N O B D V ` ^ o ` % & b p r N s t u x y | & Y a h i j k l m n o p 8 R $ : ) * / ; + ) # ' 0 2 4 5 I = > < G 9 E J O 3 4 U V W ^ 5 c i j h i j k l m n o p k l m n o p E q r f s t u v 3 4 . @ g : c w x y z { ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 ! " # $ % 7 & ' ( ) i * + , - . / 0 1 2 3 4 5 6 7 ! " ; M S T X b e D D E E F F G H I J K L M N O P Q R S T G U V W H I J K L M N O P Q R S T U V W ; D > > < O E H ? @ O P R m H = @ F ? B C D E A G . 3 6 U ` T \ ^ O I \ ^ A j 3 U 6 l ( 1 / ! $ % 4 & ' * P C Y Z > [ ^ - 8 7 Z J W a V ] _ B g i h 5 2 4 L N F I J T k W a ] ` Q K X + 2 0 , # " 5 9 Q R M K V e \ _ S G ) : b _ X N L j & ' 8 9 c c " % ( < 6 b n [ b ! j 9 M f S : 7 d Y = 9 # ; -  q p r . $ o ~ * | * t u o { } ) + s + / + w v x y , z 0 1 C C C C C C C C C C C C s C C C C " C C C ) C C C C : C F o C C C C C C > C . C r C C C C C C C : C C C C C C ( C a C C C C C C C C C C C C C C C C C 6 C C { D C C C C C C C C C C C C C C C C C C C @ C C C y X + 8 9 = | } ~  q ; < F H = > ? @ , ? ] > P f Q d g A A 3 1 e B C _ ` x y z 8 ~ 8 . / 0 ; < = > @ A H I J K S T U V W X ] ^ _ d e p | & @ a g h i j k m n o q r t u v { | } |  8 8 8 1 2 % % 8 % % % % % % % % % % % % % % & ' 3 4 5 : ? G L M N O P Q R Y [ j p l 9 9 @ f % % 8 % % % % % % % % % % % % % % % % % % % ! " 8 |  9 9 @ F ^ 9 9 % f ~ $ % % f 9 $ 8 ~ % ( % B C D E F % % b X b Y $ 9 % & $ 8 % % % c [ 9 ' % 9 % 8 8 ) * + , - 6 7 @ Z \ ` p 9 % % % % % 6 % 9 % 6 7 ` 6 7 % % 8 % % % % % b $ 9 ! # ( ( . / 4 5 6 7 8 9 : ; < = > @ B D G I K M O Q P T W V Z ^ _ a f i l o r u y x } | ! ' ( , - 2 7 8 = A A E D K L O Q U W Y [ ] b i k o q s u w y { } ! # % ( * , . 0 2 4 6 8 : < > @ B D F H J L N P R U W Y [ ] _ a c e g i k t v x z | ~ ! ) , . 2 3 2 < i l x " & * . 2 8 : " # & + - / 2 4 9 > B E J N S X ] b g j m p u z } ! % ' + . 0 4 7 8 > ? G H O T W Z [ ` c d l n p r t z  ! # ' + 2 9 ; < A C D H J K S T Z ^ b c g i l n q v {  $ ) . 5 < C H O T V ] d k p u y z  ! & ' * + , 3 5 6 : @ A E F I K N S V W Z [ a c f k q x z } ~ x y z l g g h n m r r r q i i i & & a a j k o u u t v { | @ $ } H % I % _ % ; % ; % = % < > ] % ^ % J % @ $ X % | % 0 1 0 2 f % f % f % . 8 9 K % p % % 6 % 7 % 6 % 7 % 6 % 6 % 7 % 6 % 7 % 7 % 6 % % % % \ ` 6 % ` % Z % p % @ $ ) * + , - d % e % A 8 9 @ $ Y [ % S % T % T % U % V W % L % ! " G % : N % M % O % P % % j % & % & % 3 % 4 % 5 % ? % ' % Q % R % p % Y % [ % b b % & % c % 8 9 F 8 9 ^ 8 9 @ $ B C D E F % % ( % ( % ' % X 8 9 / 8 9 b % % 8 9 8 9 8 9 ~ 8 9 ~ 8 9 ~ ~   | 8 9 | 8 9 | | }G & , 3 ; B F J O V Z ^ b f $ s$ j n r v z ~ "P % ) - < J b n h | =' * 1 6 = S @ Y ` m v  C } ! & - 6 F 30 M V k p { K * - ; N ` l } ^K , G Z ^ h l p   .L $ 4 F N a ~ O # ' + / 3 7 ; ? C G K O dx S Y k * < M a L e i t ~ %F: macros nested too deeply redirect bad buffer in yy_scan_bytes() \%03o %F%P: EOF in comment ldlex.l in script in expression out of dynamic memory in yy_scan_buffer() out of dynamic memory in yy_scan_bytes() out of dynamic memory in yy_create_buffer() %F:includes nested too deeply %F%s: file not recognized: %E %P:%S: ignoring invalid character `%s'%s fatal flex scanner internal error--end of buffer missed fatal error - scanner input buffer overflow %F%P: read in flex scanner failed fatal flex scanner internal error--no action found w b J 6 " n Z F 2 z f R > * v b N : & r ^ z f R > * v b N : & r ^ J 6 " n Z F 2 ~ j V B . - % . . | h T @ , x d P < ( t X < 9 - . [ G 3 @ - . . 0 h h h h h h h h h . ` ` ` ` ` ` ` ` ` ` ` z ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` . ` ` ` ` ` ` ` ` ` ` ` z ` ` ` ` ` ` ` ` ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q & , + " # $ % - . ' ( ! r p * ) & , + " # $ % - . ' ( ! * ) $ % r p ~ } " # $ % - . ( ! v v v } }  Z E s q < = Z E < = s q 9 3 a j V k z _ A ] g 9 3 j k z A 9 3 a j V k z _ A ] g T 5 2 i ? \ K J u ` ^ 5 2 i K T 5 2 i ? \ K J u ` ^ > U @ S 4 / h 0 I F [ G > 4 h 0 F > U @ S 4 / h 0 I F [ G @ ; M t b d x o W 1 ; M t l x o ; M t b d x o W 1 | : R w | : w | : R w L L L m n H m n m n H c Y c c Y O { e { O { e X D D X D y C B y C B y C B 8 8 8 f f 6 6 6 N N 7 7 7 P P Q Q ! ! " " # # $ % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % $ & & & Y & a a a a a & & & & & & & & & a & & ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ( ( ) * + * * Y Y , * * * * * * * * * * * * * * - . / / / / $ % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % & & 0 Y Y ' 1 a a a & & & & a & & & a a & & & & & & & & & & & & & & & & & & & a & ' ' 2 ' 1 ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ( ( ) * * + + , * * * * * * * * * * * * * * * * * * * * * * * * * * * - . / / / / % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % & 0 1 & a & & & & & & & & a & & & & & & & & & & & & & & & & & & & & & & & ' 2 ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ( * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * / / / % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' * * * * * * * * 3 * * * * * * * * * * * * * * * 4 * * * * * * * / / / % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % & & & & & & & & & & & & & & & & & & & & & & & & & & ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' * * * * * 5 3 * * * * * * * * * 6 4 * * * * / / / % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % & & & & & & & & & & & & & & & & & & & & & & & ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' * * * * * * * * * * * * / / % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % & & & & & & & & & & & & & & & & & & & ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' * * * * * * % % % % % % % % % % % % % % % % % % % % % % % & & & & & & & & & & & & & & ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' * * * * * * % % % % % % % % % % % % % % % % % % & & & & & & & & & ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' % % % % % % % % % % % % % % % % % % & & & & & & & & & ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' % % % % % % % % % % % % % % % & & & & & & & ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' % % % % % % % % % % % % % & & & & & & ' ' ' ' ' ' ' ' ' ' ' ' ' % % % % % % % % % % & & & & & ' ' ' ' ' ' ' ' ' ' % % % % % % % % % % & & & & & & ' ' ' ' ' ' ' ' ' ' % % % % % % % & & & ' ' ' ' ' ' ' % % % % % % % & & & ' ' ' ' ' ' ' % % % % % % & & ' ' ' ' ' ' % % % % % & & ' ' ' ' ' % % % % & ' ' ' ' % % % % & ' ' ' ' % % % % & ' ' ' ' % % % & ' ' ' % % ' ' % ' % ' Q C 5 A ; = ^ D W ! U q 2 ' X 5 A ; M Y Z " j T 7 ] = R M T | p v A C n { s c _ @ a b u r | R ~ u s m { k x x h 8 o k g i k q g d f Z e g [ i i ] j [ O V b Q d b P P O 0 3 8 ) F ) J M y S M K T U H Q G S ; D 9 D F I > E 1 E G t 4 B 1 ; = 4 2 , : * 7 7 ' . * & ( * " 0 & & $ $ & ( ( ) & ! # ! B 1 u A x I V D i y y } u x ~ u o p u q f w m j i d u f c i c o _ o p ^ n b f Y > F Z c b V ` W O ^ \ [ S J K N . b 6 5 * 3 + $ 1 / . ' " P I A : = 8 D 6 < 2 1 % 5 . ( + - * 8 , & 8 % & # 5 # % $ 1 ' " # ( ! $ y s ] q f U \ ^ Z P ' d I 5 1 . K N Z R G ^ k b d # " " ( ! ! - . ; 8 + : < 3 ) E A 7 D J 6 = P N J F A U S P J L U Z \ I V ^ U [ 9 G X a g c Y u x I Q R N ^ a q { u l  ! ( ) ! / ' + ! 9 4 % # F G : M B K 4 E 6 D E 9 X ; W I > W A S D B e h k M O O p a z p x r ~ ~ r s w   v g  x ! & & - + , + . ! 1 3 & 4 ( 9 ) > 9 @ N L ? M L O 6 G = > O K [ M P U 5 F a S V : V L M ^ Z j \ _ d D U t u j l h o M p l P b u v r z X v ~ } $ / : E P [ c k s { e $ G $ ) ) + + - - 0 - . 0 . - / . / - - 1 2 0 7 2 8 . 2 9 8 1 V u 7 G ] ] 9 % % ; P X : Z V % : % ; : : j X ! P _ _ u % k j { l k = Z = = { l % % = = = " = = % = # y & & b m b o m b o m b & o & b b c o c  c y  c  c c $ & &  ( d d d d f f d e e f d d e f f e e ~ ~ e ~ & ~ ~ ~ & r r j r ) j r r D = = r D - 7 . 7 0 n | | n 1 e } } 2 | | _ e _ 2 2 } | } Y o 3 Y 4 o | | | 8 } 9 } = ' ' k { k { k > @ { A D k E ' k ' N N G ' H B N N N N N N - - . I . ' J ' - M . N L ' - - D . . O N N N N N N Y Y L S S R S Y Y Y Y Y Y B Y / Y / Y S Y S z U / s z Y s / / W X s Y Y Y Y Y Y 4 Y 4 Y Z Y S Y S C 4 [ Y a a \ 4 4 ] a a a a a a a ^ 8 a 8 _ a ` a a a 8 b c a C d f 8 8 g a a a a a a 9 a 9 9 h a i k 9 l m a x x 9 9 M o M x x x x x x M p q r M M s t u v w x y { | x x x x x x }  M ! " # % & ' * , - / 1 2 3 4 5 6 7 8 9 : ; > ? @ A B F G P P H L M N O Q P P P P P P R S T U P W P X Z [ \ ^ _ a b c d _ e f i k l m o P P P P P P p q s P u P v w y z { } ~  * * * * * * * * * * * * * * * * * * * * : : : : : : : : : : : : : : : : ! " # $ % & ' * + , - . / 0 1 2 3 4 7 8 9 ; < = > ? : @ A B C D E H I J K L M N O P R S T U V W X : : : Y Z [ ^ _ ` a b c d f g i j k l m n o q r t u v w y z | } ~  ! ! ! ! ! ! ! ! ! ! ! " " " " " " " " " " " # # # # # # # # # # # $ $ $ $ $ $ $ $ $ $ $ % % % % % % % % & 1 & & & & & ' ' ' ' ' ' ' ( ( ( ( ) ) ) ) ) ) ) ) ) ) ) * * * * * * + + + + + + + + + + , , , , , , , , , , - - - - - - - - - - . . / / / / / / 0 0 0 0 0 0 2 2 2 2 2 2 2 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6  } | { y x w v u t s r q p o m l k i f c b a ` _ ^ ] \ [ Z Y X W V U T S R Q P O N M L K I F E D C B A @ ? > < ; : 9 8 7 6 5 4 3 2 1 0 / . - , + * ) ( ' & # " !  ~ } | z y x w v u t r q p m l j i h g f d c b a ` ^ ] \ [ X W V U N L K J I H G F E C B A @ ? > < ; : 6 5 1 s n i h g ^ T S M L K E D C B ? > < 6 5 4 3 * " ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 # 6 7 8 9 : ; < # = > # ? # # # # @ # A # B # # # # # # # # # C # # D # # E # # # # F G H I J K L M J N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g W h W i j k l m n W W o W W W W W W W p W q J W r f f f f f W W W W W W W W W W s W W W W t u v w J K L M J x O P Q R S T U y z { | } [ \ ] ^ _ ` ~  z z z z z z z p z q J z z z z z z z z z z z z z z z z z z t u v J J J J J J J J J J J | } J J J J J J J J " J J J J J J J J J J J J J J | } J J J J J $ ) # ? % A ) @ $ J C J J B ) R D d e ) J J J ) + F G H " 4 E 4 _ I F ` 5 J G 6 K 4 L 4 [ Q \ 7 m ] f g h n ^ 8 4 a 4 9 b 4 o 4 p 4 4 q : c U r V ; W t x ) u X s v w y Y Z D B ) 4 4 { # | } $ ~  M C E S S F 7 S S * * 0 8 1 * T * * G + H * * T * * ' ' > V ? W @ X A B ) 4 4 4 4 ) & & S S ' ( ' ( ' ' ) 4 * * * ) * 3 y L 4 + M i N ' ( ' ( ' ' 4 ) 4 * * * ) * + - - - . - / - - k 0 4 1 4 0 l 2 3 0 - 4 - 4 - - 4 0 4 0 0 P P 4 4 P P P P P P 4 4 * * { | P P P P P P * * " 4 4 ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i N M j k l m n o p q r s t u v w x y z { | } ~  P P P P P P P P $ $ P P P P P P $ $ g g g g h h h h ! " # $ % & ' ( * + , - . / ) 0 1 2 3 4 5 7 8 9 : ; < = 6 > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~  O O O O O O O % % % % % % %  ~ } | { z y x w v u t s r q p o n m l k j i h g f e d c b a ` _ ^ ] \ [ Z Y X W V U T S R Q P O N M L K J I H G F E A @ ? > = < ; : 9 8 7 6 5 2 1 0 / . - , + * ) ( ' & % " !  ~ } z x w v u t s r q p o n m j f e d c b a ` _ ^ ] \ [ Z Y U T S R Q P O K J I D C = < ; : 9 6 5 4 3 2 / . - , ) ( ' & # ! $ , % " ! z l k j i N H > = < , ! yylex %P%F: invalid hex number `%s' %P%F: use the --help option for usage information %P%F: unrecognized -a option `%s' %P%F: unrecognized -assert option `%s' %F%P: unknown demangling style `%s' %s: emulation specific options:  %P%F: bad --unresolved-symbols option: %s %P%F: invalid common section sorting option: %s %P%F: invalid section sorting option: %s %P%F: invalid argument to option "--section-start" %P%F: missing argument(s) to option "--section-start" %P%F: may not nest groups (--help for usage) %P%F: group ended before it began (--help for usage) %P%X: --hash-size needs a numeric argument Shared library control for HP/UX compatibility Specify target for following input files Force common symbols to be defined Auxiliary filter for shared object symbol table Filter for shared object symbol table Small data size (if no size, same as --shared) Set internal name of shared library Set PROGRAM as the dynamic linker to use Add DIRECTORY to library search path Override the default sysroot location Print map file on standard output Do not page align data, do not make text readonly Page align data, make text readonly Ignored for SVR4 compatibility Generate relocations in final output Just link symbols (if directory, same as --rpath) Strip symbols in discarded sections Do not strip symbols in discarded sections Start with undefined reference to SYMBOL Don't merge input [SECTION | orphan] sections Build global constructor/destructor tables Print version and emulation information Discard temporary local symbols (default) Don't discard any local symbols Default search path for Solaris compatibility Accept input files whose architecture cannot be determined Reject input files whose architecture is unknown Set DT_NEEDED tags for DT_NEEDED entries in following dynamic libs Do not set DT_NEEDED tags for DT_NEEDED entries in following dynamic libs Only set DT_NEEDED for following dynamic libs if used Always set DT_NEEDED for following dynamic libs Ignored for SunOS compatibility Do not link against shared libraries Bind global references locally Bind global function references locally Check section addresses for overlaps (default) Do not check section addresses for overlaps Demangle symbol names [using STYLE] Do not treat warnings as errors (default) Force generation of file with .exe suffix Remove unused sections (on some targets) Don't remove unused sections (default) List removed unused sections on stderr Do not list removed unused sections Set default hash table size close to  Use less memory and more disk I/O Do not allow unresolved references in object files Allow unresolved references in shared libaries Do not allow unresolved references in shared libs Create default symbol version for imported symbols Don't warn about mismatched input files Don't warn on finding an incompatible library Create an output file even if errors occur Only use library directories specified on the command line Ignored for Linux compatibility Reduce memory overheads, possibly taking much longer Relax branches on certain targets Keep only symbols listed in FILE Set runtime shared library search path Set link time shared library search path Create a position independent executable Sort common symbols by alignment [in specified order] Sort sections by name or maximum alignment How many tags to reserve in .dynamic section Split output sections every SIZE octets Split output sections every COUNT relocs Display target specific options Use same format as native linker How to handle unresolved symbols.  is: ignore-all, report-all, ignore-in-object-files, ignore-in-shared-libs Output lots of information during link Read version information script Take export symbols list from .exports, using SYMBOL as the version. Add data symbols to dynamic list Use C++ operator new/delete dynamic list Warn about duplicate common symbols Warn if global constructors/destructors are seen Warn if the multiple GP values are used Warn only once per undefined symbol Warn if start of section changes due to alignment Warn if shared object has DT_TEXTREL Report unresolved symbols as warnings Report unresolved symbols as errors Include all objects from following archives Use wrapper functions for SYMBOL -G --shared --library=%s %P: unrecognized option '%s' default nodefinitions nosymbolic pure-text %P%F: invalid number `%s' Usage: %s [options] file... Options: %s-%c %s-%s%s @FILE Read options from FILE %s: supported targets: %s: supported emulations: Report bugs to %s ignore-all report-all ignore-in-object-files ignore-in-shared-libs %P%F: bad -rpath option %s%c%s %P%F: -shared not supported %P%F: -pie not supported descending ascending .data .text P, KEYWORD Set architecture mri-script Read MRI format linker script dc dp Set start address export-dynamic Export all dynamic symbols EB Link big-endian objects Link little-endian objects auxiliary filter Ignored gpsize soname FILENAME dynamic-linker PROGRAM Search for library LIBNAME library-path DIRECTORY sysroot= Set emulation print-map nmagic Do not page align data no-omagic Set output file name Optimize output file Qy emit-relocs relocatable Generate relocatable output just-symbols strip-all Strip all symbols strip-debug Strip debugging symbols no-strip-discarded trace Trace file opens Read linker script default-script Read default linker script dT unique [=SECTION] Ur Print version information discard-all Discard all local symbols discard-locals discard-none trace-symbol Trace mentions of SYMBOL start-group Start a group end-group End a group no-accept-unknown-input-arch no-add-needed no-as-needed assert Bdynamic Link against shared libraries call_shared Bstatic dn non_shared Bsymbolic Bsymbolic-functions no-check-sections cref Output cross reference table defsym SYMBOL=EXPRESSION Define a symbol [=STYLE] embedded-relocs Generate embedded relocs Treat warnings as errors no-fatal-warnings Call SYMBOL at unload-time force-exe-suffix no-gc-sections no-print-gc-sections hash-size= Print option help Call SYMBOL at load-time Map Write a map file no-define-common Do not define Common storage no-demangle Do not demangle symbol names no-keep-memory no-undefined no-allow-shlib-undefined allow-multiple-definition Allow multiple definitions no-undefined-version Disallow undefined version default-symver Create default symbol version default-imported-symver no-warn-mismatch no-warn-search-mismatch no-whole-archive Turn off --whole-archive noinhibit-exec noinhibit_exec nostdlib oformat Specify target of output file qmagic reduce-memory-overheads relax retain-symbols-file rpath rpath-link Create a shared library Bshareable pie pic-executable sort-common [=ascending|descending] sort_common sort-section name|alignment spare-dynamic-tags split-by-file [=SIZE] split-by-reloc [=COUNT] stats Print memory usage statistics target-help task-link Do task level linking traditional-format section-start SECTION=ADDRESS Set address of named section Tbss Set address of .bss section Tdata Set address of .data section Ttext Set address of .text section unresolved-symbols= dll-verbose version-script version-exports-section dynamic-list-data dynamic-list-cpp-new dynamic-list-cpp-typeinfo Use C++ typeinfo dynamic list dynamic-list Read dynamic list warn-common warn-constructors warn-multiple-gp warn-once warn-section-align warn-shared-textrel warn-unresolved-symbols error-unresolved-symbols wrap M + o ? Q ] l ' _ & y F , P @ @ & A g y * n @ Q @ ~ ` o ; ~ % 4 x 7 F + : I X g v . = O ^ j v . 9 E Q ` o r x a fF (5 rF A A i nF b b X5 F c c FE F F d d 5 F d S e e +O F F E F F F G G f f 5 *G F F 5 g 1G 9G G G * 6 @G h GG 06 PG I _G T6 M l l zG gG G L L G 6 G 6 m 0 G G M M 6 G n n G G N N 6 G (7 GH o o FE G O H H L7 H q q l7 &H r r 2H i NH R R FE 7 [H s s eH wH S S H H 7 H 7 H t t H ! T T FE H H FE H I u u I 8 I I D8 I t8 L v I V 8 4I x x @I ZI X X 8 iI 8 vI y y I I Y 9 I ( ( I I ) ) I I D9 I 9 I 9 I : I : I : J fF : J J 2J >J ; FJ IJ 9 TJ 4; ^J T; uJ |; rJ ; J J J J J L J ; J J K K K ; W I ,K GK (< [K T< XK < jK < gK < |K < K K W I K K FE K K K K L &L $= 5L H= EL |= BL = [L uL L L L L L = M > M <> .M ?M XM l> gM vM > M M M > M ? M L? M FE p? M ? M ? D M N N ? N %N 1N @ IN UN bN L@ qN q x@ N N @ N N @ N N N @ N I N O A O #O 3O PO +O UO qO +O wO O +O O O @A O A O O FE B O I @B P B P B -P GP eP FE rP P B P C P PC P xC P C P C P C P D JM DD Q I pD 0 / 7 Z Z Z G B B = 8 # G B B = 8 # ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! " D7 &7 6 6 7 7 6 7 6 V6 6 6 76 7 6 7 +8 +8 $8 8 7 p9 D: : 8; z; x< < < = g= = > Y> > U? ?9 W@ K@ ?@ 3@ ? MY }X W W /] 2\ ] 0X W W W W /W _W W GX (^ (^ 6^ /^ ] q r r r r r t "t s "t t "t "t "t "t "t wt "t "t Lt "t 4t | @} | | | | | | | s " 2 s s | s n 2 s @ 2 V compare_section lang_do_assignments_1 lang_size_sections_1 print_data_statement load_symbols %X%P: unable to find version dependency `%s' %P%F: invalid syntax in flags %X%P: address 0x%v of %B section %s is not within region %s %X%P: %B section %s will not fit in region %s %X%P: anonymous version tag cannot be combined with other version tags %X%P: duplicate version tag `%s' %X%P: duplicate expression `%s' in version information %X%P: unknown language `%s' in version information /home/jingyu/projects/gcc/android-toolchainsrc/build/../binutils/binutils-2.19/ld/ldlang.c %P%F: bfd_link_hash_lookup failed: %E Common symbol size file %F%P: invalid reloc statement %P%F: bfd_hash_lookup failed creating symbol %s %P: warning: could not find any targets that match endianness requirement %P%F: cannot open output file %s: %E %P%F:%s: can not make object file: %E %P%F:%s: can not set architecture: %E %P%F: can not create hash table: %E %F%B: file not recognized: %E %F%B: member %B in archive is not an object %F%B: could not read symbols: %E Linker script and memory map %P:%S: warning: redeclaration of memory region '%s' %P:%S: warning: memory region %s not declared %X%P:%S: section has both a load address and a load region %F%S: non constant or forward reference address expression for section %s %P%X: Internal error on COFF shared library section %s %P%F: error: no memory region specified for loadable section `%s' %P: warning: no memory region specified for loadable section `%s' %P: warning: changing start of section %s by %lu bytes %P: warning: dot moved backwards before `%s' %P%F: can't relax section: %E %P%F: bfd_hash_allocate failed creating symbol %s %P%F: failed creating section `%s': %E %P%F: Illegal use of `%s' section %P%F: output format %s cannot represent section called %s %P%F: Failed to create hash table %P%F: Relocatable linking with relocations from format %s (%B) to format %s (%B) is not supported %P%X: %s architecture of input file `%B' is incompatible with %s output %P%X: failed to merge target specific data of file %B %X%P: unable to read .exports section contents %F%P: %s not found for insert %F%P: bfd_record_phdr failed: %E %X%P: section `%s' assigned to non-existent phdr `%s' %X%P: section %s [%V -> %V] overlaps section %s [%V -> %V] %X%P: region %s overflowed by %ld bytes %P%F: gc-sections requires either an entry or an undefined symbol %P%F:%s: can't set start address %P%F: can't set start address %P: warning: cannot find entry symbol %s; defaulting to %V %P: warning: cannot find entry symbol %s; not setting start address %F%P: no sections assigned to phdrs %P%F: multiple STARTUP files C++ Java operator new* operator delete* typeinfo name for* typeinfo for* Allocating common symbols 0x%V %T 0x%V %W %B %W (size before relaxing) elf32-big elf64-big elf32-little elf64-little %F%P: invalid data statement Fail with %d SORT (CONSTRUCTORS) CONSTRUCTORS SORT( EXCLUDE_FILE(%s ) Address of section %s set to CREATE_OBJECT_SYMBOLS FILL mask 0x 0x%V %W %s 0x%v 0x%V %W RELOC %s %s+ *fill* 0x%V %W %s 0x%V %W load address 0x%V [0x%V] [unresolved] *undef* TARGET(%s) OUTPUT(%s LOAD %s START GROUP END GROUP INSERT %s %s %P%F: target %s not found %B: file not recognized: %E %B: matching formats: %F %I Discarded input sections Memory Configuration Attributes Length Origin Name %-16s %-18s %-18s %s %-16s 0x%s ! program header type load base __load_start_%s __load_stop_%s -l subsection alignment /DISCARD/ __start_%s __stop_%s .exports phdr flags phdr load address .startof.%s .sizeof.%s *ABS* IEEE ieee COFF coff-m68k %P%F: unknown format type %s /home/jingyu/projects/gcc/android-toolchainsrc/build/../binutils/binutils-2.19/ld/mri.c mri_alias %P%X: %s does not support reloc %s for set %s %P%X: Unsupported size %d for set %s %P%X: Different relocs used in set %s %P%X: Different object file formats composing set %s Set Symbol %G %X%C: reloc refers to symbol `%T' which is not being output %X%C: dangerous relocation: %s %X%C: multiple definition of `%T' %P: Disabling relaxation: it will not work with multiple definitions %X%P: error: duplicate retain-symbols-file %P%F: bfd_hash_table_init failed: %E %P%F: bfd_hash_lookup for insertion failed: %E %P: `-retain-symbols-file' overrides `-s' and `-S' %P%F: bfd_hash_lookup failed: %E additional relocation overflows omitted from the output relocation truncated to fit: %s against undefined symbol `%T' relocation truncated to fit: %s against symbol `%T' defined in %A section in %B /home/jingyu/projects/gcc/android-toolchainsrc/build/../binutils/binutils-2.19/ld/ldmain.c relocation truncated to fit: %s against `%T' %F%P: bfd_hash_table_init failed: %E %F%P: bfd_hash_lookup failed: %E %X%C: undefined reference to `%T' %C: warning: undefined reference to `%T' %X%D: more undefined references to `%T' follow %D: warning: more undefined references to `%T' follow %X%B: undefined reference to `%T' %B: warning: undefined reference to `%T' %X%B: more undefined references to `%T' follow %B: warning: more undefined references to `%T' follow %B%F: could not read symbols: %E %B%F: could not read relocs: %E %P: warning: global constructor %s used %P%F: BFD backend error: BFD_RELOC_CTOR unsupported %B: warning: definition of `%T' overriding common %B: warning: common of `%T' overridden by definition %B: warning: common of `%T' overridden by larger common %B: warning: larger common is here %B: warning: common of `%T' overriding smaller common %B: warning: smaller common is here %B: warning: multiple common of `%T' %B: warning: previous common is here Archive member included because of file (symbol) /usr/local/google/home/android/cupcake_rel_root %X%P: can't set BFD default target to `%s': %E %P%F: --relax and -r may not be used together %P%F: -r and -shared may not be used together %P%F: -F may not be used without -shared %P%F: -f may not be used without -shared ================================================== %P%F: cannot open map file %s: %E %P: link errors found, deleting executable `%s' %X%P: unable to open for source of copy `%s' %X%P: unable to open for destination of copy `%s' %s: total time in link: %ld.%06ld %D: first defined here %X%P: %s: %E %B: reference to %s %B: definition of %s %X%C: +%v %X using multiple gp values warning: %C: %s%s %P: %s%s %B: %s%s %B: warning: common is here %B: warning: defined here %s(%s) %B (%T) /usr/local/share/locale --sysroot= /usr/local/bin /usr/local/arm-eabi/bin arm-unknown-eabi COLLECT_NO_DEMANGLE _init _fini LDEMULATION armelf -m %P%F: missing argument to -m -mips1 -mips2 -mips3 -mips4 -mips5 -mips32 -mips32r2 -mips64 -mips64r2 -m486 using external linker script: using internal linker script: %P%F: no input files %P: mode %s %F%B: final close failed: %E .exe .dll %P: Error writing file `%s' %P: Error closing file `%s' %s: data size %ld a.out K K : : reloc_overflow .stab $GDB_STRINGS$ $GDB_SYMBOLS$ %F%P: final link failed: %E %F%P: cannot create split section name for %s %F%P: clone section failed: %E /home/jingyu/projects/gcc/android-toolchainsrc/build/../binutils/binutils-2.19/ld/ldwrite.c %P%F: bfd_new_link_order failed l H 3 build_link_order %X%P: %s %F%S %% by zero %F%S / by zero MAXPAGESIZE COMMONPAGESIZE  NULL TREE %B: %s+0x%v PROVIDE (%s, ASSERT ( , %s) (%s) += -= *= /= <<= >>= &= |= || && == != << >> MAX MIN ASSERT /home/jingyu/projects/gcc/android-toolchainsrc/build/../binutils/binutils-2.19/ld/ldexp.c %F%S can not PROVIDE assignment to location counter %F%S invalid assignment to location counter %F%S assignment to location counter invalid outside of SECTION %F%S cannot move location counter backwards (from %V to %V) %P%F:%s: hash creation failed %X%S: unresolvable symbol `%s' referenced in expression %F%S: undefined symbol `%s' referenced in expression %F%S: undefined section `%s' referenced in expression %F%S: undefined MEMORY region `%s' referenced in expression %F%S: unknown constant `%s' referenced in expression %F%S: nonconstant expression for %s s K v ` G U 5 | }G s v y |  y "P ) - 0 6 7 8 9 : | ; = < > =' ? x Y @ A _ f &H $ % & H * J 6 . %s: Supported emulations: %S HLL ignored %S SYSLIB ignored GNUTARGET no emulation specific options. %P: unrecognised emulation mode: %s GNU ld %s (GNU Binutils) 2.19 Supported emulations: %s Copyright 2007 Free Software Foundation, Inc. This program is free software; you may redistribute it under the terms of the GNU General Public License version 3 or (at your option) a later version. This program has absolutely no warranty. 0x%s no symbol %s generated --defsym %s %s:%u built in linker script:%u %s+0x%v (type %s) %B: In function `%T': %s: %T %B:(%A+0x%v) %%%c %P%F: please report this bug %F%P: internal error %s %d %P: internal error: aborting at %s line %d in %s %P: internal error: aborting at %s line %d ] u 5 5 5 G ` x K X %P%F: cannot represent machine `%s' %P%F: cannot open linker script file %s: %E %F%P: invalid BFD target `%s' %P: skipping incompatible %s when searching for %s %F%P: attempted static link of dynamic object `%s' %F%P: %s (%s): No such file: %E %F%P: cannot find %s inside %s /ldscripts cannot find script file %s opened script file %s /usr/local/arm-eabi/lib attempt to open %s failed attempt to open %s succeeded %F%P: %s: No such file: %E .a %F%P: cannot find %s %X%C: prohibited cross reference from %s to `%T' in %s %P: symbol `%T' missing from main hash table /home/jingyu/projects/gcc/android-toolchainsrc/build/../binutils/binutils-2.19/ld/ldcref.c %X%P: bfd_hash_table_init of cref table failed: %E %X%P: cref_hash_lookup failed: %E Cross Reference Table Symbol File No symbols %X%P: cref alloc failed: %E /* Script for ld -r: link without relocation */ OUTPUT_FORMAT("elf32-littlearm", "elf32-bigarm", "elf32-littlearm") OUTPUT_ARCH(arm) /* For some reason, the Solaris linker makes bad executables if gld -r is used and the intermediate file has sections starting at non-zero addresses. Could be a Solaris ld bug, could be a GNU ld bug. But for now assigning the zero vmas works. */ SECTIONS { /* Read-only sections, merged into text segment: */ .interp 0 : { *(.interp) } .note.gnu.build-id : { *(.note.gnu.build-id) } .hash 0 : { *(.hash) } .gnu.hash 0 : { *(.gnu.hash) } .dynsym 0 : { *(.dynsym) } .dynstr 0 : { *(.dynstr) } .gnu.version 0 : { *(.gnu.version) } .gnu.version_d 0: { *(.gnu.version_d) } .gnu.version_r 0: { *(.gnu.version_r) } .rel.init 0 : { *(.rel.init) } .rela.init 0 : { *(.rela.init) } .rel.text 0 : { *(.rel.text) } .rela.text 0 : { *(.rela.text) } .rel.fini 0 : { *(.rel.fini) } .rela.fini 0 : { *(.rela.fini) } .rel.rodata 0 : { *(.rel.rodata) } .rela.rodata 0 : { *(.rela.rodata) } .rel.data.rel.ro 0 : { *(.rel.data.rel.ro) } .rela.data.rel.ro 0 : { *(.rela.data.rel.ro) } .rel.data 0 : { *(.rel.data) } .rela.data 0 : { *(.rela.data) } .rel.tdata 0 : { *(.rel.tdata) } .rela.tdata 0 : { *(.rela.tdata) } .rel.tbss 0 : { *(.rel.tbss) } .rela.tbss 0 : { *(.rela.tbss) } .rel.ctors 0 : { *(.rel.ctors) } .rela.ctors 0 : { *(.rela.ctors) } .rel.dtors 0 : { *(.rel.dtors) } .rela.dtors 0 : { *(.rela.dtors) } .rel.got 0 : { *(.rel.got) } .rela.got 0 : { *(.rela.got) } .rel.bss 0 : { *(.rel.bss) } .rela.bss 0 : { *(.rela.bss) } .rel.plt 0 : { *(.rel.plt) } .rela.plt 0 : { *(.rela.plt) } .init 0 : { KEEP (*(.init)) } =0 .plt 0 : { *(.plt) } .text 0 : { *(.text .stub) /* .gnu.warning sections are handled specially by elf32.em. */ *(.gnu.warning) } =0 .fini 0 : { KEEP (*(.fini)) } =0 .rodata 0 : { *(.rodata) } .rodata1 0 : { *(.rodata1) } .ARM.extab 0 : { *(.ARM.extab) } .ARM.exidx 0 : { *(.ARM.exidx) } .eh_frame_hdr : { *(.eh_frame_hdr) } .eh_frame 0 : ONLY_IF_RO { KEEP (*(.eh_frame)) } .gcc_except_table 0 : ONLY_IF_RO { *(.gcc_except_table .gcc_except_table.*) } /* Adjust the address for the data segment. We want to adjust up to the same address within the page on the next page up. */ /* Exception handling */ .eh_frame 0 : ONLY_IF_RW { KEEP (*(.eh_frame)) } .gcc_except_table 0 : ONLY_IF_RW { *(.gcc_except_table .gcc_except_table.*) } /* Thread Local Storage sections */ .tdata 0 : { *(.tdata) } .tbss 0 : { *(.tbss) } .preinit_array 0 : { KEEP (*(.preinit_array)) } .init_array 0 : { KEEP (*(SORT(.init_array.*))) KEEP (*(.init_array)) } .fini_array 0 : { KEEP (*(.fini_array)) KEEP (*(SORT(.fini_array.*))) } .jcr 0 : { KEEP (*(.jcr)) } .dynamic 0 : { *(.dynamic) } .got 0 : { *(.got.plt) *(.got) } .data 0 : { *(.data) } .data1 0 : { *(.data1) } .bss 0 : { *(.dynbss) *(.bss) *(COMMON) /* Align here to ensure that the .bss section occupies space up to _end. Align after .bss to ensure correct alignment even if the .bss section disappears because there are no input sections. FIXME: Why do we need it? When there is no .bss section, we don't pad the .data section. */ } /* Stabs debugging sections. */ .stab 0 : { *(.stab) } .stabstr 0 : { *(.stabstr) } .stab.excl 0 : { *(.stab.excl) } .stab.exclstr 0 : { *(.stab.exclstr) } .stab.index 0 : { *(.stab.index) } .stab.indexstr 0 : { *(.stab.indexstr) } .comment 0 : { *(.comment) } /* DWARF debug sections. Symbols in the DWARF debugging sections are relative to the beginning of the section so we begin them at 0. */ /* DWARF 1 */ .debug 0 : { *(.debug) } .line 0 : { *(.line) } /* GNU DWARF 1 extensions */ .debug_srcinfo 0 : { *(.debug_srcinfo) } .debug_sfnames 0 : { *(.debug_sfnames) } /* DWARF 1.1 and DWARF 2 */ .debug_aranges 0 : { *(.debug_aranges) } .debug_pubnames 0 : { *(.debug_pubnames) } /* DWARF 2 */ .debug_info 0 : { *(.debug_info) } .debug_abbrev 0 : { *(.debug_abbrev) } .debug_line 0 : { *(.debug_line) } .debug_frame 0 : { *(.debug_frame) } .debug_str 0 : { *(.debug_str) } .debug_loc 0 : { *(.debug_loc) } .debug_macinfo 0 : { *(.debug_macinfo) } /* SGI/MIPS DWARF 2 extensions */ .debug_weaknames 0 : { *(.debug_weaknames) } .debug_funcnames 0 : { *(.debug_funcnames) } .debug_typenames 0 : { *(.debug_typenames) } .debug_varnames 0 : { *(.debug_varnames) } /* DWARF 3 */ .debug_pubtypes 0 : { *(.debug_pubtypes) } .debug_ranges 0 : { *(.debug_ranges) } .stack 0 : { *(.stack) } .ARM.attributes 0 : { KEEP (*(.ARM.attributes)) KEEP (*(.gnu.attributes)) } .note.gnu.arm.ident 0 : { KEEP (*(.note.gnu.arm.ident)) } } /* Script for ld -Ur: link w/out relocation, do create constructors */ OUTPUT_FORMAT("elf32-littlearm", "elf32-bigarm", "elf32-littlearm") OUTPUT_ARCH(arm) /* For some reason, the Solaris linker makes bad executables if gld -r is used and the intermediate file has sections starting at non-zero addresses. Could be a Solaris ld bug, could be a GNU ld bug. But for now assigning the zero vmas works. */ SECTIONS { /* Read-only sections, merged into text segment: */ .interp 0 : { *(.interp) } .note.gnu.build-id : { *(.note.gnu.build-id) } .hash 0 : { *(.hash) } .gnu.hash 0 : { *(.gnu.hash) } .dynsym 0 : { *(.dynsym) } .dynstr 0 : { *(.dynstr) } .gnu.version 0 : { *(.gnu.version) } .gnu.version_d 0: { *(.gnu.version_d) } .gnu.version_r 0: { *(.gnu.version_r) } .rel.init 0 : { *(.rel.init) } .rela.init 0 : { *(.rela.init) } .rel.text 0 : { *(.rel.text) } .rela.text 0 : { *(.rela.text) } .rel.fini 0 : { *(.rel.fini) } .rela.fini 0 : { *(.rela.fini) } .rel.rodata 0 : { *(.rel.rodata) } .rela.rodata 0 : { *(.rela.rodata) } .rel.data.rel.ro 0 : { *(.rel.data.rel.ro) } .rela.data.rel.ro 0 : { *(.rela.data.rel.ro) } .rel.data 0 : { *(.rel.data) } .rela.data 0 : { *(.rela.data) } .rel.tdata 0 : { *(.rel.tdata) } .rela.tdata 0 : { *(.rela.tdata) } .rel.tbss 0 : { *(.rel.tbss) } .rela.tbss 0 : { *(.rela.tbss) } .rel.ctors 0 : { *(.rel.ctors) } .rela.ctors 0 : { *(.rela.ctors) } .rel.dtors 0 : { *(.rel.dtors) } .rela.dtors 0 : { *(.rela.dtors) } .rel.got 0 : { *(.rel.got) } .rela.got 0 : { *(.rela.got) } .rel.bss 0 : { *(.rel.bss) } .rela.bss 0 : { *(.rela.bss) } .rel.plt 0 : { *(.rel.plt) } .rela.plt 0 : { *(.rela.plt) } .init 0 : { KEEP (*(.init)) } =0 .plt 0 : { *(.plt) } .text 0 : { *(.text .stub) /* .gnu.warning sections are handled specially by elf32.em. */ *(.gnu.warning) } =0 .fini 0 : { KEEP (*(.fini)) } =0 .rodata 0 : { *(.rodata) } .rodata1 0 : { *(.rodata1) } .ARM.extab 0 : { *(.ARM.extab) } .ARM.exidx 0 : { *(.ARM.exidx) } .eh_frame_hdr : { *(.eh_frame_hdr) } .eh_frame 0 : ONLY_IF_RO { KEEP (*(.eh_frame)) } .gcc_except_table 0 : ONLY_IF_RO { *(.gcc_except_table .gcc_except_table.*) } /* Adjust the address for the data segment. We want to adjust up to the same address within the page on the next page up. */ /* Exception handling */ .eh_frame 0 : ONLY_IF_RW { KEEP (*(.eh_frame)) } .gcc_except_table 0 : ONLY_IF_RW { *(.gcc_except_table .gcc_except_table.*) } /* Thread Local Storage sections */ .tdata 0 : { *(.tdata) } .tbss 0 : { *(.tbss) } .preinit_array 0 : { KEEP (*(.preinit_array)) } .init_array 0 : { KEEP (*(SORT(.init_array.*))) KEEP (*(.init_array)) } .fini_array 0 : { KEEP (*(.fini_array)) KEEP (*(SORT(.fini_array.*))) } .jcr 0 : { KEEP (*(.jcr)) } .dynamic 0 : { *(.dynamic) } .got 0 : { *(.got.plt) *(.got) } .data 0 : { *(.data) SORT(CONSTRUCTORS) } .data1 0 : { *(.data1) } .bss 0 : { *(.dynbss) *(.bss) *(COMMON) /* Align here to ensure that the .bss section occupies space up to _end. Align after .bss to ensure correct alignment even if the .bss section disappears because there are no input sections. FIXME: Why do we need it? When there is no .bss section, we don't pad the .data section. */ } /* Stabs debugging sections. */ .stab 0 : { *(.stab) } .stabstr 0 : { *(.stabstr) } .stab.excl 0 : { *(.stab.excl) } .stab.exclstr 0 : { *(.stab.exclstr) } .stab.index 0 : { *(.stab.index) } .stab.indexstr 0 : { *(.stab.indexstr) } .comment 0 : { *(.comment) } /* DWARF debug sections. Symbols in the DWARF debugging sections are relative to the beginning of the section so we begin them at 0. */ /* DWARF 1 */ .debug 0 : { *(.debug) } .line 0 : { *(.line) } /* GNU DWARF 1 extensions */ .debug_srcinfo 0 : { *(.debug_srcinfo) } .debug_sfnames 0 : { *(.debug_sfnames) } /* DWARF 1.1 and DWARF 2 */ .debug_aranges 0 : { *(.debug_aranges) } .debug_pubnames 0 : { *(.debug_pubnames) } /* DWARF 2 */ .debug_info 0 : { *(.debug_info) } .debug_abbrev 0 : { *(.debug_abbrev) } .debug_line 0 : { *(.debug_line) } .debug_frame 0 : { *(.debug_frame) } .debug_str 0 : { *(.debug_str) } .debug_loc 0 : { *(.debug_loc) } .debug_macinfo 0 : { *(.debug_macinfo) } /* SGI/MIPS DWARF 2 extensions */ .debug_weaknames 0 : { *(.debug_weaknames) } .debug_funcnames 0 : { *(.debug_funcnames) } .debug_typenames 0 : { *(.debug_typenames) } .debug_varnames 0 : { *(.debug_varnames) } /* DWARF 3 */ .debug_pubtypes 0 : { *(.debug_pubtypes) } .debug_ranges 0 : { *(.debug_ranges) } .stack 0 : { *(.stack) } .ARM.attributes 0 : { KEEP (*(.ARM.attributes)) KEEP (*(.gnu.attributes)) } .note.gnu.arm.ident 0 : { KEEP (*(.note.gnu.arm.ident)) } } /* Script for -N: mix text and data on same page; don't align data */ OUTPUT_FORMAT("elf32-littlearm", "elf32-bigarm", "elf32-littlearm") OUTPUT_ARCH(arm) ENTRY(_start) SEARCH_DIR("=/usr/local/lib"); SEARCH_DIR("=/lib"); SEARCH_DIR("=/usr/lib"); SECTIONS { /* Read-only sections, merged into text segment: */ PROVIDE (__executable_start = 0x8000); . = 0x8000 + SIZEOF_HEADERS; .interp : { *(.interp) } .note.gnu.build-id : { *(.note.gnu.build-id) } .hash : { *(.hash) } .gnu.hash : { *(.gnu.hash) } .dynsym : { *(.dynsym) } .dynstr : { *(.dynstr) } .gnu.version : { *(.gnu.version) } .gnu.version_d : { *(.gnu.version_d) } .gnu.version_r : { *(.gnu.version_r) } .rel.init : { *(.rel.init) } .rela.init : { *(.rela.init) } .rel.text : { *(.rel.text .rel.text.* .rel.gnu.linkonce.t.*) } .rela.text : { *(.rela.text .rela.text.* .rela.gnu.linkonce.t.*) } .rel.fini : { *(.rel.fini) } .rela.fini : { *(.rela.fini) } .rel.rodata : { *(.rel.rodata .rel.rodata.* .rel.gnu.linkonce.r.*) } .rela.rodata : { *(.rela.rodata .rela.rodata.* .rela.gnu.linkonce.r.*) } .rel.data.rel.ro : { *(.rel.data.rel.ro* .rel.gnu.linkonce.d.rel.ro.*) } .rela.data.rel.ro : { *(.rela.data.rel.ro* .rela.gnu.linkonce.d.rel.ro.*) } .rel.data : { *(.rel.data .rel.data.* .rel.gnu.linkonce.d.*) } .rela.data : { *(.rela.data .rela.data.* .rela.gnu.linkonce.d.*) } .rel.tdata : { *(.rel.tdata .rel.tdata.* .rel.gnu.linkonce.td.*) } .rela.tdata : { *(.rela.tdata .rela.tdata.* .rela.gnu.linkonce.td.*) } .rel.tbss : { *(.rel.tbss .rel.tbss.* .rel.gnu.linkonce.tb.*) } .rela.tbss : { *(.rela.tbss .rela.tbss.* .rela.gnu.linkonce.tb.*) } .rel.ctors : { *(.rel.ctors) } .rela.ctors : { *(.rela.ctors) } .rel.dtors : { *(.rel.dtors) } .rela.dtors : { *(.rela.dtors) } .rel.got : { *(.rel.got) } .rela.got : { *(.rela.got) } .rel.bss : { *(.rel.bss .rel.bss.* .rel.gnu.linkonce.b.*) } .rela.bss : { *(.rela.bss .rela.bss.* .rela.gnu.linkonce.b.*) } .rel.plt : { *(.rel.plt) } .rela.plt : { *(.rela.plt) } .init : { KEEP (*(.init)) } =0 .plt : { *(.plt) } .text : { *(.text .stub .text.* .gnu.linkonce.t.*) /* .gnu.warning sections are handled specially by elf32.em. */ *(.gnu.warning) *(.glue_7t) *(.glue_7) *(.vfp11_veneer) *(.v4_bx) } =0 .fini : { KEEP (*(.fini)) } =0 PROVIDE (__etext = .); PROVIDE (_etext = .); PROVIDE (etext = .); .rodata : { *(.rodata .rodata.* .gnu.linkonce.r.*) } .rodata1 : { *(.rodata1) } .ARM.extab : { *(.ARM.extab* .gnu.linkonce.armextab.*) } __exidx_start = .; .ARM.exidx : { *(.ARM.exidx* .gnu.linkonce.armexidx.*) } __exidx_end = .; .eh_frame_hdr : { *(.eh_frame_hdr) } .eh_frame : ONLY_IF_RO { KEEP (*(.eh_frame)) } .gcc_except_table : ONLY_IF_RO { *(.gcc_except_table .gcc_except_table.*) } /* Adjust the address for the data segment. We want to adjust up to the same address within the page on the next page up. */ . = .; /* Exception handling */ .eh_frame : ONLY_IF_RW { KEEP (*(.eh_frame)) } .gcc_except_table : ONLY_IF_RW { *(.gcc_except_table .gcc_except_table.*) } /* Thread Local Storage sections */ .tdata : { *(.tdata .tdata.* .gnu.linkonce.td.*) } .tbss : { *(.tbss .tbss.* .gnu.linkonce.tb.*) *(.tcommon) } .preinit_array : { PROVIDE_HIDDEN (__preinit_array_start = .); KEEP (*(.preinit_array)) PROVIDE_HIDDEN (__preinit_array_end = .); } .init_array : { PROVIDE_HIDDEN (__init_array_start = .); KEEP (*(SORT(.init_array.*))) KEEP (*(.init_array)) PROVIDE_HIDDEN (__init_array_end = .); } .fini_array : { PROVIDE_HIDDEN (__fini_array_start = .); KEEP (*(.fini_array)) KEEP (*(SORT(.fini_array.*))) PROVIDE_HIDDEN (__fini_array_end = .); } .ctors : { /* gcc uses crtbegin.o to find the start of the constructors, so we make sure it is first. Because this is a wildcard, it doesn't matter if the user does not actually link against crtbegin.o; the linker won't look for a file to match a wildcard. The wildcard also means that it doesn't matter which directory crtbegin.o is in. */ KEEP (*crtbegin.o(.ctors)) KEEP (*crtbegin?.o(.ctors)) /* We don't want to include the .ctor section from the crtend.o file until after the sorted ctors. The .ctor section from the crtend file contains the end of ctors marker and it must be last */ KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .ctors)) KEEP (*(SORT(.ctors.*))) KEEP (*(.ctors)) } .dtors : { KEEP (*crtbegin.o(.dtors)) KEEP (*crtbegin?.o(.dtors)) KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .dtors)) KEEP (*(SORT(.dtors.*))) KEEP (*(.dtors)) } .jcr : { KEEP (*(.jcr)) } .data.rel.ro : { *(.data.rel.ro.local* .gnu.linkonce.d.rel.ro.local.*) *(.data.rel.ro* .gnu.linkonce.d.rel.ro.*) } .dynamic : { *(.dynamic) } .got : { *(.got.plt) *(.got) } .data : { __data_start = . ; *(.data .data.* .gnu.linkonce.d.*) SORT(CONSTRUCTORS) } .data1 : { *(.data1) } _edata = .; PROVIDE (edata = .); __bss_start = .; __bss_start__ = .; .bss : { *(.dynbss) *(.bss .bss.* .gnu.linkonce.b.*) *(COMMON) /* Align here to ensure that the .bss section occupies space up to _end. Align after .bss to ensure correct alignment even if the .bss section disappears because there are no input sections. FIXME: Why do we need it? When there is no .bss section, we don't pad the .data section. */ . = ALIGN(. != 0 ? 32 / 8 : 1); } _bss_end__ = . ; __bss_end__ = . ; . = ALIGN(32 / 8); . = ALIGN(32 / 8); __end__ = . ; _end = .; PROVIDE (end = .); /* Stabs debugging sections. */ .stab 0 : { *(.stab) } .stabstr 0 : { *(.stabstr) } .stab.excl 0 : { *(.stab.excl) } .stab.exclstr 0 : { *(.stab.exclstr) } .stab.index 0 : { *(.stab.index) } .stab.indexstr 0 : { *(.stab.indexstr) } .comment 0 : { *(.comment) } /* DWARF debug sections. Symbols in the DWARF debugging sections are relative to the beginning of the section so we begin them at 0. */ /* DWARF 1 */ .debug 0 : { *(.debug) } .line 0 : { *(.line) } /* GNU DWARF 1 extensions */ .debug_srcinfo 0 : { *(.debug_srcinfo) } .debug_sfnames 0 : { *(.debug_sfnames) } /* DWARF 1.1 and DWARF 2 */ .debug_aranges 0 : { *(.debug_aranges) } .debug_pubnames 0 : { *(.debug_pubnames) } /* DWARF 2 */ .debug_info 0 : { *(.debug_info .gnu.linkonce.wi.*) } .debug_abbrev 0 : { *(.debug_abbrev) } .debug_line 0 : { *(.debug_line) } .debug_frame 0 : { *(.debug_frame) } .debug_str 0 : { *(.debug_str) } .debug_loc 0 : { *(.debug_loc) } .debug_macinfo 0 : { *(.debug_macinfo) } /* SGI/MIPS DWARF 2 extensions */ .debug_weaknames 0 : { *(.debug_weaknames) } .debug_funcnames 0 : { *(.debug_funcnames) } .debug_typenames 0 : { *(.debug_typenames) } .debug_varnames 0 : { *(.debug_varnames) } /* DWARF 3 */ .debug_pubtypes 0 : { *(.debug_pubtypes) } .debug_ranges 0 : { *(.debug_ranges) } .stack 0x80000 : { _stack = .; *(.stack) } .ARM.attributes 0 : { KEEP (*(.ARM.attributes)) KEEP (*(.gnu.attributes)) } .note.gnu.arm.ident 0 : { KEEP (*(.note.gnu.arm.ident)) } /DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) } } /* Script for -n: mix text and data on same page */ OUTPUT_FORMAT("elf32-littlearm", "elf32-bigarm", "elf32-littlearm") OUTPUT_ARCH(arm) ENTRY(_start) SEARCH_DIR("=/usr/local/lib"); SEARCH_DIR("=/lib"); SEARCH_DIR("=/usr/lib"); SECTIONS { /* Read-only sections, merged into text segment: */ PROVIDE (__executable_start = 0x8000); . = 0x8000 + SIZEOF_HEADERS; .interp : { *(.interp) } .note.gnu.build-id : { *(.note.gnu.build-id) } .hash : { *(.hash) } .gnu.hash : { *(.gnu.hash) } .dynsym : { *(.dynsym) } .dynstr : { *(.dynstr) } .gnu.version : { *(.gnu.version) } .gnu.version_d : { *(.gnu.version_d) } .gnu.version_r : { *(.gnu.version_r) } .rel.init : { *(.rel.init) } .rela.init : { *(.rela.init) } .rel.text : { *(.rel.text .rel.text.* .rel.gnu.linkonce.t.*) } .rela.text : { *(.rela.text .rela.text.* .rela.gnu.linkonce.t.*) } .rel.fini : { *(.rel.fini) } .rela.fini : { *(.rela.fini) } .rel.rodata : { *(.rel.rodata .rel.rodata.* .rel.gnu.linkonce.r.*) } .rela.rodata : { *(.rela.rodata .rela.rodata.* .rela.gnu.linkonce.r.*) } .rel.data.rel.ro : { *(.rel.data.rel.ro* .rel.gnu.linkonce.d.rel.ro.*) } .rela.data.rel.ro : { *(.rela.data.rel.ro* .rela.gnu.linkonce.d.rel.ro.*) } .rel.data : { *(.rel.data .rel.data.* .rel.gnu.linkonce.d.*) } .rela.data : { *(.rela.data .rela.data.* .rela.gnu.linkonce.d.*) } .rel.tdata : { *(.rel.tdata .rel.tdata.* .rel.gnu.linkonce.td.*) } .rela.tdata : { *(.rela.tdata .rela.tdata.* .rela.gnu.linkonce.td.*) } .rel.tbss : { *(.rel.tbss .rel.tbss.* .rel.gnu.linkonce.tb.*) } .rela.tbss : { *(.rela.tbss .rela.tbss.* .rela.gnu.linkonce.tb.*) } .rel.ctors : { *(.rel.ctors) } .rela.ctors : { *(.rela.ctors) } .rel.dtors : { *(.rel.dtors) } .rela.dtors : { *(.rela.dtors) } .rel.got : { *(.rel.got) } .rela.got : { *(.rela.got) } .rel.bss : { *(.rel.bss .rel.bss.* .rel.gnu.linkonce.b.*) } .rela.bss : { *(.rela.bss .rela.bss.* .rela.gnu.linkonce.b.*) } .rel.plt : { *(.rel.plt) } .rela.plt : { *(.rela.plt) } .init : { KEEP (*(.init)) } =0 .plt : { *(.plt) } .text : { *(.text .stub .text.* .gnu.linkonce.t.*) /* .gnu.warning sections are handled specially by elf32.em. */ *(.gnu.warning) *(.glue_7t) *(.glue_7) *(.vfp11_veneer) *(.v4_bx) } =0 .fini : { KEEP (*(.fini)) } =0 PROVIDE (__etext = .); PROVIDE (_etext = .); PROVIDE (etext = .); .rodata : { *(.rodata .rodata.* .gnu.linkonce.r.*) } .rodata1 : { *(.rodata1) } .ARM.extab : { *(.ARM.extab* .gnu.linkonce.armextab.*) } __exidx_start = .; .ARM.exidx : { *(.ARM.exidx* .gnu.linkonce.armexidx.*) } __exidx_end = .; .eh_frame_hdr : { *(.eh_frame_hdr) } .eh_frame : ONLY_IF_RO { KEEP (*(.eh_frame)) } .gcc_except_table : ONLY_IF_RO { *(.gcc_except_table .gcc_except_table.*) } /* Adjust the address for the data segment. We want to adjust up to the same address within the page on the next page up. */ . = ALIGN(CONSTANT (MAXPAGESIZE)) + (. & (CONSTANT (MAXPAGESIZE) - 1)); /* Exception handling */ .eh_frame : ONLY_IF_RW { KEEP (*(.eh_frame)) } .gcc_except_table : ONLY_IF_RW { *(.gcc_except_table .gcc_except_table.*) } /* Thread Local Storage sections */ .tdata : { *(.tdata .tdata.* .gnu.linkonce.td.*) } .tbss : { *(.tbss .tbss.* .gnu.linkonce.tb.*) *(.tcommon) } .preinit_array : { PROVIDE_HIDDEN (__preinit_array_start = .); KEEP (*(.preinit_array)) PROVIDE_HIDDEN (__preinit_array_end = .); } .init_array : { PROVIDE_HIDDEN (__init_array_start = .); KEEP (*(SORT(.init_array.*))) KEEP (*(.init_array)) PROVIDE_HIDDEN (__init_array_end = .); } .fini_array : { PROVIDE_HIDDEN (__fini_array_start = .); KEEP (*(.fini_array)) KEEP (*(SORT(.fini_array.*))) PROVIDE_HIDDEN (__fini_array_end = .); } .ctors : { /* gcc uses crtbegin.o to find the start of the constructors, so we make sure it is first. Because this is a wildcard, it doesn't matter if the user does not actually link against crtbegin.o; the linker won't look for a file to match a wildcard. The wildcard also means that it doesn't matter which directory crtbegin.o is in. */ KEEP (*crtbegin.o(.ctors)) KEEP (*crtbegin?.o(.ctors)) /* We don't want to include the .ctor section from the crtend.o file until after the sorted ctors. The .ctor section from the crtend file contains the end of ctors marker and it must be last */ KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .ctors)) KEEP (*(SORT(.ctors.*))) KEEP (*(.ctors)) } .dtors : { KEEP (*crtbegin.o(.dtors)) KEEP (*crtbegin?.o(.dtors)) KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .dtors)) KEEP (*(SORT(.dtors.*))) KEEP (*(.dtors)) } .jcr : { KEEP (*(.jcr)) } .data.rel.ro : { *(.data.rel.ro.local* .gnu.linkonce.d.rel.ro.local.*) *(.data.rel.ro* .gnu.linkonce.d.rel.ro.*) } .dynamic : { *(.dynamic) } .got : { *(.got.plt) *(.got) } .data : { __data_start = . ; *(.data .data.* .gnu.linkonce.d.*) SORT(CONSTRUCTORS) } .data1 : { *(.data1) } _edata = .; PROVIDE (edata = .); __bss_start = .; __bss_start__ = .; .bss : { *(.dynbss) *(.bss .bss.* .gnu.linkonce.b.*) *(COMMON) /* Align here to ensure that the .bss section occupies space up to _end. Align after .bss to ensure correct alignment even if the .bss section disappears because there are no input sections. FIXME: Why do we need it? When there is no .bss section, we don't pad the .data section. */ . = ALIGN(. != 0 ? 32 / 8 : 1); } _bss_end__ = . ; __bss_end__ = . ; . = ALIGN(32 / 8); . = ALIGN(32 / 8); __end__ = . ; _end = .; PROVIDE (end = .); /* Stabs debugging sections. */ .stab 0 : { *(.stab) } .stabstr 0 : { *(.stabstr) } .stab.excl 0 : { *(.stab.excl) } .stab.exclstr 0 : { *(.stab.exclstr) } .stab.index 0 : { *(.stab.index) } .stab.indexstr 0 : { *(.stab.indexstr) } .comment 0 : { *(.comment) } /* DWARF debug sections. Symbols in the DWARF debugging sections are relative to the beginning of the section so we begin them at 0. */ /* DWARF 1 */ .debug 0 : { *(.debug) } .line 0 : { *(.line) } /* GNU DWARF 1 extensions */ .debug_srcinfo 0 : { *(.debug_srcinfo) } .debug_sfnames 0 : { *(.debug_sfnames) } /* DWARF 1.1 and DWARF 2 */ .debug_aranges 0 : { *(.debug_aranges) } .debug_pubnames 0 : { *(.debug_pubnames) } /* DWARF 2 */ .debug_info 0 : { *(.debug_info .gnu.linkonce.wi.*) } .debug_abbrev 0 : { *(.debug_abbrev) } .debug_line 0 : { *(.debug_line) } .debug_frame 0 : { *(.debug_frame) } .debug_str 0 : { *(.debug_str) } .debug_loc 0 : { *(.debug_loc) } .debug_macinfo 0 : { *(.debug_macinfo) } /* SGI/MIPS DWARF 2 extensions */ .debug_weaknames 0 : { *(.debug_weaknames) } .debug_funcnames 0 : { *(.debug_funcnames) } .debug_typenames 0 : { *(.debug_typenames) } .debug_varnames 0 : { *(.debug_varnames) } /* DWARF 3 */ .debug_pubtypes 0 : { *(.debug_pubtypes) } .debug_ranges 0 : { *(.debug_ranges) } .stack 0x80000 : { _stack = .; *(.stack) } .ARM.attributes 0 : { KEEP (*(.ARM.attributes)) KEEP (*(.gnu.attributes)) } .note.gnu.arm.ident 0 : { KEEP (*(.note.gnu.arm.ident)) } /DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) } } /* Script for --shared -z combreloc -z now -z relro: shared library, combine & sort relocs */ OUTPUT_FORMAT("elf32-littlearm", "elf32-bigarm", "elf32-littlearm") OUTPUT_ARCH(arm) ENTRY(_start) SEARCH_DIR("=/usr/local/lib"); SEARCH_DIR("=/lib"); SEARCH_DIR("=/usr/lib"); SECTIONS { /* Read-only sections, merged into text segment: */ . = 0 + SIZEOF_HEADERS; .note.gnu.build-id : { *(.note.gnu.build-id) } .hash : { *(.hash) } .gnu.hash : { *(.gnu.hash) } .dynsym : { *(.dynsym) } .dynstr : { *(.dynstr) } .gnu.version : { *(.gnu.version) } .gnu.version_d : { *(.gnu.version_d) } .gnu.version_r : { *(.gnu.version_r) } .rel.dyn : { *(.rel.init) *(.rel.text .rel.text.* .rel.gnu.linkonce.t.*) *(.rel.fini) *(.rel.rodata .rel.rodata.* .rel.gnu.linkonce.r.*) *(.rel.data.rel.ro* .rel.gnu.linkonce.d.rel.ro.*) *(.rel.data .rel.data.* .rel.gnu.linkonce.d.*) *(.rel.tdata .rel.tdata.* .rel.gnu.linkonce.td.*) *(.rel.tbss .rel.tbss.* .rel.gnu.linkonce.tb.*) *(.rel.ctors) *(.rel.dtors) *(.rel.got) *(.rel.bss .rel.bss.* .rel.gnu.linkonce.b.*) } .rela.dyn : { *(.rela.init) *(.rela.text .rela.text.* .rela.gnu.linkonce.t.*) *(.rela.fini) *(.rela.rodata .rela.rodata.* .rela.gnu.linkonce.r.*) *(.rela.data .rela.data.* .rela.gnu.linkonce.d.*) *(.rela.tdata .rela.tdata.* .rela.gnu.linkonce.td.*) *(.rela.tbss .rela.tbss.* .rela.gnu.linkonce.tb.*) *(.rela.ctors) *(.rela.dtors) *(.rela.got) *(.rela.bss .rela.bss.* .rela.gnu.linkonce.b.*) } .rel.plt : { *(.rel.plt) } .rela.plt : { *(.rela.plt) } .init : { KEEP (*(.init)) } =0 .plt : { *(.plt) } .text : { *(.text .stub .text.* .gnu.linkonce.t.*) /* .gnu.warning sections are handled specially by elf32.em. */ *(.gnu.warning) *(.glue_7t) *(.glue_7) *(.vfp11_veneer) *(.v4_bx) } =0 .fini : { KEEP (*(.fini)) } =0 PROVIDE (__etext = .); PROVIDE (_etext = .); PROVIDE (etext = .); .rodata : { *(.rodata .rodata.* .gnu.linkonce.r.*) } .rodata1 : { *(.rodata1) } .ARM.extab : { *(.ARM.extab* .gnu.linkonce.armextab.*) } __exidx_start = .; .ARM.exidx : { *(.ARM.exidx* .gnu.linkonce.armexidx.*) } __exidx_end = .; .eh_frame_hdr : { *(.eh_frame_hdr) } .eh_frame : ONLY_IF_RO { KEEP (*(.eh_frame)) } .gcc_except_table : ONLY_IF_RO { *(.gcc_except_table .gcc_except_table.*) } /* Adjust the address for the data segment. We want to adjust up to the same address within the page on the next page up. */ . = ALIGN(CONSTANT (MAXPAGESIZE)) + (. & (CONSTANT (MAXPAGESIZE) - 1)); /* Exception handling */ .eh_frame : ONLY_IF_RW { KEEP (*(.eh_frame)) } .gcc_except_table : ONLY_IF_RW { *(.gcc_except_table .gcc_except_table.*) } /* Thread Local Storage sections */ .tdata : { *(.tdata .tdata.* .gnu.linkonce.td.*) } .tbss : { *(.tbss .tbss.* .gnu.linkonce.tb.*) *(.tcommon) } .preinit_array : { KEEP (*(.preinit_array)) } .init_array : { KEEP (*(SORT(.init_array.*))) KEEP (*(.init_array)) } .fini_array : { KEEP (*(.fini_array)) KEEP (*(SORT(.fini_array.*))) } .ctors : { /* gcc uses crtbegin.o to find the start of the constructors, so we make sure it is first. Because this is a wildcard, it doesn't matter if the user does not actually link against crtbegin.o; the linker won't look for a file to match a wildcard. The wildcard also means that it doesn't matter which directory crtbegin.o is in. */ KEEP (*crtbegin.o(.ctors)) KEEP (*crtbegin?.o(.ctors)) /* We don't want to include the .ctor section from the crtend.o file until after the sorted ctors. The .ctor section from the crtend file contains the end of ctors marker and it must be last */ KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .ctors)) KEEP (*(SORT(.ctors.*))) KEEP (*(.ctors)) } .dtors : { KEEP (*crtbegin.o(.dtors)) KEEP (*crtbegin?.o(.dtors)) KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .dtors)) KEEP (*(SORT(.dtors.*))) KEEP (*(.dtors)) } .jcr : { KEEP (*(.jcr)) } .data.rel.ro : { *(.data.rel.ro.local* .gnu.linkonce.d.rel.ro.local.*) *(.data.rel.ro* .gnu.linkonce.d.rel.ro.*) } .dynamic : { *(.dynamic) } .got : { *(.got.plt) *(.got) } .data : { __data_start = . ; *(.data .data.* .gnu.linkonce.d.*) SORT(CONSTRUCTORS) } .data1 : { *(.data1) } _edata = .; PROVIDE (edata = .); __bss_start = .; __bss_start__ = .; .bss : { *(.dynbss) *(.bss .bss.* .gnu.linkonce.b.*) *(COMMON) /* Align here to ensure that the .bss section occupies space up to _end. Align after .bss to ensure correct alignment even if the .bss section disappears because there are no input sections. FIXME: Why do we need it? When there is no .bss section, we don't pad the .data section. */ . = ALIGN(. != 0 ? 32 / 8 : 1); } _bss_end__ = . ; __bss_end__ = . ; . = ALIGN(32 / 8); . = ALIGN(32 / 8); __end__ = . ; _end = .; PROVIDE (end = .); /* Stabs debugging sections. */ .stab 0 : { *(.stab) } .stabstr 0 : { *(.stabstr) } .stab.excl 0 : { *(.stab.excl) } .stab.exclstr 0 : { *(.stab.exclstr) } .stab.index 0 : { *(.stab.index) } .stab.indexstr 0 : { *(.stab.indexstr) } .comment 0 : { *(.comment) } /* DWARF debug sections. Symbols in the DWARF debugging sections are relative to the beginning of the section so we begin them at 0. */ /* DWARF 1 */ .debug 0 : { *(.debug) } .line 0 : { *(.line) } /* GNU DWARF 1 extensions */ .debug_srcinfo 0 : { *(.debug_srcinfo) } .debug_sfnames 0 : { *(.debug_sfnames) } /* DWARF 1.1 and DWARF 2 */ .debug_aranges 0 : { *(.debug_aranges) } .debug_pubnames 0 : { *(.debug_pubnames) } /* DWARF 2 */ .debug_info 0 : { *(.debug_info .gnu.linkonce.wi.*) } .debug_abbrev 0 : { *(.debug_abbrev) } .debug_line 0 : { *(.debug_line) } .debug_frame 0 : { *(.debug_frame) } .debug_str 0 : { *(.debug_str) } .debug_loc 0 : { *(.debug_loc) } .debug_macinfo 0 : { *(.debug_macinfo) } /* SGI/MIPS DWARF 2 extensions */ .debug_weaknames 0 : { *(.debug_weaknames) } .debug_funcnames 0 : { *(.debug_funcnames) } .debug_typenames 0 : { *(.debug_typenames) } .debug_varnames 0 : { *(.debug_varnames) } /* DWARF 3 */ .debug_pubtypes 0 : { *(.debug_pubtypes) } .debug_ranges 0 : { *(.debug_ranges) } .stack 0x80000 : { _stack = .; *(.stack) } .ARM.attributes 0 : { KEEP (*(.ARM.attributes)) KEEP (*(.gnu.attributes)) } .note.gnu.arm.ident 0 : { KEEP (*(.note.gnu.arm.ident)) } /DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) } } /* Script for --shared -z combreloc: shared library, combine & sort relocs */ OUTPUT_FORMAT("elf32-littlearm", "elf32-bigarm", "elf32-littlearm") OUTPUT_ARCH(arm) ENTRY(_start) SEARCH_DIR("=/usr/local/lib"); SEARCH_DIR("=/lib"); SEARCH_DIR("=/usr/lib"); SECTIONS { /* Read-only sections, merged into text segment: */ . = 0 + SIZEOF_HEADERS; .note.gnu.build-id : { *(.note.gnu.build-id) } .hash : { *(.hash) } .gnu.hash : { *(.gnu.hash) } .dynsym : { *(.dynsym) } .dynstr : { *(.dynstr) } .gnu.version : { *(.gnu.version) } .gnu.version_d : { *(.gnu.version_d) } .gnu.version_r : { *(.gnu.version_r) } .rel.dyn : { *(.rel.init) *(.rel.text .rel.text.* .rel.gnu.linkonce.t.*) *(.rel.fini) *(.rel.rodata .rel.rodata.* .rel.gnu.linkonce.r.*) *(.rel.data.rel.ro* .rel.gnu.linkonce.d.rel.ro.*) *(.rel.data .rel.data.* .rel.gnu.linkonce.d.*) *(.rel.tdata .rel.tdata.* .rel.gnu.linkonce.td.*) *(.rel.tbss .rel.tbss.* .rel.gnu.linkonce.tb.*) *(.rel.ctors) *(.rel.dtors) *(.rel.got) *(.rel.bss .rel.bss.* .rel.gnu.linkonce.b.*) } .rela.dyn : { *(.rela.init) *(.rela.text .rela.text.* .rela.gnu.linkonce.t.*) *(.rela.fini) *(.rela.rodata .rela.rodata.* .rela.gnu.linkonce.r.*) *(.rela.data .rela.data.* .rela.gnu.linkonce.d.*) *(.rela.tdata .rela.tdata.* .rela.gnu.linkonce.td.*) *(.rela.tbss .rela.tbss.* .rela.gnu.linkonce.tb.*) *(.rela.ctors) *(.rela.dtors) *(.rela.got) *(.rela.bss .rela.bss.* .rela.gnu.linkonce.b.*) } .rel.plt : { *(.rel.plt) } .rela.plt : { *(.rela.plt) } .init : { KEEP (*(.init)) } =0 .plt : { *(.plt) } .text : { *(.text .stub .text.* .gnu.linkonce.t.*) /* .gnu.warning sections are handled specially by elf32.em. */ *(.gnu.warning) *(.glue_7t) *(.glue_7) *(.vfp11_veneer) *(.v4_bx) } =0 .fini : { KEEP (*(.fini)) } =0 PROVIDE (__etext = .); PROVIDE (_etext = .); PROVIDE (etext = .); .rodata : { *(.rodata .rodata.* .gnu.linkonce.r.*) } .rodata1 : { *(.rodata1) } .ARM.extab : { *(.ARM.extab* .gnu.linkonce.armextab.*) } __exidx_start = .; .ARM.exidx : { *(.ARM.exidx* .gnu.linkonce.armexidx.*) } __exidx_end = .; .eh_frame_hdr : { *(.eh_frame_hdr) } .eh_frame : ONLY_IF_RO { KEEP (*(.eh_frame)) } .gcc_except_table : ONLY_IF_RO { *(.gcc_except_table .gcc_except_table.*) } /* Adjust the address for the data segment. We want to adjust up to the same address within the page on the next page up. */ . = ALIGN(CONSTANT (MAXPAGESIZE)) + (. & (CONSTANT (MAXPAGESIZE) - 1)); /* Exception handling */ .eh_frame : ONLY_IF_RW { KEEP (*(.eh_frame)) } .gcc_except_table : ONLY_IF_RW { *(.gcc_except_table .gcc_except_table.*) } /* Thread Local Storage sections */ .tdata : { *(.tdata .tdata.* .gnu.linkonce.td.*) } .tbss : { *(.tbss .tbss.* .gnu.linkonce.tb.*) *(.tcommon) } .preinit_array : { KEEP (*(.preinit_array)) } .init_array : { KEEP (*(SORT(.init_array.*))) KEEP (*(.init_array)) } .fini_array : { KEEP (*(.fini_array)) KEEP (*(SORT(.fini_array.*))) } .ctors : { /* gcc uses crtbegin.o to find the start of the constructors, so we make sure it is first. Because this is a wildcard, it doesn't matter if the user does not actually link against crtbegin.o; the linker won't look for a file to match a wildcard. The wildcard also means that it doesn't matter which directory crtbegin.o is in. */ KEEP (*crtbegin.o(.ctors)) KEEP (*crtbegin?.o(.ctors)) /* We don't want to include the .ctor section from the crtend.o file until after the sorted ctors. The .ctor section from the crtend file contains the end of ctors marker and it must be last */ KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .ctors)) KEEP (*(SORT(.ctors.*))) KEEP (*(.ctors)) } .dtors : { KEEP (*crtbegin.o(.dtors)) KEEP (*crtbegin?.o(.dtors)) KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .dtors)) KEEP (*(SORT(.dtors.*))) KEEP (*(.dtors)) } .jcr : { KEEP (*(.jcr)) } .data.rel.ro : { *(.data.rel.ro.local* .gnu.linkonce.d.rel.ro.local.*) *(.data.rel.ro* .gnu.linkonce.d.rel.ro.*) } .dynamic : { *(.dynamic) } .got : { *(.got.plt) *(.got) } .data : { __data_start = . ; *(.data .data.* .gnu.linkonce.d.*) SORT(CONSTRUCTORS) } .data1 : { *(.data1) } _edata = .; PROVIDE (edata = .); __bss_start = .; __bss_start__ = .; .bss : { *(.dynbss) *(.bss .bss.* .gnu.linkonce.b.*) *(COMMON) /* Align here to ensure that the .bss section occupies space up to _end. Align after .bss to ensure correct alignment even if the .bss section disappears because there are no input sections. FIXME: Why do we need it? When there is no .bss section, we don't pad the .data section. */ . = ALIGN(. != 0 ? 32 / 8 : 1); } _bss_end__ = . ; __bss_end__ = . ; . = ALIGN(32 / 8); . = ALIGN(32 / 8); __end__ = . ; _end = .; PROVIDE (end = .); /* Stabs debugging sections. */ .stab 0 : { *(.stab) } .stabstr 0 : { *(.stabstr) } .stab.excl 0 : { *(.stab.excl) } .stab.exclstr 0 : { *(.stab.exclstr) } .stab.index 0 : { *(.stab.index) } .stab.indexstr 0 : { *(.stab.indexstr) } .comment 0 : { *(.comment) } /* DWARF debug sections. Symbols in the DWARF debugging sections are relative to the beginning of the section so we begin them at 0. */ /* DWARF 1 */ .debug 0 : { *(.debug) } .line 0 : { *(.line) } /* GNU DWARF 1 extensions */ .debug_srcinfo 0 : { *(.debug_srcinfo) } .debug_sfnames 0 : { *(.debug_sfnames) } /* DWARF 1.1 and DWARF 2 */ .debug_aranges 0 : { *(.debug_aranges) } .debug_pubnames 0 : { *(.debug_pubnames) } /* DWARF 2 */ .debug_info 0 : { *(.debug_info .gnu.linkonce.wi.*) } .debug_abbrev 0 : { *(.debug_abbrev) } .debug_line 0 : { *(.debug_line) } .debug_frame 0 : { *(.debug_frame) } .debug_str 0 : { *(.debug_str) } .debug_loc 0 : { *(.debug_loc) } .debug_macinfo 0 : { *(.debug_macinfo) } /* SGI/MIPS DWARF 2 extensions */ .debug_weaknames 0 : { *(.debug_weaknames) } .debug_funcnames 0 : { *(.debug_funcnames) } .debug_typenames 0 : { *(.debug_typenames) } .debug_varnames 0 : { *(.debug_varnames) } /* DWARF 3 */ .debug_pubtypes 0 : { *(.debug_pubtypes) } .debug_ranges 0 : { *(.debug_ranges) } .stack 0x80000 : { _stack = .; *(.stack) } .ARM.attributes 0 : { KEEP (*(.ARM.attributes)) KEEP (*(.gnu.attributes)) } .note.gnu.arm.ident 0 : { KEEP (*(.note.gnu.arm.ident)) } /DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) } } /* Script for ld --shared: link shared library */ OUTPUT_FORMAT("elf32-littlearm", "elf32-bigarm", "elf32-littlearm") OUTPUT_ARCH(arm) ENTRY(_start) SEARCH_DIR("=/usr/local/lib"); SEARCH_DIR("=/lib"); SEARCH_DIR("=/usr/lib"); SECTIONS { /* Read-only sections, merged into text segment: */ . = 0 + SIZEOF_HEADERS; .note.gnu.build-id : { *(.note.gnu.build-id) } .hash : { *(.hash) } .gnu.hash : { *(.gnu.hash) } .dynsym : { *(.dynsym) } .dynstr : { *(.dynstr) } .gnu.version : { *(.gnu.version) } .gnu.version_d : { *(.gnu.version_d) } .gnu.version_r : { *(.gnu.version_r) } .rel.init : { *(.rel.init) } .rela.init : { *(.rela.init) } .rel.text : { *(.rel.text .rel.text.* .rel.gnu.linkonce.t.*) } .rela.text : { *(.rela.text .rela.text.* .rela.gnu.linkonce.t.*) } .rel.fini : { *(.rel.fini) } .rela.fini : { *(.rela.fini) } .rel.rodata : { *(.rel.rodata .rel.rodata.* .rel.gnu.linkonce.r.*) } .rela.rodata : { *(.rela.rodata .rela.rodata.* .rela.gnu.linkonce.r.*) } .rel.data.rel.ro : { *(.rel.data.rel.ro* .rel.gnu.linkonce.d.rel.ro.*) } .rela.data.rel.ro : { *(.rela.data.rel.ro* .rela.gnu.linkonce.d.rel.ro.*) } .rel.data : { *(.rel.data .rel.data.* .rel.gnu.linkonce.d.*) } .rela.data : { *(.rela.data .rela.data.* .rela.gnu.linkonce.d.*) } .rel.tdata : { *(.rel.tdata .rel.tdata.* .rel.gnu.linkonce.td.*) } .rela.tdata : { *(.rela.tdata .rela.tdata.* .rela.gnu.linkonce.td.*) } .rel.tbss : { *(.rel.tbss .rel.tbss.* .rel.gnu.linkonce.tb.*) } .rela.tbss : { *(.rela.tbss .rela.tbss.* .rela.gnu.linkonce.tb.*) } .rel.ctors : { *(.rel.ctors) } .rela.ctors : { *(.rela.ctors) } .rel.dtors : { *(.rel.dtors) } .rela.dtors : { *(.rela.dtors) } .rel.got : { *(.rel.got) } .rela.got : { *(.rela.got) } .rel.bss : { *(.rel.bss .rel.bss.* .rel.gnu.linkonce.b.*) } .rela.bss : { *(.rela.bss .rela.bss.* .rela.gnu.linkonce.b.*) } .rel.plt : { *(.rel.plt) } .rela.plt : { *(.rela.plt) } .init : { KEEP (*(.init)) } =0 .plt : { *(.plt) } .text : { *(.text .stub .text.* .gnu.linkonce.t.*) /* .gnu.warning sections are handled specially by elf32.em. */ *(.gnu.warning) *(.glue_7t) *(.glue_7) *(.vfp11_veneer) *(.v4_bx) } =0 .fini : { KEEP (*(.fini)) } =0 PROVIDE (__etext = .); PROVIDE (_etext = .); PROVIDE (etext = .); .rodata : { *(.rodata .rodata.* .gnu.linkonce.r.*) } .rodata1 : { *(.rodata1) } .ARM.extab : { *(.ARM.extab* .gnu.linkonce.armextab.*) } __exidx_start = .; .ARM.exidx : { *(.ARM.exidx* .gnu.linkonce.armexidx.*) } __exidx_end = .; .eh_frame_hdr : { *(.eh_frame_hdr) } .eh_frame : ONLY_IF_RO { KEEP (*(.eh_frame)) } .gcc_except_table : ONLY_IF_RO { *(.gcc_except_table .gcc_except_table.*) } /* Adjust the address for the data segment. We want to adjust up to the same address within the page on the next page up. */ . = ALIGN(CONSTANT (MAXPAGESIZE)) + (. & (CONSTANT (MAXPAGESIZE) - 1)); /* Exception handling */ .eh_frame : ONLY_IF_RW { KEEP (*(.eh_frame)) } .gcc_except_table : ONLY_IF_RW { *(.gcc_except_table .gcc_except_table.*) } /* Thread Local Storage sections */ .tdata : { *(.tdata .tdata.* .gnu.linkonce.td.*) } .tbss : { *(.tbss .tbss.* .gnu.linkonce.tb.*) *(.tcommon) } .preinit_array : { KEEP (*(.preinit_array)) } .init_array : { KEEP (*(SORT(.init_array.*))) KEEP (*(.init_array)) } .fini_array : { KEEP (*(.fini_array)) KEEP (*(SORT(.fini_array.*))) } .ctors : { /* gcc uses crtbegin.o to find the start of the constructors, so we make sure it is first. Because this is a wildcard, it doesn't matter if the user does not actually link against crtbegin.o; the linker won't look for a file to match a wildcard. The wildcard also means that it doesn't matter which directory crtbegin.o is in. */ KEEP (*crtbegin.o(.ctors)) KEEP (*crtbegin?.o(.ctors)) /* We don't want to include the .ctor section from the crtend.o file until after the sorted ctors. The .ctor section from the crtend file contains the end of ctors marker and it must be last */ KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .ctors)) KEEP (*(SORT(.ctors.*))) KEEP (*(.ctors)) } .dtors : { KEEP (*crtbegin.o(.dtors)) KEEP (*crtbegin?.o(.dtors)) KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .dtors)) KEEP (*(SORT(.dtors.*))) KEEP (*(.dtors)) } .jcr : { KEEP (*(.jcr)) } .data.rel.ro : { *(.data.rel.ro.local* .gnu.linkonce.d.rel.ro.local.*) *(.data.rel.ro* .gnu.linkonce.d.rel.ro.*) } .dynamic : { *(.dynamic) } .got : { *(.got.plt) *(.got) } .data : { __data_start = . ; *(.data .data.* .gnu.linkonce.d.*) SORT(CONSTRUCTORS) } .data1 : { *(.data1) } _edata = .; PROVIDE (edata = .); __bss_start = .; __bss_start__ = .; .bss : { *(.dynbss) *(.bss .bss.* .gnu.linkonce.b.*) *(COMMON) /* Align here to ensure that the .bss section occupies space up to _end. Align after .bss to ensure correct alignment even if the .bss section disappears because there are no input sections. FIXME: Why do we need it? When there is no .bss section, we don't pad the .data section. */ . = ALIGN(. != 0 ? 32 / 8 : 1); } _bss_end__ = . ; __bss_end__ = . ; . = ALIGN(32 / 8); . = ALIGN(32 / 8); __end__ = . ; _end = .; PROVIDE (end = .); /* Stabs debugging sections. */ .stab 0 : { *(.stab) } .stabstr 0 : { *(.stabstr) } .stab.excl 0 : { *(.stab.excl) } .stab.exclstr 0 : { *(.stab.exclstr) } .stab.index 0 : { *(.stab.index) } .stab.indexstr 0 : { *(.stab.indexstr) } .comment 0 : { *(.comment) } /* DWARF debug sections. Symbols in the DWARF debugging sections are relative to the beginning of the section so we begin them at 0. */ /* DWARF 1 */ .debug 0 : { *(.debug) } .line 0 : { *(.line) } /* GNU DWARF 1 extensions */ .debug_srcinfo 0 : { *(.debug_srcinfo) } .debug_sfnames 0 : { *(.debug_sfnames) } /* DWARF 1.1 and DWARF 2 */ .debug_aranges 0 : { *(.debug_aranges) } .debug_pubnames 0 : { *(.debug_pubnames) } /* DWARF 2 */ .debug_info 0 : { *(.debug_info .gnu.linkonce.wi.*) } .debug_abbrev 0 : { *(.debug_abbrev) } .debug_line 0 : { *(.debug_line) } .debug_frame 0 : { *(.debug_frame) } .debug_str 0 : { *(.debug_str) } .debug_loc 0 : { *(.debug_loc) } .debug_macinfo 0 : { *(.debug_macinfo) } /* SGI/MIPS DWARF 2 extensions */ .debug_weaknames 0 : { *(.debug_weaknames) } .debug_funcnames 0 : { *(.debug_funcnames) } .debug_typenames 0 : { *(.debug_typenames) } .debug_varnames 0 : { *(.debug_varnames) } /* DWARF 3 */ .debug_pubtypes 0 : { *(.debug_pubtypes) } .debug_ranges 0 : { *(.debug_ranges) } .stack 0x80000 : { _stack = .; *(.stack) } .ARM.attributes 0 : { KEEP (*(.ARM.attributes)) KEEP (*(.gnu.attributes)) } .note.gnu.arm.ident 0 : { KEEP (*(.note.gnu.arm.ident)) } /DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) } } /* Script for -z combreloc -z now -z relro: combine and sort reloc sections */ OUTPUT_FORMAT("elf32-littlearm", "elf32-bigarm", "elf32-littlearm") OUTPUT_ARCH(arm) ENTRY(_start) SEARCH_DIR("=/usr/local/lib"); SEARCH_DIR("=/lib"); SEARCH_DIR("=/usr/lib"); SECTIONS { /* Read-only sections, merged into text segment: */ PROVIDE (__executable_start = 0x8000); . = 0x8000 + SIZEOF_HEADERS; .interp : { *(.interp) } .note.gnu.build-id : { *(.note.gnu.build-id) } .hash : { *(.hash) } .gnu.hash : { *(.gnu.hash) } .dynsym : { *(.dynsym) } .dynstr : { *(.dynstr) } .gnu.version : { *(.gnu.version) } .gnu.version_d : { *(.gnu.version_d) } .gnu.version_r : { *(.gnu.version_r) } .rel.dyn : { *(.rel.init) *(.rel.text .rel.text.* .rel.gnu.linkonce.t.*) *(.rel.fini) *(.rel.rodata .rel.rodata.* .rel.gnu.linkonce.r.*) *(.rel.data.rel.ro* .rel.gnu.linkonce.d.rel.ro.*) *(.rel.data .rel.data.* .rel.gnu.linkonce.d.*) *(.rel.tdata .rel.tdata.* .rel.gnu.linkonce.td.*) *(.rel.tbss .rel.tbss.* .rel.gnu.linkonce.tb.*) *(.rel.ctors) *(.rel.dtors) *(.rel.got) *(.rel.bss .rel.bss.* .rel.gnu.linkonce.b.*) } .rela.dyn : { *(.rela.init) *(.rela.text .rela.text.* .rela.gnu.linkonce.t.*) *(.rela.fini) *(.rela.rodata .rela.rodata.* .rela.gnu.linkonce.r.*) *(.rela.data .rela.data.* .rela.gnu.linkonce.d.*) *(.rela.tdata .rela.tdata.* .rela.gnu.linkonce.td.*) *(.rela.tbss .rela.tbss.* .rela.gnu.linkonce.tb.*) *(.rela.ctors) *(.rela.dtors) *(.rela.got) *(.rela.bss .rela.bss.* .rela.gnu.linkonce.b.*) } .rel.plt : { *(.rel.plt) } .rela.plt : { *(.rela.plt) } .init : { KEEP (*(.init)) } =0 .plt : { *(.plt) } .text : { *(.text .stub .text.* .gnu.linkonce.t.*) /* .gnu.warning sections are handled specially by elf32.em. */ *(.gnu.warning) *(.glue_7t) *(.glue_7) *(.vfp11_veneer) *(.v4_bx) } =0 .fini : { KEEP (*(.fini)) } =0 PROVIDE (__etext = .); PROVIDE (_etext = .); PROVIDE (etext = .); .rodata : { *(.rodata .rodata.* .gnu.linkonce.r.*) } .rodata1 : { *(.rodata1) } .ARM.extab : { *(.ARM.extab* .gnu.linkonce.armextab.*) } __exidx_start = .; .ARM.exidx : { *(.ARM.exidx* .gnu.linkonce.armexidx.*) } __exidx_end = .; .eh_frame_hdr : { *(.eh_frame_hdr) } .eh_frame : ONLY_IF_RO { KEEP (*(.eh_frame)) } .gcc_except_table : ONLY_IF_RO { *(.gcc_except_table .gcc_except_table.*) } /* Adjust the address for the data segment. We want to adjust up to the same address within the page on the next page up. */ . = ALIGN(CONSTANT (MAXPAGESIZE)) + (. & (CONSTANT (MAXPAGESIZE) - 1)); /* Exception handling */ .eh_frame : ONLY_IF_RW { KEEP (*(.eh_frame)) } .gcc_except_table : ONLY_IF_RW { *(.gcc_except_table .gcc_except_table.*) } /* Thread Local Storage sections */ .tdata : { *(.tdata .tdata.* .gnu.linkonce.td.*) } .tbss : { *(.tbss .tbss.* .gnu.linkonce.tb.*) *(.tcommon) } .preinit_array : { PROVIDE_HIDDEN (__preinit_array_start = .); KEEP (*(.preinit_array)) PROVIDE_HIDDEN (__preinit_array_end = .); } .init_array : { PROVIDE_HIDDEN (__init_array_start = .); KEEP (*(SORT(.init_array.*))) KEEP (*(.init_array)) PROVIDE_HIDDEN (__init_array_end = .); } .fini_array : { PROVIDE_HIDDEN (__fini_array_start = .); KEEP (*(.fini_array)) KEEP (*(SORT(.fini_array.*))) PROVIDE_HIDDEN (__fini_array_end = .); } .ctors : { /* gcc uses crtbegin.o to find the start of the constructors, so we make sure it is first. Because this is a wildcard, it doesn't matter if the user does not actually link against crtbegin.o; the linker won't look for a file to match a wildcard. The wildcard also means that it doesn't matter which directory crtbegin.o is in. */ KEEP (*crtbegin.o(.ctors)) KEEP (*crtbegin?.o(.ctors)) /* We don't want to include the .ctor section from the crtend.o file until after the sorted ctors. The .ctor section from the crtend file contains the end of ctors marker and it must be last */ KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .ctors)) KEEP (*(SORT(.ctors.*))) KEEP (*(.ctors)) } .dtors : { KEEP (*crtbegin.o(.dtors)) KEEP (*crtbegin?.o(.dtors)) KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .dtors)) KEEP (*(SORT(.dtors.*))) KEEP (*(.dtors)) } .jcr : { KEEP (*(.jcr)) } .data.rel.ro : { *(.data.rel.ro.local* .gnu.linkonce.d.rel.ro.local.*) *(.data.rel.ro* .gnu.linkonce.d.rel.ro.*) } .dynamic : { *(.dynamic) } .got : { *(.got.plt) *(.got) } .data : { __data_start = . ; *(.data .data.* .gnu.linkonce.d.*) SORT(CONSTRUCTORS) } .data1 : { *(.data1) } _edata = .; PROVIDE (edata = .); __bss_start = .; __bss_start__ = .; .bss : { *(.dynbss) *(.bss .bss.* .gnu.linkonce.b.*) *(COMMON) /* Align here to ensure that the .bss section occupies space up to _end. Align after .bss to ensure correct alignment even if the .bss section disappears because there are no input sections. FIXME: Why do we need it? When there is no .bss section, we don't pad the .data section. */ . = ALIGN(. != 0 ? 32 / 8 : 1); } _bss_end__ = . ; __bss_end__ = . ; . = ALIGN(32 / 8); . = ALIGN(32 / 8); __end__ = . ; _end = .; PROVIDE (end = .); /* Stabs debugging sections. */ .stab 0 : { *(.stab) } .stabstr 0 : { *(.stabstr) } .stab.excl 0 : { *(.stab.excl) } .stab.exclstr 0 : { *(.stab.exclstr) } .stab.index 0 : { *(.stab.index) } .stab.indexstr 0 : { *(.stab.indexstr) } .comment 0 : { *(.comment) } /* DWARF debug sections. Symbols in the DWARF debugging sections are relative to the beginning of the section so we begin them at 0. */ /* DWARF 1 */ .debug 0 : { *(.debug) } .line 0 : { *(.line) } /* GNU DWARF 1 extensions */ .debug_srcinfo 0 : { *(.debug_srcinfo) } .debug_sfnames 0 : { *(.debug_sfnames) } /* DWARF 1.1 and DWARF 2 */ .debug_aranges 0 : { *(.debug_aranges) } .debug_pubnames 0 : { *(.debug_pubnames) } /* DWARF 2 */ .debug_info 0 : { *(.debug_info .gnu.linkonce.wi.*) } .debug_abbrev 0 : { *(.debug_abbrev) } .debug_line 0 : { *(.debug_line) } .debug_frame 0 : { *(.debug_frame) } .debug_str 0 : { *(.debug_str) } .debug_loc 0 : { *(.debug_loc) } .debug_macinfo 0 : { *(.debug_macinfo) } /* SGI/MIPS DWARF 2 extensions */ .debug_weaknames 0 : { *(.debug_weaknames) } .debug_funcnames 0 : { *(.debug_funcnames) } .debug_typenames 0 : { *(.debug_typenames) } .debug_varnames 0 : { *(.debug_varnames) } /* DWARF 3 */ .debug_pubtypes 0 : { *(.debug_pubtypes) } .debug_ranges 0 : { *(.debug_ranges) } .stack 0x80000 : { _stack = .; *(.stack) } .ARM.attributes 0 : { KEEP (*(.ARM.attributes)) KEEP (*(.gnu.attributes)) } .note.gnu.arm.ident 0 : { KEEP (*(.note.gnu.arm.ident)) } /DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) } } /* Script for -z combreloc: combine and sort reloc sections */ OUTPUT_FORMAT("elf32-littlearm", "elf32-bigarm", "elf32-littlearm") OUTPUT_ARCH(arm) ENTRY(_start) SEARCH_DIR("=/usr/local/lib"); SEARCH_DIR("=/lib"); SEARCH_DIR("=/usr/lib"); SECTIONS { /* Read-only sections, merged into text segment: */ PROVIDE (__executable_start = 0x8000); . = 0x8000 + SIZEOF_HEADERS; .interp : { *(.interp) } .note.gnu.build-id : { *(.note.gnu.build-id) } .hash : { *(.hash) } .gnu.hash : { *(.gnu.hash) } .dynsym : { *(.dynsym) } .dynstr : { *(.dynstr) } .gnu.version : { *(.gnu.version) } .gnu.version_d : { *(.gnu.version_d) } .gnu.version_r : { *(.gnu.version_r) } .rel.dyn : { *(.rel.init) *(.rel.text .rel.text.* .rel.gnu.linkonce.t.*) *(.rel.fini) *(.rel.rodata .rel.rodata.* .rel.gnu.linkonce.r.*) *(.rel.data.rel.ro* .rel.gnu.linkonce.d.rel.ro.*) *(.rel.data .rel.data.* .rel.gnu.linkonce.d.*) *(.rel.tdata .rel.tdata.* .rel.gnu.linkonce.td.*) *(.rel.tbss .rel.tbss.* .rel.gnu.linkonce.tb.*) *(.rel.ctors) *(.rel.dtors) *(.rel.got) *(.rel.bss .rel.bss.* .rel.gnu.linkonce.b.*) } .rela.dyn : { *(.rela.init) *(.rela.text .rela.text.* .rela.gnu.linkonce.t.*) *(.rela.fini) *(.rela.rodata .rela.rodata.* .rela.gnu.linkonce.r.*) *(.rela.data .rela.data.* .rela.gnu.linkonce.d.*) *(.rela.tdata .rela.tdata.* .rela.gnu.linkonce.td.*) *(.rela.tbss .rela.tbss.* .rela.gnu.linkonce.tb.*) *(.rela.ctors) *(.rela.dtors) *(.rela.got) *(.rela.bss .rela.bss.* .rela.gnu.linkonce.b.*) } .rel.plt : { *(.rel.plt) } .rela.plt : { *(.rela.plt) } .init : { KEEP (*(.init)) } =0 .plt : { *(.plt) } .text : { *(.text .stub .text.* .gnu.linkonce.t.*) /* .gnu.warning sections are handled specially by elf32.em. */ *(.gnu.warning) *(.glue_7t) *(.glue_7) *(.vfp11_veneer) *(.v4_bx) } =0 .fini : { KEEP (*(.fini)) } =0 PROVIDE (__etext = .); PROVIDE (_etext = .); PROVIDE (etext = .); .rodata : { *(.rodata .rodata.* .gnu.linkonce.r.*) } .rodata1 : { *(.rodata1) } .ARM.extab : { *(.ARM.extab* .gnu.linkonce.armextab.*) } __exidx_start = .; .ARM.exidx : { *(.ARM.exidx* .gnu.linkonce.armexidx.*) } __exidx_end = .; .eh_frame_hdr : { *(.eh_frame_hdr) } .eh_frame : ONLY_IF_RO { KEEP (*(.eh_frame)) } .gcc_except_table : ONLY_IF_RO { *(.gcc_except_table .gcc_except_table.*) } /* Adjust the address for the data segment. We want to adjust up to the same address within the page on the next page up. */ . = ALIGN(CONSTANT (MAXPAGESIZE)) + (. & (CONSTANT (MAXPAGESIZE) - 1)); /* Exception handling */ .eh_frame : ONLY_IF_RW { KEEP (*(.eh_frame)) } .gcc_except_table : ONLY_IF_RW { *(.gcc_except_table .gcc_except_table.*) } /* Thread Local Storage sections */ .tdata : { *(.tdata .tdata.* .gnu.linkonce.td.*) } .tbss : { *(.tbss .tbss.* .gnu.linkonce.tb.*) *(.tcommon) } .preinit_array : { PROVIDE_HIDDEN (__preinit_array_start = .); KEEP (*(.preinit_array)) PROVIDE_HIDDEN (__preinit_array_end = .); } .init_array : { PROVIDE_HIDDEN (__init_array_start = .); KEEP (*(SORT(.init_array.*))) KEEP (*(.init_array)) PROVIDE_HIDDEN (__init_array_end = .); } .fini_array : { PROVIDE_HIDDEN (__fini_array_start = .); KEEP (*(.fini_array)) KEEP (*(SORT(.fini_array.*))) PROVIDE_HIDDEN (__fini_array_end = .); } .ctors : { /* gcc uses crtbegin.o to find the start of the constructors, so we make sure it is first. Because this is a wildcard, it doesn't matter if the user does not actually link against crtbegin.o; the linker won't look for a file to match a wildcard. The wildcard also means that it doesn't matter which directory crtbegin.o is in. */ KEEP (*crtbegin.o(.ctors)) KEEP (*crtbegin?.o(.ctors)) /* We don't want to include the .ctor section from the crtend.o file until after the sorted ctors. The .ctor section from the crtend file contains the end of ctors marker and it must be last */ KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .ctors)) KEEP (*(SORT(.ctors.*))) KEEP (*(.ctors)) } .dtors : { KEEP (*crtbegin.o(.dtors)) KEEP (*crtbegin?.o(.dtors)) KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .dtors)) KEEP (*(SORT(.dtors.*))) KEEP (*(.dtors)) } .jcr : { KEEP (*(.jcr)) } .data.rel.ro : { *(.data.rel.ro.local* .gnu.linkonce.d.rel.ro.local.*) *(.data.rel.ro* .gnu.linkonce.d.rel.ro.*) } .dynamic : { *(.dynamic) } .got : { *(.got.plt) *(.got) } .data : { __data_start = . ; *(.data .data.* .gnu.linkonce.d.*) SORT(CONSTRUCTORS) } .data1 : { *(.data1) } _edata = .; PROVIDE (edata = .); __bss_start = .; __bss_start__ = .; .bss : { *(.dynbss) *(.bss .bss.* .gnu.linkonce.b.*) *(COMMON) /* Align here to ensure that the .bss section occupies space up to _end. Align after .bss to ensure correct alignment even if the .bss section disappears because there are no input sections. FIXME: Why do we need it? When there is no .bss section, we don't pad the .data section. */ . = ALIGN(. != 0 ? 32 / 8 : 1); } _bss_end__ = . ; __bss_end__ = . ; . = ALIGN(32 / 8); . = ALIGN(32 / 8); __end__ = . ; _end = .; PROVIDE (end = .); /* Stabs debugging sections. */ .stab 0 : { *(.stab) } .stabstr 0 : { *(.stabstr) } .stab.excl 0 : { *(.stab.excl) } .stab.exclstr 0 : { *(.stab.exclstr) } .stab.index 0 : { *(.stab.index) } .stab.indexstr 0 : { *(.stab.indexstr) } .comment 0 : { *(.comment) } /* DWARF debug sections. Symbols in the DWARF debugging sections are relative to the beginning of the section so we begin them at 0. */ /* DWARF 1 */ .debug 0 : { *(.debug) } .line 0 : { *(.line) } /* GNU DWARF 1 extensions */ .debug_srcinfo 0 : { *(.debug_srcinfo) } .debug_sfnames 0 : { *(.debug_sfnames) } /* DWARF 1.1 and DWARF 2 */ .debug_aranges 0 : { *(.debug_aranges) } .debug_pubnames 0 : { *(.debug_pubnames) } /* DWARF 2 */ .debug_info 0 : { *(.debug_info .gnu.linkonce.wi.*) } .debug_abbrev 0 : { *(.debug_abbrev) } .debug_line 0 : { *(.debug_line) } .debug_frame 0 : { *(.debug_frame) } .debug_str 0 : { *(.debug_str) } .debug_loc 0 : { *(.debug_loc) } .debug_macinfo 0 : { *(.debug_macinfo) } /* SGI/MIPS DWARF 2 extensions */ .debug_weaknames 0 : { *(.debug_weaknames) } .debug_funcnames 0 : { *(.debug_funcnames) } .debug_typenames 0 : { *(.debug_typenames) } .debug_varnames 0 : { *(.debug_varnames) } /* DWARF 3 */ .debug_pubtypes 0 : { *(.debug_pubtypes) } .debug_ranges 0 : { *(.debug_ranges) } .stack 0x80000 : { _stack = .; *(.stack) } .ARM.attributes 0 : { KEEP (*(.ARM.attributes)) KEEP (*(.gnu.attributes)) } .note.gnu.arm.ident 0 : { KEEP (*(.note.gnu.arm.ident)) } /DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) } } /* Default linker script, for normal executables */ OUTPUT_FORMAT("elf32-littlearm", "elf32-bigarm", "elf32-littlearm") OUTPUT_ARCH(arm) ENTRY(_start) SEARCH_DIR("=/usr/local/lib"); SEARCH_DIR("=/lib"); SEARCH_DIR("=/usr/lib"); SECTIONS { /* Read-only sections, merged into text segment: */ PROVIDE (__executable_start = 0x8000); . = 0x8000 + SIZEOF_HEADERS; .interp : { *(.interp) } .note.gnu.build-id : { *(.note.gnu.build-id) } .hash : { *(.hash) } .gnu.hash : { *(.gnu.hash) } .dynsym : { *(.dynsym) } .dynstr : { *(.dynstr) } .gnu.version : { *(.gnu.version) } .gnu.version_d : { *(.gnu.version_d) } .gnu.version_r : { *(.gnu.version_r) } .rel.init : { *(.rel.init) } .rela.init : { *(.rela.init) } .rel.text : { *(.rel.text .rel.text.* .rel.gnu.linkonce.t.*) } .rela.text : { *(.rela.text .rela.text.* .rela.gnu.linkonce.t.*) } .rel.fini : { *(.rel.fini) } .rela.fini : { *(.rela.fini) } .rel.rodata : { *(.rel.rodata .rel.rodata.* .rel.gnu.linkonce.r.*) } .rela.rodata : { *(.rela.rodata .rela.rodata.* .rela.gnu.linkonce.r.*) } .rel.data.rel.ro : { *(.rel.data.rel.ro* .rel.gnu.linkonce.d.rel.ro.*) } .rela.data.rel.ro : { *(.rela.data.rel.ro* .rela.gnu.linkonce.d.rel.ro.*) } .rel.data : { *(.rel.data .rel.data.* .rel.gnu.linkonce.d.*) } .rela.data : { *(.rela.data .rela.data.* .rela.gnu.linkonce.d.*) } .rel.tdata : { *(.rel.tdata .rel.tdata.* .rel.gnu.linkonce.td.*) } .rela.tdata : { *(.rela.tdata .rela.tdata.* .rela.gnu.linkonce.td.*) } .rel.tbss : { *(.rel.tbss .rel.tbss.* .rel.gnu.linkonce.tb.*) } .rela.tbss : { *(.rela.tbss .rela.tbss.* .rela.gnu.linkonce.tb.*) } .rel.ctors : { *(.rel.ctors) } .rela.ctors : { *(.rela.ctors) } .rel.dtors : { *(.rel.dtors) } .rela.dtors : { *(.rela.dtors) } .rel.got : { *(.rel.got) } .rela.got : { *(.rela.got) } .rel.bss : { *(.rel.bss .rel.bss.* .rel.gnu.linkonce.b.*) } .rela.bss : { *(.rela.bss .rela.bss.* .rela.gnu.linkonce.b.*) } .rel.plt : { *(.rel.plt) } .rela.plt : { *(.rela.plt) } .init : { KEEP (*(.init)) } =0 .plt : { *(.plt) } .text : { *(.text .stub .text.* .gnu.linkonce.t.*) /* .gnu.warning sections are handled specially by elf32.em. */ *(.gnu.warning) *(.glue_7t) *(.glue_7) *(.vfp11_veneer) *(.v4_bx) } =0 .fini : { KEEP (*(.fini)) } =0 PROVIDE (__etext = .); PROVIDE (_etext = .); PROVIDE (etext = .); .rodata : { *(.rodata .rodata.* .gnu.linkonce.r.*) } .rodata1 : { *(.rodata1) } .ARM.extab : { *(.ARM.extab* .gnu.linkonce.armextab.*) } __exidx_start = .; .ARM.exidx : { *(.ARM.exidx* .gnu.linkonce.armexidx.*) } __exidx_end = .; .eh_frame_hdr : { *(.eh_frame_hdr) } .eh_frame : ONLY_IF_RO { KEEP (*(.eh_frame)) } .gcc_except_table : ONLY_IF_RO { *(.gcc_except_table .gcc_except_table.*) } /* Adjust the address for the data segment. We want to adjust up to the same address within the page on the next page up. */ . = ALIGN(CONSTANT (MAXPAGESIZE)) + (. & (CONSTANT (MAXPAGESIZE) - 1)); /* Exception handling */ .eh_frame : ONLY_IF_RW { KEEP (*(.eh_frame)) } .gcc_except_table : ONLY_IF_RW { *(.gcc_except_table .gcc_except_table.*) } /* Thread Local Storage sections */ .tdata : { *(.tdata .tdata.* .gnu.linkonce.td.*) } .tbss : { *(.tbss .tbss.* .gnu.linkonce.tb.*) *(.tcommon) } .preinit_array : { PROVIDE_HIDDEN (__preinit_array_start = .); KEEP (*(.preinit_array)) PROVIDE_HIDDEN (__preinit_array_end = .); } .init_array : { PROVIDE_HIDDEN (__init_array_start = .); KEEP (*(SORT(.init_array.*))) KEEP (*(.init_array)) PROVIDE_HIDDEN (__init_array_end = .); } .fini_array : { PROVIDE_HIDDEN (__fini_array_start = .); KEEP (*(.fini_array)) KEEP (*(SORT(.fini_array.*))) PROVIDE_HIDDEN (__fini_array_end = .); } .ctors : { /* gcc uses crtbegin.o to find the start of the constructors, so we make sure it is first. Because this is a wildcard, it doesn't matter if the user does not actually link against crtbegin.o; the linker won't look for a file to match a wildcard. The wildcard also means that it doesn't matter which directory crtbegin.o is in. */ KEEP (*crtbegin.o(.ctors)) KEEP (*crtbegin?.o(.ctors)) /* We don't want to include the .ctor section from the crtend.o file until after the sorted ctors. The .ctor section from the crtend file contains the end of ctors marker and it must be last */ KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .ctors)) KEEP (*(SORT(.ctors.*))) KEEP (*(.ctors)) } .dtors : { KEEP (*crtbegin.o(.dtors)) KEEP (*crtbegin?.o(.dtors)) KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .dtors)) KEEP (*(SORT(.dtors.*))) KEEP (*(.dtors)) } .jcr : { KEEP (*(.jcr)) } .data.rel.ro : { *(.data.rel.ro.local* .gnu.linkonce.d.rel.ro.local.*) *(.data.rel.ro* .gnu.linkonce.d.rel.ro.*) } .dynamic : { *(.dynamic) } .got : { *(.got.plt) *(.got) } .data : { __data_start = . ; *(.data .data.* .gnu.linkonce.d.*) SORT(CONSTRUCTORS) } .data1 : { *(.data1) } _edata = .; PROVIDE (edata = .); __bss_start = .; __bss_start__ = .; .bss : { *(.dynbss) *(.bss .bss.* .gnu.linkonce.b.*) *(COMMON) /* Align here to ensure that the .bss section occupies space up to _end. Align after .bss to ensure correct alignment even if the .bss section disappears because there are no input sections. FIXME: Why do we need it? When there is no .bss section, we don't pad the .data section. */ . = ALIGN(. != 0 ? 32 / 8 : 1); } _bss_end__ = . ; __bss_end__ = . ; . = ALIGN(32 / 8); . = ALIGN(32 / 8); __end__ = . ; _end = .; PROVIDE (end = .); /* Stabs debugging sections. */ .stab 0 : { *(.stab) } .stabstr 0 : { *(.stabstr) } .stab.excl 0 : { *(.stab.excl) } .stab.exclstr 0 : { *(.stab.exclstr) } .stab.index 0 : { *(.stab.index) } .stab.indexstr 0 : { *(.stab.indexstr) } .comment 0 : { *(.comment) } /* DWARF debug sections. Symbols in the DWARF debugging sections are relative to the beginning of the section so we begin them at 0. */ /* DWARF 1 */ .debug 0 : { *(.debug) } .line 0 : { *(.line) } /* GNU DWARF 1 extensions */ .debug_srcinfo 0 : { *(.debug_srcinfo) } .debug_sfnames 0 : { *(.debug_sfnames) } /* DWARF 1.1 and DWARF 2 */ .debug_aranges 0 : { *(.debug_aranges) } .debug_pubnames 0 : { *(.debug_pubnames) } /* DWARF 2 */ .debug_info 0 : { *(.debug_info .gnu.linkonce.wi.*) } .debug_abbrev 0 : { *(.debug_abbrev) } .debug_line 0 : { *(.debug_line) } .debug_frame 0 : { *(.debug_frame) } .debug_str 0 : { *(.debug_str) } .debug_loc 0 : { *(.debug_loc) } .debug_macinfo 0 : { *(.debug_macinfo) } /* SGI/MIPS DWARF 2 extensions */ .debug_weaknames 0 : { *(.debug_weaknames) } .debug_funcnames 0 : { *(.debug_funcnames) } .debug_typenames 0 : { *(.debug_typenames) } .debug_varnames 0 : { *(.debug_varnames) } /* DWARF 3 */ .debug_pubtypes 0 : { *(.debug_pubtypes) } .debug_ranges 0 : { *(.debug_ranges) } .stack 0x80000 : { _stack = .; *(.stack) } .ARM.attributes 0 : { KEEP (*(.ARM.attributes)) KEEP (*(.gnu.attributes)) } .note.gnu.arm.ident 0 : { KEEP (*(.note.gnu.arm.ident)) } /DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) } } %P%F: --just-symbols may not be used on DSO: %B --build-id[=STYLE] Generate build ID note -Bgroup Selects group name lookup rules for DSO --disable-new-dtags Disable new dynamic tags --enable-new-dtags Enable new dynamic tags --eh-frame-hdr Create .eh_frame_hdr section --hash-style=STYLE Set hash style to sysv, gnu or both -z combreloc Merge dynamic relocs into one section and sort -z defs Report unresolved symbols in object files. -z execstack Mark executable as requiring executable stack -z initfirst Mark DSO to be initialized first at runtime -z interpose Mark object to interpose all DSOs but executable -z lazy Mark object lazy runtime binding (default) -z loadfltr Mark object requiring immediate process -z muldefs Allow multiple definitions -z nocombreloc Don't merge dynamic relocs into one section -z nocopyreloc Don't create copy relocs -z nodefaultlib Mark object not to use default search paths -z nodelete Mark DSO non-deletable at runtime -z nodlopen Mark DSO not available to dlopen -z nodump Mark DSO not available to dldump -z noexecstack Mark executable as not requiring executable stack -z now Mark object non-lazy runtime binding -z origin Mark object requiring immediate $ORIGIN processing at runtime -z max-page-size=SIZE Set maximum page size to SIZE -z common-page-size=SIZE Set common page size to SIZE -z KEYWORD Ignored for Solaris compatibility --thumb-entry= Set the entry point to be Thumb symbol  --be8 Oputput BE8 format image --target1=rel Interpret R_ARM_TARGET1 as R_ARM_REL32 --target1=abs Interpret R_ARM_TARGET1 as R_ARM_ABS32 --target2= Specify definition of R_ARM_TARGET2 --fix-v4bx Rewrite BX rn as MOV pc, rn for ARMv4 --fix-v4bx-interworking Rewrite BX rn branch to ARMv4 interworking veneer --use-blx Enable use of BLX instructions --vfp11-denorm-fix Specify how to fix VFP11 denorm erratum --no-enum-size-warning Don't warn about objects with incompatible enum sizes --no-wchar-size-warning Don't warn about objects with incompatible wchar_t sizes --pic-veneer Always generate PIC interworking veneers --stub-group-size=N Maximum size of a group of input sections that can be handled by one stub section. A negative value locates all stubs after their branches (with a group size of -N), while a positive value allows two groups of input sections, one before, and one after each stub section. Values of +/-1 indicate the linker should choose suitable defaults. --[no-]fix-cortex-a8 Disable/enable Cortex-A8 Thumb-2 branch erratum fix --icf= Ignored for compatibility with gold. %P%F: invalid hash style `%s' %P%F: invalid maxium page size `%s' %P%F: invalid common page size `%s' Unrecognized VFP11 fix type '%s'. %F%P: place_orphan failed: %E %F%X%P: error: Cannot change output format whilst linking ARM binaries. %F%P: map sections to segments failed: %E %X%P: could not compute sections lists for stub generation: %E %X%P: cannot size stub section: %E %X%P: can not build stubs: %E %P: warning: '--thumb-entry %s' is overriding '-e %s' %P: warning: cannot find thumb start symbol %s %X%P: can not make stub section: %E Errors encountered processing file %s %P%F: failed to set dynamic section sizes: %E %F%B: Can't read contents of section .gnu.warning: %E %P%F: failed to record assignment to %s: %E %F%P:%B: bfd_elf_get_bfd_needed_list failed: %E %P: warning: unrecognized --build-id style ignored. %P: warning: Cannot create .note.gnu.build-id section, --build-id ignored. %P: warning: Cannot create .eh_frame_hdr section, --eh-frame-hdr ignored. %P: warning: %s, needed by %B, not found (try using -rpath or -rpath-link) %P: warning: %s, needed by %B, may conflict with %s %P: warning: .note.gnu.build-id section discarded, --build-id ignored. earmelf.c sha1 sysv both initfirst interpose loadfltr nodefaultlib nodelete nodlopen nodump lazy muldefs nocombreloc nocopyreloc noexecstack max-page-size= common-page-size= scalar vector .rela.dyn .rel .rel.dyn .gnu.warning. .note %s/lib%s%s.so linker stubs %X%P: can not create BFD %E %P%F: looping in map_segments LD_RUN_PATH .gnu.warning %F%P:%B: bfd_stat failed: %E found %s at %s md5 uuid .note.gnu.build-id .eh_frame .eh_frame_hdr %s needed by %B .so. /dev/urandom elf32-littlearm disable-new-dtags enable-new-dtags eh-frame-hdr exclude-libs hash-style Bgroup no-pipeline-knowledge thumb-entry be8 target1-rel target1-abs target2 fix-v4bx fix-v4bx-interworking use-blx vfp11-denorm-fix no-enum-size-warning pic-veneer stub-group-size no-wchar-size-warning no-fix-cortex-a8 icf .rodata .interp .sdata 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 L L L 6L L JL , > O \ i t { p - . / 0 1 2 7 3 4 5 6 8 ) 9 B : ? ; P gldarmelf_write_build_id_section read_hex __.SYMDEF ! ! ! %-10ld %-7lo bfd %-12ld %-8lo ` %-ld: %-ld // ARFILENAMES/ ARFILENAMES/ // __.SYMDEF __.SYMDEF/ / /SYM64/ /home/jingyu/projects/gcc/android-toolchainsrc/build/../binutils/binutils-2.19/bfd/archive.c Reading archive file mod timestamp Writing updated armap timestamp Warning: writing archive was slow: rewriting timestamp bfd_dont_truncate_arname UNKNOWN! binary unknown y y BFD %s assertion fail %s:%d Please report this bug. coff-go32 pe-i386 pei-i386 pe-x86-64 pei-x86-64 pe-arm-wince-little pei-arm-wince-little %s: BFD: %s[%s] Error reading %s: %s %s: %s No error System call error Invalid bfd target File in wrong format Invalid operation Memory exhausted No symbols No more archived files Malformed archive File format not recognized File format is ambiguous Section has no contents Bad value File truncated File too big # BFD %s internal error, aborting at %s line %d in %s BFD %s internal error, aborting at %s line %d /home/jingyu/projects/gcc/android-toolchainsrc/build/../binutils/binutils-2.19/bfd/bfd.c Archive object file in wrong format Archive has no index; run ranlib to add one Nonrepresentable section on output Symbol needs debug section which does not exist | / J c { x bfd_emul_get_commonpagesize bfd_emul_get_maxpagesize _bfd_set_gp_value _bfd_default_error_handler bfd_set_error /home/jingyu/projects/gcc/android-toolchainsrc/build/../binutils/binutils-2.19/bfd/bfdio.c bfd_stat /home/jingyu/projects/gcc/android-toolchainsrc/build/../binutils/binutils-2.19/bfd/cache.c r+ w+ reopening %B: %s p @ bfd_cache_lookup_worker coff %s %s [%3ld] File endndx %ld %s : %4d : %-5s %s %s %s %B: bad string table size %lu .debug strange .file (sec %2d)(fl 0x%02x)(ty %3x)(scl %3d) (nx %d) 0x AUX scnlen 0x%lx nreloc %d nlnno %d checksum 0x%lx assoc %d comdat %d AUX tagndx %ld ttlsiz 0x%lx lnnos %ld next %ld AUX lnno %d size 0x%x tagndx %ld /home/jingyu/projects/gcc/android-toolchainsrc/build/../binutils/binutils-2.19/bfd/coffgen.c coff_fix_symbol_name invalid core object Deprecated %s called at %s line %d in %s %B: compiled for a big endian system and target is little endian %B: compiled for a little endian system and target is big endian /home/jingyu/projects/gcc/android-toolchainsrc/build/../binutils/binutils-2.19/bfd/libbfd.c Deprecated %s called _bfd_generic_get_section_contents_in_window bfd_get_bits bfd_put_bits .gnu_debuglink /home/jingyu/projects/gcc/android-toolchainsrc/build/../binutils/binutils-2.19/bfd/opncls.c 0 w,a Q m jp5 c d 2 y +L | ~ - d jHq A } mQ V l kdz b e O\ l cc= n;^ iL A` rqg jm Zjz ' }D h i]Wb ge q6l knv + Zz J go C ` ~ 8R O g gW ?K6 H + L J 6`z A ` U g n1y iF a f o%6 hR w G "/& U ; ( Z + j \ 1 , [ d & c ju m ?6 g r W J z + {8 |! B hn [& w owG Z pj ; f\ e i b kaE l x T N 9a&g ` MGiI wn>Jj Z f @ ; 7S  G 0 0 S $ 6 )W T g #.zf Ja h] +o*7 Z - 0 P P bfd_fdopenr /home/jingyu/projects/gcc/android-toolchainsrc/build/../binutils/binutils-2.19/bfd/reloc.c BFD_RELOC_SPARC_GOTDATA_OP_HIX22 BFD_RELOC_SPARC_GOTDATA_OP_LOX10 BFD_RELOC_MIPS_TLS_DTPREL_HI16 BFD_RELOC_MIPS_TLS_DTPREL_LO16 BFD_RELOC_FRV_FUNCDESC_GOTOFF12 BFD_RELOC_FRV_FUNCDESC_GOTOFFHI BFD_RELOC_FRV_FUNCDESC_GOTOFFLO BFD_RELOC_X86_64_GOTPC32_TLSDESC BFD_RELOC_PPC64_PLTGOT16_LO_DS BFD_RELOC_PPC64_TPREL16_HIGHER BFD_RELOC_PPC64_TPREL16_HIGHERA BFD_RELOC_PPC64_TPREL16_HIGHEST BFD_RELOC_PPC64_TPREL16_HIGHESTA BFD_RELOC_PPC64_DTPREL16_LO_DS BFD_RELOC_PPC64_DTPREL16_HIGHER BFD_RELOC_PPC64_DTPREL16_HIGHERA BFD_RELOC_PPC64_DTPREL16_HIGHEST BFD_RELOC_PPC64_DTPREL16_HIGHESTA BFD_RELOC_THUMB_PCREL_BRANCH12 BFD_RELOC_THUMB_PCREL_BRANCH20 BFD_RELOC_THUMB_PCREL_BRANCH23 BFD_RELOC_THUMB_PCREL_BRANCH25 BFD_RELOC_ARM_THUMB_MOVW_PCREL BFD_RELOC_ARM_THUMB_MOVT_PCREL BFD_RELOC_ARM_T32_CP_OFF_IMM_S2 BFD_RELOC_SH_IMM_MEDLOW16_PCREL BFD_RELOC_SH_IMM_MEDHI16_PCREL BFD_RELOC_BFIN_12_PCREL_JUMP_S BFD_RELOC_BFIN_24_PCREL_CALL_X BFD_RELOC_BFIN_24_PCREL_JUMP_L BFD_RELOC_BFIN_FUNCDESC_GOT17M4 BFD_RELOC_BFIN_FUNCDESC_GOTOFF17M4 BFD_RELOC_BFIN_FUNCDESC_GOTOFFHI BFD_RELOC_BFIN_FUNCDESC_GOTOFFLO BFD_RELOC_V850_SDA_16_16_OFFSET BFD_RELOC_V850_SDA_15_16_OFFSET BFD_RELOC_V850_ZDA_16_16_OFFSET BFD_RELOC_V850_ZDA_15_16_OFFSET BFD_RELOC_V850_TDA_16_16_OFFSET BFD_RELOC_V850_SDA_16_16_SPLIT_OFFSET BFD_RELOC_V850_ZDA_16_16_SPLIT_OFFSET BFD_RELOC_V850_CALLT_6_7_OFFSET BFD_RELOC_V850_CALLT_16_16_OFFSET BFD_RELOC_V850_LO16_SPLIT_OFFSET BFD_RELOC_MCORE_PCREL_IMM11BY2 BFD_RELOC_MCORE_PCREL_JSR_IMM11BY2 BFD_RELOC_MMIX_PUSHJ_STUBBABLE BFD_RELOC_MMIX_BASE_PLUS_OFFSET BFD_RELOC_IA64_LTOFF_FPTR32MSB BFD_RELOC_IA64_LTOFF_FPTR32LSB BFD_RELOC_IA64_LTOFF_FPTR64MSB BFD_RELOC_IA64_LTOFF_FPTR64LSB BFD_RELOC_MSP430_16_PCREL_BYTE @@overflow: BFD_RELOC_UNUSED@@ d d d d C X s 5 ] F bfd_generic_get_relocated_section_contents M _ l y * > U l / F ] s 4 K ` u 1 @ O a s * ? V k D h 1 L c z % = U m  # 7 P f + H f ( E b  ! 4 H ] q * F b y % @ V l " = U p & = R i 7 P i | 6 M c { * @ W s ( > Q d z & C ` } . I d | + I d z * E ` x " : O g | & @ Z v : O i 1 J a } , . E a ~ ; X u ( < N h % = W q - F a | - G ` y - J c  P % 7 L b { & ; U r 7 T q p < 4 X | X k z 5 N i  1 J @ c { ( @ X s $ < T l / J b } ' @ X p 9 Q c u ` 3 M i + > R i % : T n ! 7 I _ u 5 Q j 6 O k & ? X n 1 E Y p ! ! 3! K! b! y! ! ! ! ! ! " " 4" K" a" y" " " " " " # %# C# @ d a# {# # # # # # # $ &$ ;$ O$ c$ z$ $ $ $ $ $ $ % % 2% G% ^% s% % % % % % % & $& <& V& h& & & & & & & ' ' *' B' Z' l' ' ' ' ' ' ' ( "( ;( O( g( ( ( ( ( ( ) ) 3) O) g) ) ) ) ) ) * "* , @* ^* L t |* * * * * * + $+ =+ Q+ k+ + + + + + + , , 2, P, n, $ , , , , , , , - ,- D- X- l- - - - - - - . . 3. M. a. w. . . . . . / / 3/ J/ a/ H x/ / / / / / / 0 h $0 90 O0 f0 z0 0 0 0 0 0 1 1 :1 S1 l1 1 1 1 1 1 2 !2 32 C2 X2 i2 }2 2 2 2 2 2 2 3 '3 >3 T3 k3 3 3 3 3 3 3 4 4 24 J4 a4 x4 4 4 4 4 4 5 5 :5 T5 l5 5 5 5 5 5 5 6 (6 A6 Z6 r6 6 6 6 6 6 6 7 "7 97 O7 h7 ~7 7 7 7 7 7 8 8 58 L8 c8 z8 8 8 8 8 8 9 9 79 L9 a9 v9 9 9 9 9 9 : : 9: S: m: : : : : : ; ; 3; L; e; ~; ; ; ; ; ; < &< @< Z< t< < < < < < = 3= N= i= = = = = = = > /> G> _> v> > > > > > > ? /? I? f? ? ? ? ? ? @ @ 9@ T@ o@ @ @ @ @ @ A A 1A FA [A oA A A A A A A B B 1B FB ]B rB B B B B B B C !C 7C KC aC uC C C C C C C D D 3D GD ]D qD D D D D D D E E 3E KE cE |E E E E E E F F ,F AF VF kF F F F F F F G G 3G KG ^G qG G G G G G G H H 4H HH [H oH H H H H H H I I 7I QI iI I I I I I J J 2J JJ `J vJ J J J J J K $K  [relocatable executable] [has entry point]  variable-size 32-bit $a __bx_r%d /usr/lib/ld.so.1 unnamed __%s_veneer %x:%x elf32-bigarm elf32-bigarm-vxworks elf32-littlearm-vxworks elf32-bigarm-symbian elf32-littlearm-symbian aeabi .ARM.attributes $t $d R_ARM_NONE R_ARM_PC24 R_ARM_ABS32 R_ARM_REL32 R_ARM_LDR_PC_G0 R_ARM_ABS16 R_ARM_ABS12 R_ARM_THM_ABS5 R_ARM_ABS8 R_ARM_SBREL32 R_ARM_THM_CALL R_ARM_THM_PC8 R_ARM_BREL_ADJ R_ARM_SWI24 R_ARM_SWI8 R_ARM_XPC25 R_ARM_THM_XPC22 R_ARM_TLS_DTPMOD32 R_ARM_TLS_DTPOFF32 R_ARM_TLS_TPOFF32 R_ARM_COPY R_ARM_GLOB_DAT R_ARM_JUMP_SLOT R_ARM_RELATIVE R_ARM_GOTOFF32 R_ARM_GOTPC R_ARM_GOT32 R_ARM_PLT32 R_ARM_CALL R_ARM_JUMP24 R_ARM_THM_JUMP24 R_ARM_BASE_ABS R_ARM_ALU_PCREL_7_0 R_ARM_ALU_PCREL_15_8 R_ARM_ALU_PCREL_23_15 R_ARM_LDR_SBREL_11_0 R_ARM_ALU_SBREL_19_12 R_ARM_ALU_SBREL_27_20 R_ARM_TARGET1 R_ARM_ROSEGREL32 R_ARM_V4BX R_ARM_TARGET2 R_ARM_PREL31 R_ARM_MOVW_ABS_NC R_ARM_MOVT_ABS R_ARM_MOVW_PREL_NC R_ARM_MOVT_PREL R_ARM_THM_MOVW_ABS_NC R_ARM_THM_MOVT_ABS R_ARM_THM_MOVW_PREL_NC R_ARM_THM_MOVT_PREL R_ARM_THM_JUMP19 R_ARM_THM_JUMP6 R_ARM_THM_ALU_PREL_11_0 R_ARM_THM_PC12 R_ARM_ABS32_NOI R_ARM_REL32_NOI R_ARM_ALU_PC_G0_NC R_ARM_ALU_PC_G0 R_ARM_ALU_PC_G1_NC R_ARM_ALU_PC_G1 R_ARM_ALU_PC_G2 R_ARM_LDR_PC_G1 R_ARM_LDR_PC_G2 R_ARM_LDRS_PC_G0 R_ARM_LDRS_PC_G1 R_ARM_LDRS_PC_G2 R_ARM_LDC_PC_G0 R_ARM_LDC_PC_G1 R_ARM_LDC_PC_G2 R_ARM_ALU_SB_G0_NC R_ARM_ALU_SB_G0 R_ARM_ALU_SB_G1_NC R_ARM_ALU_SB_G1 R_ARM_ALU_SB_G2 R_ARM_LDR_SB_G0 R_ARM_LDR_SB_G1 R_ARM_LDR_SB_G2 R_ARM_LDRS_SB_G0 R_ARM_LDRS_SB_G1 R_ARM_LDRS_SB_G2 R_ARM_LDC_SB_G0 R_ARM_LDC_SB_G1 R_ARM_LDC_SB_G2 R_ARM_MOVW_BREL_NC R_ARM_MOVT_BREL R_ARM_MOVW_BREL R_ARM_THM_MOVW_BREL_NC R_ARM_THM_MOVT_BREL R_ARM_THM_MOVW_BREL R_ARM_PLT32_ABS R_ARM_GOT_ABS R_ARM_GOT_PREL R_ARM_GOT_BREL12 R_ARM_GOTOFF12 R_ARM_GNU_VTENTRY R_ARM_GNU_VTINHERIT R_ARM_THM_JUMP11 R_ARM_THM_JUMP8 R_ARM_TLS_GD32 R_ARM_TLS_LDM32 R_ARM_TLS_LDO32 R_ARM_TLS_IE32 R_ARM_TLS_LE32 R_ARM_TLS_LDO12 R_ARM_TLS_LE12 R_ARM_TLS_IE12GP R_ARM_RREL32 R_ARM_RABS32 R_ARM_RPC24 R_ARM_RBASE .init_array .fini_array .preinit_array Warning: Not setting interworking flag of %B since it has already been specified as non-interworking Warning: Clearing the interworking flag of %B due to outside request %B: warning: selected VFP11 erratum workaround is not necessary for target architecture /home/jingyu/projects/gcc/android-toolchainsrc/build/../binutils/binutils-2.19/bfd/elf32-arm.c %B: error: VFP11 veneer out of range %B: error: Cortex-A8 erratum stub is allocated in unsafe location %B: error: Cortex-A8 erratum stub out of range (input file too large) %B: unable to find VFP11 veneer `%s' unable to find ARM glue '%s' for '%s' %B(%s): warning: interworking not enabled. first occurrence: %B: arm call to thumb unable to find THUMB glue '%s' for '%s' Invalid TARGET2 relocation type '%s'. %B: Warning: Arm BLX instruction targets Arm function '%s'. %B: Warning: Thumb BLX instruction targets thumb function '%s'. %B(%s): warning: interworking not enabled. first occurrence: %B: thumb call to arm %B(%A+0x%lx): R_ARM_TLS_LE32 relocation not permitted in shared object %B(%A+0x%lx): Overflow whilst splitting 0x%lx for group relocation %s %B(%A+0x%lx): Only ADD or SUB instructions are allowed for ALU group relocations %B(%A+0x%lx): %s relocation against SEC_MERGE section %B(%A+0x%lx): %s used with TLS symbol %s %B(%A+0x%lx): %s used with non-TLS symbol %s %B(%A+0x%lx): unresolvable %s relocation against symbol `%s' dynamic variable `%s' is zero size [floats passed in float registers] [dynamic symbols use segment index] [mapping symbols precede others] Warning: Clearing the interworking flag of %B because non-interworking code in %B has been linked with it ERROR: %B uses VFP register arguments, %B does not ERROR: %B: Conflicting architecture profiles %c/%c Warning: %B: Conflicting platform configuration ERROR: %B: Conflicting use of R9 ERROR: %B: SB relative addressing conflicts with use of R9 warning: %B uses %u-byte wchar_t yet the output is to use %u-byte wchar_t; use of wchar_t values across objects may fail warning: %B uses %s enums yet the output is to use %s enums; use of enum values across objects may fail ERROR: %B uses iWMMXt register arguments, %B does not Warning: %B: Unknown EABI object attribute %d ERROR: %B is already in final BE8 format ERROR: Source object %B has EABI version %d, but target %B has EABI version %d ERROR: %B is compiled for APCS-%d, whereas target %B uses APCS-%d ERROR: %B passes floats in float registers, whereas %B passes them in integer registers ERROR: %B passes floats in integer registers, whereas %B passes them in float registers ERROR: %B uses VFP instructions, whereas %B does not ERROR: %B uses FPA instructions, whereas %B does not ERROR: %B uses Maverick instructions, whereas %B does not ERROR: %B does not use Maverick instructions, whereas %B does ERROR: %B uses software FP, whereas %B uses hardware FP ERROR: %B uses hardware FP, whereas %B uses software FP Warning: %B supports interworking, whereas %B does not Warning: %B does not support interworking, whereas %B does %B: BE8 images only valid in big-endian mode. %B(%s): warning: interworking not enabled. first occurrence: %B: Thumb call to ARM %B(%s): warning: interworking not enabled. first occurrence: %B: ARM call to Thumb %s: cannot create stub entry %s ; ; ; ; 7 7 7 7 2I /E /E /E CH H H Q@ H 8 DB 8 8 8 8 /E DB 8 8 8 8 8 8 8 E %@ @ /E /E /E DB 8 < < < 8 8 8 8 8 ; 8 /E : : : : 9 9 9 9 8> k= V< G /E /E A A A A A CH CH ? ? ? A A A A A A A A CH CH CH ? ? ? A A A : : : 9 9 9 8 8 8 8 8 8 @ 8 8 8 9 9 k= k= F 9 I F 8 3< M L L 3< 3< H 3< 3< 3< 3< 3< 3< 3< 3< M 3< 3< 3< 3< 3< 3< 3< 3< 3< 3< 3< M M M 3< 3< 3< 3< 3< 3< 3< 3< 3< 3< 3< 3< DL 3< 3< 3< 3< 3< 3< 3< 3< 3< 3< 3< 3< 6L L n p p n rp n 3p n _ _ P Z c W @ k k k 4 ( 0 p @ 0 5v ? / P 0 P 0 @f @ b pZ 0 s 0 0 p? @ p ~ P~ d h ` P Pe ! " `; @; # 4 p 9 / / ! " 0 ; `8 p! ` 0 F 0J E % @+ " $ * ) ( ? / ` ` 0 ` ` 0 @f @ b pZ 0 s 0 0 p? @ p ~ P~ d h ` P Pe ! " `; @; # 4 p 9 / / ! " 0 ; `8 p! ` 0 F 0J E % @+ " $ * ) @ ( Bv ? / P 0 P 0 @f @ b pZ 0 s 0 0 p? @ p ~ P~ d h ` P Pe ! " `; @; # 4 p 9 / / ! " 0 ; `8 p! ` 0 0 F 0J E % @+ " $ * ) ' Wv ? / ` ` 0 ` ` 0 @f @ b pZ 0 s 0 0 p? @ p ~ P~ d h ` P Pe ! " `; @; # 4 p 9 / / ! " 0 ; `8 p! ` 0 0 F 0J E % @+ " $ * ) ' ov ? / P 0 P 0 @f @ b pZ 0 s 0 0 p? @ p ~ P~ d h ` P Pe ! " `; @; # 4 p 9 / / ! " 0 ; `8 p! ` 0 F 0J E % @+ " $ * ) ` * v ? / ` ` 0 ` ` 0 @f @ b pZ 0 s 0 0 p? @ p ~ P~ d h ` P Pe ! " `; @; # 4 p 9 / / ! " 0 ; `8 p! ` 0 F 0J E % @+ " $ * ) * elf32_arm_write_section u v v v v v v v v w w w (w 6w Ew Sw bw nw yw w w w w w w w w x x !x -x 9x Dx Qx / / bx qx ! x " x # x $ x % x & x ' x ( y ) y * )y   + 6y , Hy - Wy . jy / zy p p 0 y p p 1 y p p 2 y p p 3 y /? /? 4 y 5 y 6 z 7 z 8 &z 9 6z : Iz ; Yz < lz = |z > z ? z @ z A z B z C z D z E z F { G "{ H 2{ I E{ J U{ K e{ L u{ M { N { O { P { Q { R { S { T { U | V | W +| p p X B| p p Y V| p p Z [ \ ] ^ j| _ z| ` | a | b | c d p$ | e | f | g | h | i } j } k -} l <} m K} n [} o j} {} } } } elf32_arm_final_link_relocate allocate_dynrelocs create_got_section elf32_arm_create_dynamic_sections 7 f 3 g 4 ` & ' * ) h j i k l  e d + , - . / 0 1 2 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S ( elf32_arm_merge_eabi_attributes bfd_elf32_arm_vfp11_fix_veneer_locations bfd_elf32_arm_vfp11_erratum_scan bfd_arm_vfp11_insn_decode record_vfp11_erratum_veneer bfd_elf32_arm_process_before_allocation @ ` / H F `G xG F / xG F xG F / xG F / / xG F H F D `G r s s ss D } } }  /home/jingyu/projects/gcc/android-toolchainsrc/build/../binutils/binutils-2.19/bfd/elfcode.h %s(%s): relocation %d has invalid symbol index %ld %s: version count (%ld) does not match symbol count (%ld) warning: %s has a corrupt string table index - ignoring Warning: %B is truncated: expected core file size >= %lu, found: %lu. > 5 } % > 4 ( 0 p @ 0 bfd_elf32_write_relocs bfd_elf32_swap_symbol_out .tls_data .rel.plt.unloaded .rela.plt.unloaded __GOTT_BASE__ __GOTT_INDEX__ ' K o y RELRO LINUX .reg2 .reg-xfp .reg-ppc-vmx .reg-ppc-vsx %s/%d %s/%ld NetBSD-CORE .note.netbsdcore.procinfo QNX .qnx_core_info .qnx_core_status/%ld .qnx_core_status SPU/ win32 .reg/%ld .module/%08lx .auxv GNU %s%d%s null load shlib relro proc  .symtab .strtab .shstrtab .symtab_shndx .gnu.libstr LOPROC+%7.7x LOOS+%7.7x %8.8x *unknown* elf %lx (*none*) %s Base %-11s .internal .hidden .protected 0x%02x Program Header: 0x%lx %8s off 0x vaddr 0x paddr 0x align 2**%u filesz 0x memsz 0x flags %c%c%c Dynamic Section: GNU_HASH PLTRELSZ PLTGOT RELASZ RELAENT STRSZ SYMENT INIT FINI SONAME RPATH SYMBOLIC RELENT DEBUG TEXTREL JMPREL BIND_NOW FINI_ARRAY FINI_ARRAYSZ RUNPATH PREINIT_ARRAY PREINIT_ARRAYSZ CHECKSUM PLTPADSZ MOVEENT MOVESZ FEATURE POSFLAG_1 SYMINSZ SYMINENT CONFIG DEPAUDIT PLTPAD MOVETAB SYMINFO RELACOUNT RELCOUNT FLAGS_1 VERSYM VERDEF VERDEFNUM VERNEED VERNEEDNUM AUXILIARY USED %-20s Version definitions:  %d 0x%2.2x 0x%8.8lx %s Version References: required from %s: FILTER (null) %B: invalid SHT_GROUP entry .gnu.linkonce SHT_NULL SHT_PROGBITS SHT_SYMTAB SHT_STRTAB SHT_RELA SHT_HASH SHT_DYNAMIC SHT_NOTE SHT_NOBITS SHT_REL SHT_SHLIB SHT_DYNSYM LARGE_COMMON zdebug .comment .data1 .debug_aranges .gnu.linkonce.b .gnu.liblist .gnu.conflict .gnu.hash .line .note.GNU-stack .rodata1 .tbss .tdata .zdebug_aranges %B: unsupported relocation type %s %B: symbol `%s' required but not present /home/jingyu/projects/gcc/android-toolchainsrc/build/../binutils/binutils-2.19/bfd/elf.c %B symbol number %lu references nonexistent SHT_SYMTAB_SHNDX section %B: warning: Empty loadable segment detected, is this intentional ? warning: section `%A' type changed to PROGBITS Unable to find equivalent output section for symbol '%s' from section '%s' %B: sh_link of section `%A' points to discarded section `%A' of `%B' %B: sh_link of section `%A' points to removed section `%A' of `%B' %B: warning: sh_link not set for section `%A' %B: The first section in the PT_DYNAMIC segment is not the .dynamic section %B: Not enough room for program headers, try linking with -N %B: section %A vma 0x%lx overlaps previous sections %B: section `%A' can't be allocated in segment %d %B: warning: allocated section `%s' not in segment %B: invalid string offset %u >= %lu for section `%s' 0x%8.8lx 0x%2.2x %2.2d %s %B: sh_link [%d] in section `%A' is incorrect %B: unknown [%d] section `%s' in group [%s] %B: Corrupt size field in group section header: 0x%lx %B: no group info for section %A %B: invalid link %lu for reloc section %s (index %u) %B: don't know how to handle allocated, application specific section `%s' [0x%8x] %B: don't know how to handle processor specific section `%s' [0x%8x] %B: don't know how to handle OS specific section `%s' [0x%8x] %B: don't know how to handle section `%s' [0x%8x] u3 3 3 3 i3 3 3 3 _3 3 3 3 3 3 3 3 I3 3 3 3 3 3 3 3 U3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 2 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 i z X ? g p } _bfd_elf_no_info_to_howto get_program_header_size _bfd_elf_get_lineno rewrite_elf_program_header assign_file_positions_for_non_load_sections bfd_elf_set_group_contents @ ` ` @ }H p K bfd_elf_get_elf_syms s WF O Mq p }q r s s W } ss 's o 4s o Vs o % o 2 @ o D W } \ J P " } Qs T ` s + # @W ]F i o @q p nq v .gcc_except_table .gnu.linkonce. .end 0- ~ % ^ _GLOBAL_OFFSET_TABLE_ _PROCEDURE_LINKAGE_TABLE_ %s: undefined version: %s .gnu.attributes .tcommon undefined %s reference in complex symbol: %s %P%X: can not read symbols: %E /home/jingyu/projects/gcc/android-toolchainsrc/build/../binutils/binutils-2.19/bfd/elflink.c %B: ignoring duplicate section `%A' %B: duplicate section `%A' has different size %B: warning: could not read contents of section `%A' %B: warning: duplicate section `%A' has different contents %B: %A+%lu: No symbol found for INHERIT %B: Too many sections: %d (>= %d) %B: relocation size mismatch in %B section %A unknown operator '%c' in complex symbol %B: bad reloc symbol index (0x%lx >= 0x%lx) for offset 0x%lx in section `%A' %B: %s symbol `%s' in %B is referenced by DSO %B: could not find output section %A for input section %A %B: %s symbol `%s' isn't defined %B: .preinit_array section is not allowed in DSO warning: type and size of dynamic symbol `%s' are not defined %B: version node not found for symbol %s %s: TLS definition in %B section %A mismatches non-TLS definition in %B section %A %s: TLS reference in %B mismatches non-TLS reference in %B %s: TLS definition in %B section %A mismatches non-TLS reference in %B %s: TLS reference in %B mismatches non-TLS definition in %B section %A %B: unexpected redefinition of indirect versioned symbol `%s' Warning: gc-sections option ignored Removing unused section '%s' in file '%B' %A has both ordered [`%A' in %B] and unordered [`%A' in %B] sections %A has both ordered and unordered sections error: %B contains a reloc (0x%s) for section %A that references a non-existent global symbol %X`%s' referenced in section `%A' of %B: defined in discarded section `%A' of %B %B: Unable to sort relocs - they are in more than one size %B: Unable to sort relocs - they are of an unknown size Not enough memory to sort relocations %B: could not find output section %s warning: %s section has zero size %P: warning: creating a DT_TEXTREL in a shared object. %B: %s: invalid version %u (max %d) %B: %s: invalid needed version %d Warning: alignment %u of common symbol `%s' in %B is greater than the alignment (%u) of its section %A Warning: alignment %u of symbol `%s' in %B is smaller than %u in %B Warning: size of symbol `%s' changed from %lu in %B to %lu in %B Warning: type of symbol `%s' changed from %d to %d in %B %s: invalid DSO for symbol `%s' definition 1 &4 &4 4 4 2 5 (7 (7 48 48 8 p5 -{ x} x} d} d} M} \ \ \ b F _bfd_elf_section_already_linked elf_reloc_link_order elf_link_adjust_relocs elf_link_output_extsym elf_link_check_versioned_symbol get_value put_value bfd_elf_size_dynsym_hash_dynstr % C a @ elf_link_add_object_symbols _bfd_elf_link_output_relocs bfd_elf_record_link_assignment /home/jingyu/projects/gcc/android-toolchainsrc/build/../binutils/binutils-2.19/bfd/elf-attrs.c ERROR: %B: Must be processed by '%s' toolchain ERROR: %B: Incompatible object tag '%s':%d _bfd_elf_parse_attributes _bfd_elf_obj_attrs_arg_type _bfd_elf_copy_obj_attributes bfd_elf_set_obj_attr_contents /home/jingyu/projects/gcc/android-toolchainsrc/build/../binutils/binutils-2.19/bfd/elf-strtab.c % & {& _& % 7& '& '& '& 7& % % 7& '& '& & % 7& 7& '& 7& 7& % % % % % % % % % % % % % % % % % % % % % % % % '& 7& % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % '& % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % _bfd_elf_write_section_eh_frame eh /home/jingyu/projects/gcc/android-toolchainsrc/build/../binutils/binutils-2.19/bfd/elf-eh-frame.c %P: fde encoding in %B(%A) prevents .eh_frame_hdr table being created. %P: error in %B(%A); no .eh_frame_hdr table will be created. N EO .O O O O .O N N %B: Relocations in generic ELF (EM: %d) UNKNOWN u ? / P 0 P 0 @f @Z b pZ 0 s 2 `| @ p? @ p ~ P~ d h ` P Pe ! " `; @; # 4 p9 9 8 / / ! " ; `8 p! ` PV P T F e 0J E % @+ " $ * ) @, u ? / ` ` 0 ` ` 0 @f @Z b pZ 0 s 2 `| @ p? @ p ~ P~ d h ` P Pe ! " `; @; # 4 p9 9 8 / / ! " ; `8 p! ` PV P T F e 0J E % @+ " $ * ) ` @, < arch: iWMMXt iWMMXt2 armv2 armv2a armv3 armv3M armv4 armv4t armv5 armv5t armv5te XScale ep9312 arm2 arm250 arm3 arm6 arm60 arm600 arm610 arm7 arm710 arm7500 arm7d arm7di arm7dm arm7dmi arm7tdmi arm8 arm810 arm9 arm920 arm920t arm9tdmi sa1 strongarm strongarm110 strongarm1100 xscale iwmmxt iwmmxt2 armv3m warning: unable to update contents of %s section in %s ERROR: %B is compiled for the EP9312, whereas %B is compiled for XScale X Y Y Y Y Y Y Y Y Y Y ~Y rY hY ! r r pU 0V 4 9 @ E J P W ^ c j r x  - & - ! r pU 0V ! r pU 0V ! r pU 0V 0 ! r pU 0V ` ! r pU 0V ! r pU 0V ! r pU 0V ! r pU 0V ! r pU 0V P ! r pU 0V ! r - pU 0V ! r pU 0V ! r pU 0V /home/jingyu/projects/gcc/android-toolchainsrc/build/../binutils/binutils-2.19/bfd/stabs.c %B(%A+0x%lx): Stabs entry has invalid string index. %s: access beyond end of merged section (%ld) /home/jingyu/projects/gcc/android-toolchainsrc/build/../binutils/binutils-2.19/bfd/merge.c _bfd_merged_section_offset _bfd_add_merge_section T%d const volatile const __restrict const volatile __restrict __ct __dt assign_ operator operator _imp__ __imp_ _GLOBAL_ __std__ __sti__ __vtbl__ :: virtual table global constructors keyed to global destructors keyed to import stub for _ada_ ___ <%s> false true JArray1Z [ unsigned __complex void bool wchar_t long double float int%u_t ... -2147483648 __pt__ __tm__ __ps__ __S {anonymous} template < > class 0123456789Qt __thunk_ __t type_info node type_info function static Demangling disabled auto GNU (g++) style demangling lucid Lucid (lcc) style demangling ARM style demangling hp HP (aCC) style demangling edg EDG style demangling gnu-v3 java Java style demangling gnat GNAT style demangling nw new dl delete vn new [] vd delete [] as eq gt plus apl minus ami mult amu aml convert negate trunc_mod amd %= trunc_div adv truth_andif aa truth_orif oo truth_not postincrement pp postdecrement -- mm bit_ior aor bit_xor aer ^= bit_and aad bit_not co cl alshift arshift component -> rf indirect method_call ->() addr vc compound cm cond ?: cn max >? min * sz sizeof % , 3 : A H f ^ & ^ ^ ^ ^ ^ ^ ^ ^ ` ^ ^ ^ & ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ` ^ ^ ^ ^ & R w w w w w w w w w w w w w w w w w w w O O \ @ w E s + + + W W W W W W W W S W W f W W W W W W W W W W W W W W W W W W R W W W W W W W W W W W W W W W W W W W W qI @ T < ?Y Y t z r @ d " ' * # " + * 2 5 = @ K M N K Q > * Ss T =u Z =u Y s ] d c v g Y q Y l y p y t =u | o o | Sx r Sx  H  * fI Ss v y d q Y M TF r Sx # s Z =u