Opened 6 years ago

Closed 5 years ago

Last modified 5 years ago

#14842 closed bug (fixed)

Error building bootstraping libicuio while cross-compiling ARM on Ubuntu 18.04

Reported by: pemdp Owned by: bonefish
Priority: normal Milestone: R1/beta2
Component: Build System Version: R1/Development
Keywords: Cc:
Blocked By: Blocking:
Platform: arm

Description

Problem

I am unable to set up a cross-compiling environment for the ARM port on Ubuntu 18.04. The build fails while compiling libicuio with the following error:

/haiku/generated.arm/cross-tools-arm/lib/gcc/arm-unknown-haiku/7.3.0/../../../../arm-unknown-haiku/bin/ld: /home/pedro/haiku/haiku/generated.arm/cross-tools-arm/lib/gcc/arm-unknown-haiku/7.3.0/../../../../arm-unknown-haiku/lib/libstdc++.a(istream-inst.o): relocation R_ARM_REL32 against external or undefined symbol `_ZTIN10__cxxabiv115__forced_unwindE' can not be used when making a shared object; recompile with -fPIC

For further details, please check the full log in attach.

Steps

To reproduce the error checkout the master branch and perform the following steps:

mkdir generated.arm
cd generated.arm/
../configure -j4 --build-cross-tools arm ../../buildtools --bootstrap ../../haikuporter/haikuporter ../../haikuports.cross ../../haikuports
jam -q @bootstrap-raw

Operating System

Linux Ubuntu 18.04.1 LTS

Machine

Dell XPS 9360

Attachments (2)

output.log.tar.gz (727.4 KB ) - added by pemdp 6 years ago.
Full log
build.bootstrap.txt.gz (1.7 MB ) - added by adamfowleruk 6 years ago.
Run of commands as-is on a fresh docker image for bootstrap

Change History (49)

by pemdp, 6 years ago

Attachment: output.log.tar.gz added

Full log

comment:1 by kallisti5, 6 years ago

Yeah, definitely a known issue that has been happening since our switch to gcc7.

comment:2 by kallisti5, 6 years ago

Doesn't fix it:

diff --git a/gcc/gcc/config/arm/t-haiku b/gcc/gcc/config/arm/t-haiku
index 3f7f488fe..00ffe9fbd 100644
--- a/gcc/gcc/config/arm/t-haiku
+++ b/gcc/gcc/config/arm/t-haiku
@@ -5,6 +5,7 @@
 #LIB1ASMSRC = arm/lib1funcs.asm
 #LIB1ASMFUNCS = _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_tls _call_via_rX _interwork_call_via_rX
 
+EXTRA_HEADERS += $(srcdir)/ginclude/unwind-arm-common.h
 
 #MULTILIB_OPTIONS    += mhard-float
 #MULTILIB_DIRNAMES   += fpu

comment:3 by kallisti5, 6 years ago

adding the following to gcc's configure flags doesn't fix it:

--disable-libunwind-exceptions

comment:4 by kallisti5, 6 years ago

Finally, a slightly different response from this change to ICU:

diff --git a/source/config/mh-haiku b/source/config/mh-haiku
index 55a3ed2..18503ae 100644
--- a/source/config/mh-haiku
+++ b/source/config/mh-haiku
@@ -9,14 +9,17 @@ GEN_DEPS.c=  $(CC) -E -MM $(DEFS) $(CPPFLAGS)
 GEN_DEPS.cc= $(CXX) -E -MM $(DEFS) $(CPPFLAGS)
 
 ## Flags for position independent code
-SHAREDLIBCFLAGS = -fPIC
-SHAREDLIBCXXFLAGS = -fPIC
+SHAREDLIBCFLAGS = -fPIC -fno-PIE
+SHAREDLIBCXXFLAGS = -fPIC -fno-PIE
 SHAREDLIBCPPFLAGS = -DPIC
 
 ## Additional flags when building libraries and with threads
 LIBCPPFLAGS =
 THREADSCPPFLAGS =
 
+## These are the library specific LDFLAGS
+LDFLAGSICUDT=-nodefaultlibs -nostdlib
+
 #
 CPPFLAGS += -DU_CHARSET_IS_UTF8=1

Result:

arm-unknown-haiku-g++ -O2 -W -Wall -pedantic -Wpointer-arith -Wwrite-strings -Wno-long-long --std=c++0x      -shared  -Wl,-soname -Wl,libicuuc.so.57 -o ../lib/libicuuc.so.57.1 errorcode.o putil.o umath.o utypes.o uinvchar.o umutex.o ucln_cmn.o uinit.o uobject.o cmemory.o charstr.o cstr.o udata.o ucmndata.o udatamem.o umapfile.o udataswp.o ucol_swp.o utrace.o uhash.o uhash_us.o uenum.o ustrenum.o uvector.o ustack.o uvectr32.o uvectr64.o ucnv.o ucnv_bld.o ucnv_cnv.o ucnv_io.o ucnv_cb.o ucnv_err.o ucnvlat1.o ucnv_u7.o ucnv_u8.o ucnv_u16.o ucnv_u32.o ucnvscsu.o ucnvbocu.o ucnv_ext.o ucnvmbcs.o ucnv2022.o ucnvhz.o ucnv_lmb.o ucnvisci.o ucnvdisp.o ucnv_set.o ucnv_ct.o resource.o uresbund.o ures_cnv.o uresdata.o resbund.o resbund_cnv.o ucurr.o messagepattern.o ucat.o locmap.o uloc.o locid.o locutil.o locavailable.o locdispnames.o locdspnm.o loclikely.o locresdata.o bytestream.o stringpiece.o stringtriebuilder.o bytestriebuilder.o bytestrie.o bytestrieiterator.o ucharstrie.o ucharstriebuilder.o ucharstrieiterator.o dictionarydata.o appendable.o ustr_cnv.o unistr_cnv.o unistr.o unistr_case.o unistr_props.o utf_impl.o ustring.o ustrcase.o ucasemap.o ucasemap_titlecase_brkiter.o cstring.o ustrfmt.o ustrtrns.o ustr_wcs.o utext.o unistr_case_locale.o ustrcase_locale.o unistr_titlecase_brkiter.o ustr_titlecase_brkiter.o normalizer2impl.o normalizer2.o filterednormalizer2.o normlzr.o unorm.o unormcmp.o loadednormalizer2impl.o chariter.o schriter.o uchriter.o uiter.o patternprops.o uchar.o uprops.o ucase.o propname.o ubidi_props.o ubidi.o ubidiwrt.o ubidiln.o ushape.o uscript.o uscript_props.o usc_impl.o unames.o utrie.o utrie2.o utrie2_builder.o bmpset.o unisetspan.o uset_props.o uniset_props.o uniset_closure.o uset.o uniset.o usetiter.o ruleiter.o caniter.o unifilt.o unifunct.o uarrsort.o brkiter.o ubrk.o brkeng.o dictbe.o filteredbrk.o rbbi.o rbbidata.o rbbinode.o rbbirb.o rbbiscan.o rbbisetb.o rbbistbl.o rbbitblb.o serv.o servnotf.o servls.o servlk.o servlkf.o servrbf.o servslkf.o uidna.o usprep.o uts46.o punycode.o util.o util_props.o parsepos.o locbased.o cwchar.o wintz.o dtintrv.o ucnvsel.o propsvec.o ulist.o uloc_tag.o icudataver.o icuplug.o listformatter.o ulistformatter.o sharedobject.o simpleformatter.o unifiedcache.o uloc_keytype.o pluralmap.o -L../lib -L../stubdata -licudata 
/work/generated.arm/cross-tools-arm/lib/gcc/arm-unknown-haiku/7.3.0/../../../../arm-unknown-haiku/bin/ld: errorcode.o: relocation R_ARM_MOVW_ABS_NC against `_ZNK6icu_579ErrorCode13handleFailureEv' can not be used when making a shared object; recompile with -fPIC
errorcode.o: error adding symbols: Bad value
collect2: error: ld returned 1 exit status
make[1]: *** [../lib/libicuuc.so.57.1] Error 1

comment:5 by mmu_man, 6 years ago

I wonder if the first error is just because we actually miss the symbol in our libstdc++… cf. https://github.com/wimvanderbauwhede/OpenCLIntegration/blob/master/libstdcxx-compatibility.cpp

Actually the error looks more like this one.

Last edited 6 years ago by mmu_man (previous) (diff)

comment:6 by pemdp, 6 years ago

Can the issue be related with a missing HarfBuzz dependency required by the layout engine? I believe USING_ICULEHB is set to true.

comment:7 by waddlesplash, 6 years ago

No, this is related to unwind symbols / exceptions and the like, not regular dependencies.

comment:8 by kallisti5, 6 years ago

I've poured over the bootstrap gcc packages... they seem 100% perfect.

(omitted things unrelated to libstdc++, libgcc, unwind, etc)

=================================================
gcc_bootstrap_syslibs_devel:

develop                                  0  2019-02-08 03:50:05  drwxr-xr-x
  lib                                    0  2019-02-08 03:50:05  drwxr-xr-x
    libgcc.a                      25844580  2019-02-08 03:50:03  -rw-r--r--
    libgcc-kernel.a               25841140  2019-02-08 03:50:03  -rw-r--r--
    libgcc_eh.a                      94400  2019-02-08 03:50:03  -rw-r--r--
    libgcc_eh-kernel.a               88336  2019-02-08 03:50:03  -rw-r--r--
    libstdc++.a                   18312560  2019-02-08 03:50:03  -rw-r--r--
    libsupc++.a                    1137638  2019-02-08 03:50:03  -rw-r--r--
    libsupc++-kernel.a              302832  2019-02-08 03:50:03  -rw-r--r--

=================================================
gcc_bootstrap_syslibs:

lib                                      0  2019-02-08 03:50:05  drwxr-xr-x
  libgcc_s.so                            0  2019-02-08 03:50:03  lrwxrwxrwx  -> libgcc_s.so.1
  libgcc_s.so.1                     181968  2019-02-08 03:50:03  -rw-r--r--
  libgcc_eh.a                        94400  2019-02-08 03:50:00  -rw-r--r--

  libstdc++.so                           0  2019-02-08 03:50:03  lrwxrwxrwx  -> libstdc++.so.6.0.24
  libstdc++.so.6                         0  2019-02-08 03:50:03  lrwxrwxrwx  -> libstdc++.so.6.0.24
  libstdc++.so.6.0.24              2011304  2019-02-08 03:50:03  -rwxr-xr-x

  libsupc++.so                           0  2019-02-08 03:50:03  lrwxrwxrwx  -> libstdc++.so


=================================================
gcc_bootstrap:

develop                                  0  2019-02-08 03:50:05  drwxr-xr-x
  tools                                  0  2019-02-08 03:50:05  drwxr-xr-x
    lib                                  0  2019-02-08 03:49:56  drwxr-xr-x
      gcc                                0  2019-02-08 03:49:56  drwxr-xr-x
        arm-unknown-haiku                0  2019-02-08 03:49:56  drwxr-xr-x
          7.3.0                          0  2019-02-08 03:50:04  drwxr-xr-x
            include                      0  2019-02-08 03:50:03  drwxr-xr-x
              unwind-arm-common.h     8196  2019-02-08 03:45:52  -rw-r--r--
              unwind.h                3198  2019-02-08 03:50:00  -rw-r--r--

            libgcc_s.so                  0  2019-02-08 03:50:00  lrwxrwxrwx  -> libgcc_s.so.1
            libgcc.a              25844580  2019-02-08 03:50:00  -rw-r--r--
            libgcc-kernel.a       25841140  2019-02-08 03:50:03  -rw-r--r--

            libstdc++.so.6               0  2019-02-08 03:50:03  lrwxrwxrwx  -> libstdc++.so.6.0.24
            libstdc++.so                 0  2019-02-08 03:50:03  lrwxrwxrwx  -> libstdc++.so.6.0.24
            libstdc++.la              1032  2019-02-08 03:50:03  -rwxr-xr-x
            libstdc++.a           18312560  2019-02-08 03:50:03  -rw-r--r--

            libsupc++.la               970  2019-02-08 03:50:02  -rwxr-xr-x
            libsupc++.a            1137638  2019-02-08 03:50:02  -rw-r--r--
            libsupc++-kernel.a      302832  2019-02-08 03:50:03  -rw-r--r--

comment:9 by pulkomandy, 6 years ago

  • There should be no .la files. They are known to mess up things and should be deleted (this is because libtool still assumes Haiku is some kind of BeOS and tries to hack around bugs we don't have).
  • There should be no .a version of libstdc++/libsupc++. Everything should be in libstdc++.so
  • There should be no libsupc++.so, this is a leftover of a configuration error in Haiku which was fixed. We keep this symlink on x86* for backward compatibility, but on other platforms it is useless.

You really want ICU (and everything, actually) to link to a .so and not a static lib.

comment:10 by kallisti5, 6 years ago

We did some testing, and this is unrelated. The _bootstrap packages aren't leveraged when producing the icu_bootstrap. cross-tools are used.

Removing the libstdc++.a or libstdc++.la from /work/generated.arm/cross-tools-arm/lib/ results in:

checking whether byte ordering is bigendian... no
checking for nl_langinfo... yes
checking for nl_langinfo's argument to obtain the codeset... CODESET
checking for namespace support... no
configure: error: Namespace support is required to build ICU.
Last edited 6 years ago by kallisti5 (previous) (diff)

comment:11 by kallisti5, 6 years ago

ok... PIC is *definitely* the default in our toolchain (as expected)

./arm-unknown-haiku-g++ -dM -E - < /dev/null | grep PIC
#define __PIC__ 2
./arm-unknown-haiku-g++ -fPIC -dM -E - < /dev/null | grep PIC
#define __PIC__ 2
./arm-unknown-haiku-g++ -fpic -dM -E - < /dev/null | grep PIC
#define __PIC__ 1
./arm-unknown-haiku-g++ -fno-pic -dM -E - < /dev/null | grep PIC
(none)

This matches the behaviour in: https://www.remlab.net/op/pic-vs-pic.shtml

As a bonus note, gcc in the bootstrap container also defaults to PIC

g++ -dM -E - < /dev/null | grep PIC
#define __PIC__ 2

So.. the PIC warning's recommendation is *definitely* a false report.

comment:12 by kallisti5, 6 years ago

Here's a -fno-pic vs undefined pic flags:

root@1fbcb1be4cfc:/work/generated.arm/cross-tools-arm/bin# ./arm-unknown-haiku-g++ -fno-pic -Og foobar.cpp -c -o foobar-nopic.o
root@1fbcb1be4cfc:/work/generated.arm/cross-tools-arm/bin# ./arm-unknown-haiku-g++ -Og foobar.cpp -c -o foobar-pic.o
root@1fbcb1be4cfc:/work/generated.arm/cross-tools-arm/bin# ./arm-unknown-haiku-objdump -dr foobar-pic.o

foobar-pic.o:     file format elf32-littlearm


Disassembly of section .text:

00000000 <_Z6foobarv>:
   0:	e59f3020 	ldr	r3, [pc, #32]	; 28 <_Z6foobarv+0x28>
   4:	e08f3003 	add	r3, pc, r3
   8:	e59f201c 	ldr	r2, [pc, #28]	; 2c <_Z6foobarv+0x2c>
   c:	e7932002 	ldr	r2, [r3, r2]
  10:	e5920000 	ldr	r0, [r2]
  14:	e59f2014 	ldr	r2, [pc, #20]	; 30 <_Z6foobarv+0x30>
  18:	e7933002 	ldr	r3, [r3, r2]
  1c:	e5933000 	ldr	r3, [r3]
  20:	e0800003 	add	r0, r0, r3
  24:	e12fff1e 	bx	lr
  28:	0000001c 	.word	0x0000001c
			28: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
	...
			2c: R_ARM_GOT32	foo
			30: R_ARM_GOT32	bar


root@1fbcb1be4cfc:/work/generated.arm/cross-tools-arm/bin# ./arm-unknown-haiku-objdump -dr foobar-nopic.o

foobar-nopic.o:     file format elf32-littlearm


Disassembly of section .text:

00000000 <_Z6foobarv>:
   0:	e3003000 	movw	r3, #0
			0: R_ARM_MOVW_ABS_NC	foo
   4:	e3403000 	movt	r3, #0
			4: R_ARM_MOVT_ABS	foo
   8:	e5930000 	ldr	r0, [r3]
   c:	e3003000 	movw	r3, #0
			c: R_ARM_MOVW_ABS_NC	bar
  10:	e3403000 	movt	r3, #0
			10: R_ARM_MOVT_ABS	bar
  14:	e5933000 	ldr	r3, [r3]
  18:	e0800003 	add	r0, r0, r3
  1c:	e12fff1e 	bx	lr

comment:13 by kallisti5, 6 years ago

So.. PIC has R_ARM_GOTPC.

Extracting our libstdc++.a and looking at each object:

root@1fbcb1be4cfc:/work/generated.arm/cross-tools-arm/arm-unknown-haiku/lib/objc# for i in $(ls *.o); do echo $i; ../../../bin/arm-unknown-haiku-objdump -dr $i | grep GOTPC; done
allocator-inst.o
array_type_info.o
			2c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
atexit_arm.o
atexit_thread.o
			64: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			f0: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
atomicity.o
bad_alloc.o
			2c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
bad_array_length.o
			2c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			3c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
bad_array_new.o
			2c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
bad_cast.o
			2c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
bad_typeid.o
			2c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
basic_file.o
bitmap_allocator.o
			2c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			34: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			2c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			34: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			3c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			3c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			4c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			138: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			23c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			e0: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			470: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			40c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			490: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			490: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			424: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			e0: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			470: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			40c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			49c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			49c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			424: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			158: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
c++locale.o
chrono.o
class_type_info.o
			2c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
codecvt.o
			60: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			60: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			58: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			4c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			58: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			4c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
codecvt_members.o
collate_members.o
collate_members_cow.o
compatibility-atomic-c++0x.o
compatibility-c++0x.o
compatibility-chrono.o
compatibility-condvar.o
compatibility-debug_list-2.o
compatibility-debug_list.o
compatibility-thread-c++0x.o
compatibility.o
complex_io.o
			64: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			64: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			b4: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			4cc: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			4e8: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			4cc: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			bc: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			b4: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			564: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			578: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			564: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			bc: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
concept-inst.o
condition_variable.o
			40: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			58: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
cow-fstream-inst.o
			148: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			134: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			1e0: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			148: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			138: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			1e0: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
cow-istream-string.o
			5dc: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			37c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			3a0: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
cow-locale_init.o
			a6c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			918: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			324: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
cow-shim_facets.o
			64: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			64: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			c0: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			b0: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			c0: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			a4: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			b0: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			c0: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			c0: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			a4: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			90: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			90: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			a0: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			a0: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			a0: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			a0: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			a0: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			a0: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			9c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			98: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			9c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			98: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			a8: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			a8: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			a8: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			a8: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			a8: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			a8: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			a8: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			a8: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			b8: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			b8: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			b8: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			b8: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			80: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			80: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			1ac: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			1ac: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			64: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			2b8: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			310: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			fc: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			fc: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			3b8: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			3b8: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			428: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			428: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			ec: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			ec: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			1b4: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			1b4: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			1e8: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			1e0: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			180: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			184: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			c5c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
cow-sstream-inst.o
			64: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			64: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			108: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			224: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			108: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			224: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			128: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			26c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			3ac: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			128: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			26c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			3ac: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			108: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			224: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			118: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			25c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			394: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			108: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			224: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			110: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			234: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			100: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			214: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			120: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			25c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			394: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			100: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			214: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			110: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			234: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			bc: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			bc: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			b4: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			b4: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			74: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			180: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			10c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			1e0: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			70: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			e4: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			54: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			f8: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			12c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			17c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			1bc: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			e8: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			134: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			160: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			180: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			e8: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			120: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			16c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			1b0: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			e0: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			11c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			14c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			180: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			17c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			170: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			200: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			200: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			124: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			1a0: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			174: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			180: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			74: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			180: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			10c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			1ec: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			70: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			e4: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			54: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			f8: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			12c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			17c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			1bc: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			e8: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			134: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			160: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			180: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			e8: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			120: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			16c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			1b0: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			e0: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			11c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			14c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			180: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			17c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			170: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			200: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			200: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			124: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			1a0: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			174: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			180: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
cow-stdexcept.o
			30: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			30: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			44: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			30: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			30: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			30: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			30: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			44: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			30: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			30: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			30: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			1c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			8c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			24: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			11c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
cow-string-inst.o
			14: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			1c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			24: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			14: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			2c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			9c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			64: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			74: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			8c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			cc: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			1ec: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			5c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			10c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			60: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			90: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			dc: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			b4: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			e8: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			fc: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			c4: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			80: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			84: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			84: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			ac: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			130: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			94: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			80: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			58: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			a4: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			bc: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			bc: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			1ac: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
cow-string-io-inst.o
			88: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
cow-wstring-inst.o
			14: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			1c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			24: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			14: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			2c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			98: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			64: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			74: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			8c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			cc: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			1e8: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			5c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			114: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			60: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			88: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			dc: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			b4: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			e8: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			fc: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			c4: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			78: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			7c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			84: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			ac: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			130: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			94: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			80: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			58: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			a4: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			bc: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			bc: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			1b4: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
cow-wstring-io-inst.o
cp-demangle.o
ctype.o
			50: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			44: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			2c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			f4: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			a0: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			68: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			5c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			a0: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
ctype_configure_char.o
			94: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			94: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
ctype_members.o
			2c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			9c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
cxx11-hash_tr1.o
cxx11-ios_failure.o
			2c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			2cc: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			2f0: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			23c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
cxx11-locale-inst.o
			2c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			2c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			2c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			2c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			2c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			2c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			2c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			34: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			34: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			34: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			34: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			34: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			34: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			34: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			34: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			2c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			34: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			34: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			3c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			34: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			3c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			8c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			54: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			50: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			50: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			3c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			3c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			70: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			70: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			70: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			70: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			3c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			70: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			70: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			54: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			50: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			50: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			3c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			3c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			70: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			70: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			70: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			70: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			3c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			70: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			70: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			e4: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			e4: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			e4: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			e4: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			28: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			28: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			7b0: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			7b0: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			1f8: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			50: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			4c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			4c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			3c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			3c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			70: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			70: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			70: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			dc: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			dc: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			28: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			28: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			2f0: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			28: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			28: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			48: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			4c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			98: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			98: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			48: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			4c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			c4: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			c4: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			64: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			64: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			64: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			64: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			64: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			64: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			64: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			64: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			68: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			68: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			68: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			68: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			68: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			68: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			68: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			c4: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			e58: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			204: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			280: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			be4: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			fcc: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			fcc: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			160: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			cb8: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			cc: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
cxx11-shim_facets.o
			b0: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			a4: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			c0: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			c0: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			b0: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			c0: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			a4: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			c0: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			90: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			90: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			a0: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			a0: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			a0: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			a0: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			a0: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			a0: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			98: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			98: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			9c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			9c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			a8: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			a8: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			a8: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			a8: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			a8: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			a8: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			a8: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			a8: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			b8: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			b8: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			b8: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			b8: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			64: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			c5c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
cxx11-stdexcept.o
			38: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			30: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			30: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			30: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			30: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			38: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			30: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			30: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			30: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
cxx11-wlocale-inst.o
			2c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			2c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			2c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			2c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			2c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			2c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			2c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			34: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			34: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			34: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			34: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			34: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			34: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			34: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			34: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			2c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			34: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			34: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			3c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			34: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			3c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			54: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			50: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			50: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			3c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			3c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			e8: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			74: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			74: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			74: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			3c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			70: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			70: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			54: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			50: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			50: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			3c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			3c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			e8: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			74: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			74: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			74: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			3c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			70: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			70: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			e4: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			e4: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			e4: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			e4: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			28: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			28: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			704: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			704: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			50: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			4c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			4c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			3c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			3c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			e8: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			74: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			74: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			dc: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			dc: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			28: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			28: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			28: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			28: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			48: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			4c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			98: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			98: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			48: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			4c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			c4: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			c4: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			64: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			64: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			64: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			64: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			64: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			64: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			64: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			64: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			68: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			68: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			68: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			68: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			68: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			68: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			68: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			d60: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			23c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			7c0: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			f90: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			f90: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			df4: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			de8: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			dc4: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			dc4: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			f68: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			e98: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			cc: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
debug.o
			2c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			2c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			34: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			34: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			188: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			3c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			74: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			cc: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			1b4: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			b0: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			a4: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			d4: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			104: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			11c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			1b4: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			b0: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			a4: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
del_op.o
del_opa.o
del_opant.o
del_opnt.o
del_ops.o
del_opsa.o
del_opv.o
del_opva.o
del_opvant.o
del_opvnt.o
del_opvs.o
del_opvsa.o
dyncast.o
eh_alloc.o
			2c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			2c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			38: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			38: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			3c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			190: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			180: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
eh_arm.o
			140: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
eh_aux_runtime.o
			3c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			3c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			3c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
eh_call.o
			19c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
eh_catch.o
eh_exception.o
			2c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
eh_globals.o
eh_personality.o
eh_ptr.o
			38: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
eh_term_handler.o
eh_terminate.o
			30: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			1c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			30: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			1c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
eh_throw.o
eh_tm.o
eh_type.o
eh_unex_handler.o
enum_type_info.o
			2c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
ext-inst.o
ext11-inst.o
			2c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			34: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			2c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			34: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			50: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			50: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			30: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			ac: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			ac: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			6c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			54: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			30: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			ac: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			ac: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			6c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			54: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
fstream-inst.o
			138: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			194: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			114: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			fc: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			128: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			138: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			194: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			114: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			100: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			128: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			50: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			dc: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			cc: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			124: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			16c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			16c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			114: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			124: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			114: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			124: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			a8: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			158: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			9c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			140: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			a4: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			150: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			c8: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			19c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			270: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			c0: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			190: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			25c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			b0: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			168: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			58: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			78: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			80: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			bc: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			50: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			dc: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			d0: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			124: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			16c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			16c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			118: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			124: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			118: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			124: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			b8: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			194: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			260: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			a0: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			148: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			b0: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			168: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			a8: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			158: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			c8: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			1a0: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			274: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			a8: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			158: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			58: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			78: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			80: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			bc: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
functexcept.o
			3c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			3c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			3c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			3c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			48: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			48: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			48: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			48: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			48: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			80: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			48: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			48: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			48: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			48: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
function_type_info.o
			2c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
functional.o
			2c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			3c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
fundamental_type_info.o
			2c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
futex.o
future.o
			2c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			64: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			ec: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			268: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			60: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			2c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			2c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			18: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			fc: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			2b8: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
globals_io.o
guard.o
			2c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			2c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			2c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			2c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			34: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			34: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			34: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			34: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			5c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			3c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			1c4: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			114: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			12c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
guard_error.o
			2c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
hash_bytes.o
hash_c++0x.o
hash_tr1.o
hashtable_c++0x.o
			f4: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
hashtable_tr1.o
ios-inst.o
			2c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			2c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			34: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			34: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			88: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			90: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			78: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			70: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			50: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			2a0: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			6c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			50: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			240: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			6c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
ios.o
			64: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			84: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			60: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			14c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			90: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			64: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
ios_failure.o
			a4: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			50: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
ios_init.o
			6a8: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			c4: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			248: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
ios_locale.o
iostream-inst.o
			54: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			c8: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			12c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			5c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			d8: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			144: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			54: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			b8: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			12c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			5c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			d8: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			144: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			e0: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			dc: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			f0: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			e0: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			dc: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			f0: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
istream-inst.o
			44: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			a0: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			4c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			b0: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			44: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			a0: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			4c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			b0: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			8c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			90: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			88: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			cc: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			90: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			88: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			90: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			8c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			88: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			cc: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
istream-string.o
istream.o
limits.o
list-aux-2.o
list-aux.o
list.o
list_associated-2.o
list_associated.o
locale-inst.o
			2c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			2c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			2c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			7c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			7c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			2c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			2c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			6c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			2c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			2c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			2c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			2c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			2c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			2c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			2c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			34: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			34: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			34: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			34: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			34: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			34: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			34: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			34: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			34: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			34: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			34: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			34: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			2c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			34: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			34: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			3c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			34: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			3c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			6c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			2c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			34: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			64: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			158: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			50: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			1f4: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			8c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			6c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			6c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			54: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			50: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			50: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			3c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			3c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			58: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			58: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			58: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			58: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			3c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			70: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			70: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			54: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			50: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			50: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			3c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			3c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			58: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			58: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			58: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			58: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			3c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			70: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			70: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			e4: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			e4: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			e4: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			e4: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			28: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			28: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			54: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			50: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			4c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			4c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			3c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			3c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			58: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			58: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			58: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			dc: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			dc: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			28: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			28: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			5c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			58: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			cc: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			f0: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			28: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			28: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			28: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			28: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			28: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			28: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			48: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			4c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			1c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			98: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			98: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			98: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			48: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			4c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			c4: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			c4: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			64: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			2a4: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			2f0: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			64: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			64: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			64: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			3d8: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			64: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			64: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			64: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			55c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			64: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			55c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			64: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			64: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			64: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			118: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			64: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			64: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			64: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			68: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			68: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			68: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			68: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			68: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			68: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			68: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			68: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			68: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			68: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			68: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			68: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			68: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			dc: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			510: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			dc: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			510: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			1d0: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			c4: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			84: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			84: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			84: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			84: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			c34: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			204: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			210: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			850: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			1dc: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			8a4: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			bc: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			89c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			bc: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			854: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			bc: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			854: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			bc: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			8c4: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			bc: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			9b8: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			930: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			930: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			104: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			148: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			174: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			134: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			964: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			bc: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			12c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
locale.o
			20: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			2c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			34: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			2c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			34: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			74: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			50: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			328: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			60: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			14: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			1d8: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			b4: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			7c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			1fc: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			68: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			47c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			244: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
locale_facets.o
locale_init.o
			2c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			2c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			34: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			34: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			3c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			74: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			cdc: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			40: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			4c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			14c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			34: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			15c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
localename.o
			a34: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			984: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			19c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			c8: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
lt1-codecvt.o
			2c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			2c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			2c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			2c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			2c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			2c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			2c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			2c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			2c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			2c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			2c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
math_stubs_float.o
math_stubs_long_double.o
messages_members.o
messages_members_cow.o
misc-inst.o
monetary_members.o
			40: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			138: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			138: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			54: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			54: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			140: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			140: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			54: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			54: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
monetary_members_cow.o
			7c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			7c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			7c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			7c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			138: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			138: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			54: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			54: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			140: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			140: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			54: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			54: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
mt_allocator.o
			2c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			34: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			2c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			34: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			3c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			c0: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			74: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			110: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			264: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			36c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			c4: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			e0: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			234: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			36c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			254: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			f8: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			d4: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			11c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			264: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			f8: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			d4: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			11c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
mutex.o
			24: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
nested_exception.o
			2c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
new_handler.o
new_op.o
			68: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
new_opa.o
			98: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
new_opant.o
new_opnt.o
new_opv.o
new_opva.o
new_opvant.o
new_opvnt.o
numeric_members.o
			13c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			54: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			114: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			54: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
numeric_members_cow.o
			6c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			6c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			13c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			54: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			114: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			54: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
ostream-inst.o
			3c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			90: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			44: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			a0: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			3c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			90: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			44: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			a0: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			84: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			80: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			54: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			c4: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			84: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			90: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			3d4: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			1cc: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			1cc: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			1cc: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			1e0: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			1e0: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			1cc: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			1cc: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			1cc: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			84: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			80: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			54: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			c4: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
parallel_settings.o
pbase_type_info.o
			2c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			148: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
placeholders.o
pmem_type_info.o
			2c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
pointer_type_info.o
			2c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			88: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
pool_allocator.o
			2c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			2c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			34: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			34: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			3c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			74: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			24: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			18c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			1bc: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			e8: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			1cc: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			ec: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
pure.o
random.o
regex.o
			2c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			44: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			48: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
shared_ptr.o
			2c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			2c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			2c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			34: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			34: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			3c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			3c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			80: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			ec: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			88: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
si_class_type_info.o
			2c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
snprintf_lite.o
sso_string.o
sstream-inst.o
			54: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			54: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			c8: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			1a4: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			27c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			c8: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			1a4: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			27c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			a0: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			14c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			b8: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			194: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			264: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			b0: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			16c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			b8: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			194: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			264: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			a8: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			15c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			b0: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			16c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			a0: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			14c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			a8: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			15c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			a8: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			15c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			a8: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			15c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			5c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			5c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			74: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			c8: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			9c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			21c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			f8: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			12c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			16c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			1a8: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			88: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			2e4: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			31c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			e8: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			120: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			15c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			19c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			80: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			2d0: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			308: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			178: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			170: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			1f4: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			1ec: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			c4: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			35c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			330: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			74: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			d0: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			88: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			234: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			f8: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			12c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			178: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			1b4: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			88: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			2f8: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			338: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			e8: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			120: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			168: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			1a8: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			80: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			2e0: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			320: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			178: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			170: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			1fc: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			1f8: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			c4: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			364: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			348: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
stdexcept.o
			a4: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			2c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			2c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			2c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			2c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			a4: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			2c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			2c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			2c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			38: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			30: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			30: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			30: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			30: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			38: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			30: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			30: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			30: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
streambuf-inst.o
			2c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			2c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			34: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			34: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			bc: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			d0: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			4c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			4c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			104: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			f4: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			70: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			2c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			74: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			a8: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			2c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			3c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			c0: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			80: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			44: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			64: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			50: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			5c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			4c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			7c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			60: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			70: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			2c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			74: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			a8: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			2c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			48: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			bc: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			80: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			44: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			60: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			54: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			54: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			4c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			7c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			60: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
streambuf.o
string-inst.o
string-io-inst.o
			88: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
strstream.o
			c8: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			cc: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			7c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			9c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			8c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			c4: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			94: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			94: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			94: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			90: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			90: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			90: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			ec: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			e8: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			f4: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			f0: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			d8: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			100: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			138: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			160: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
system_error.o
			2c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			b8: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
thread.o
			64: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			264: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			fc: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			14c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			160: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			170: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
time_members.o
			314: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			314: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
tinfo.o
tinfo2.o
tree.o
valarray.o
vec.o
			60: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			38: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			28: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
vmi_class_type_info.o
			2c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
vterminate.o
			190: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
wlocale-inst.o
			2c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			2c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			2c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			7c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			7c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			2c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			2c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			6c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			2c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			2c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			2c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			2c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			2c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			2c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			2c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			34: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			34: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			34: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			34: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			34: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			34: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			34: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			34: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			34: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			34: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			34: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			34: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			2c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			34: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			34: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			3c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			34: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			3c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			6c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			2c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			34: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			64: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			64: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			158: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			1fc: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			6c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			6c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			54: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			50: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			50: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			3c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			3c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			58: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			58: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			58: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			58: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			3c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			70: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			70: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			54: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			50: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			50: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			3c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			3c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			58: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			58: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			58: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			58: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			3c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			70: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			70: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			e4: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			e4: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			e4: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			e4: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			28: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			28: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			58: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			50: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			4c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			4c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			3c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			3c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			58: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			58: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			58: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			dc: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			dc: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			28: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			28: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			5c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			58: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			cc: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			f0: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			28: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			28: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			28: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			28: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			28: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			28: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			48: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			4c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			1c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			98: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			98: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			98: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			48: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			4c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			c4: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			c4: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			64: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			64: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			64: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			64: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			3f4: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			64: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			64: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			64: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			594: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			64: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			594: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			64: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			64: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			64: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			64: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			64: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			64: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			68: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			68: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			68: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			68: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			68: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			68: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			68: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			68: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			68: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			68: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			68: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			68: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			68: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			dc: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			4c8: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			dc: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			4c8: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			1d8: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			c8: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			84: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			84: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			84: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			84: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			ae4: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			838: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			1d4: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			1d4: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			1d4: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			958: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			958: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			104: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			150: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			894: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			bc: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			894: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			bc: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			8b4: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			bc: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			980: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			bc: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			934: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			bc: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			918: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			bc: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
			12c: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
wstring-inst.o
wstring-io-inst.o

comment:14 by kallisti5, 6 years ago

waddlesplash noticed this one: https://git.haiku-os.org/buildtools/commit/gcc/gcc/config/i386/haiku.h?id=8116a5d9ffdc704a2fe1095bd9bdac3a36ad56bb

That seems *extremely* relevant. ARM still has those defines. Testing now.

comment:15 by kallisti5, 6 years ago

No luck. same issue.

Interestingly from inside the haikuporter chroot looking at icu's io objects:

root@edfe0e9a1246:/work/generated.arm/objects/haiku/arm/packaging/repositories/HaikuPortsCross-build/dev-libs/icu_bootstrap/work-57.1/sources/icu-target/io# for i in $(ls *.o); do echo $i; arm-unknown-haiku-objdump -dr $i | grep GOTPC; done
locbund.o
sprintf.o
sscanf.o
ucln_io.o
ufile.o
ufmt_cmn.o
uprintf.o
			1cc: R_ARM_GOTPC	_GLOBAL_OFFSET_TABLE_
uprntf_p.o
uscanf.o
uscanf_p.o
ustdio.o
ustream.o

comment:16 by kallisti5, 6 years ago

Here's the build flags for those... look ok to me :-|

make[1]: Entering directory '/work/generated.arm/objects/haiku/arm/packaging/repositories/HaikuPortsCross-build/dev-libs/icu_bootstrap/work-57.1/sources/icu-target/io'
arm-unknown-haiku-g++   -DU_HAVE_ELF_H=1 -DU_HAVE_ATOMIC=1  -DU_CHARSET_IS_UTF8=1 -I../../icu/source/common -I../../icu/source/i18n   -DU_ATTRIBUTE_DEPRECATED= -DU_IO_IMPLEMENTATION -O2 -W -Wall -pedantic -Wpointer-arith -Wwrite-strings -Wno-long-long --std=c++0x    -c -DPIC -fPIC -o locbund.o ../../icu/source/io/locbund.cpp
arm-unknown-haiku-gcc   -DU_HAVE_ELF_H=1 -DU_HAVE_ATOMIC=1  -DU_CHARSET_IS_UTF8=1 -I../../icu/source/common -I../../icu/source/i18n   -DU_ATTRIBUTE_DEPRECATED= -DU_IO_IMPLEMENTATION -O2 -std=c9x -Wall -pedantic -Wshadow -Wpointer-arith -Wmissing-prototypes -Wwrite-strings    -c -DPIC -fPIC -o ufile.o ../../icu/source/io/ufile.c
arm-unknown-haiku-gcc   -DU_HAVE_ELF_H=1 -DU_HAVE_ATOMIC=1  -DU_CHARSET_IS_UTF8=1 -I../../icu/source/common -I../../icu/source/i18n   -DU_ATTRIBUTE_DEPRECATED= -DU_IO_IMPLEMENTATION -O2 -std=c9x -Wall -pedantic -Wshadow -Wpointer-arith -Wmissing-prototypes -Wwrite-strings    -c -DPIC -fPIC -o ufmt_cmn.o ../../icu/source/io/ufmt_cmn.c
arm-unknown-haiku-g++   -DU_HAVE_ELF_H=1 -DU_HAVE_ATOMIC=1  -DU_CHARSET_IS_UTF8=1 -I../../icu/source/common -I../../icu/source/i18n   -DU_ATTRIBUTE_DEPRECATED= -DU_IO_IMPLEMENTATION -O2 -W -Wall -pedantic -Wpointer-arith -Wwrite-strings -Wno-long-long --std=c++0x    -c -DPIC -fPIC -o uprintf.o ../../icu/source/io/uprintf.cpp
arm-unknown-haiku-gcc   -DU_HAVE_ELF_H=1 -DU_HAVE_ATOMIC=1  -DU_CHARSET_IS_UTF8=1 -I../../icu/source/common -I../../icu/source/i18n   -DU_ATTRIBUTE_DEPRECATED= -DU_IO_IMPLEMENTATION -O2 -std=c9x -Wall -pedantic -Wshadow -Wpointer-arith -Wmissing-prototypes -Wwrite-strings    -c -DPIC -fPIC -o uprntf_p.o ../../icu/source/io/uprntf_p.c
arm-unknown-haiku-gcc   -DU_HAVE_ELF_H=1 -DU_HAVE_ATOMIC=1  -DU_CHARSET_IS_UTF8=1 -I../../icu/source/common -I../../icu/source/i18n   -DU_ATTRIBUTE_DEPRECATED= -DU_IO_IMPLEMENTATION -O2 -std=c9x -Wall -pedantic -Wshadow -Wpointer-arith -Wmissing-prototypes -Wwrite-strings    -c -DPIC -fPIC -o uscanf.o ../../icu/source/io/uscanf.c
arm-unknown-haiku-gcc   -DU_HAVE_ELF_H=1 -DU_HAVE_ATOMIC=1  -DU_CHARSET_IS_UTF8=1 -I../../icu/source/common -I../../icu/source/i18n   -DU_ATTRIBUTE_DEPRECATED= -DU_IO_IMPLEMENTATION -O2 -std=c9x -Wall -pedantic -Wshadow -Wpointer-arith -Wmissing-prototypes -Wwrite-strings    -c -DPIC -fPIC -o uscanf_p.o ../../icu/source/io/uscanf_p.c
arm-unknown-haiku-gcc   -DU_HAVE_ELF_H=1 -DU_HAVE_ATOMIC=1  -DU_CHARSET_IS_UTF8=1 -I../../icu/source/common -I../../icu/source/i18n   -DU_ATTRIBUTE_DEPRECATED= -DU_IO_IMPLEMENTATION -O2 -std=c9x -Wall -pedantic -Wshadow -Wpointer-arith -Wmissing-prototypes -Wwrite-strings    -c -DPIC -fPIC -o ustdio.o ../../icu/source/io/ustdio.c
arm-unknown-haiku-gcc   -DU_HAVE_ELF_H=1 -DU_HAVE_ATOMIC=1  -DU_CHARSET_IS_UTF8=1 -I../../icu/source/common -I../../icu/source/i18n   -DU_ATTRIBUTE_DEPRECATED= -DU_IO_IMPLEMENTATION -O2 -std=c9x -Wall -pedantic -Wshadow -Wpointer-arith -Wmissing-prototypes -Wwrite-strings    -c -DPIC -fPIC -o sprintf.o ../../icu/source/io/sprintf.c
arm-unknown-haiku-gcc   -DU_HAVE_ELF_H=1 -DU_HAVE_ATOMIC=1  -DU_CHARSET_IS_UTF8=1 -I../../icu/source/common -I../../icu/source/i18n   -DU_ATTRIBUTE_DEPRECATED= -DU_IO_IMPLEMENTATION -O2 -std=c9x -Wall -pedantic -Wshadow -Wpointer-arith -Wmissing-prototypes -Wwrite-strings    -c -DPIC -fPIC -o sscanf.o ../../icu/source/io/sscanf.c
arm-unknown-haiku-g++   -DU_HAVE_ELF_H=1 -DU_HAVE_ATOMIC=1  -DU_CHARSET_IS_UTF8=1 -I../../icu/source/common -I../../icu/source/i18n   -DU_ATTRIBUTE_DEPRECATED= -DU_IO_IMPLEMENTATION -O2 -W -Wall -pedantic -Wpointer-arith -Wwrite-strings -Wno-long-long --std=c++0x    -c -DPIC -fPIC -o ustream.o ../../icu/source/io/ustream.cpp
arm-unknown-haiku-g++   -DU_HAVE_ELF_H=1 -DU_HAVE_ATOMIC=1  -DU_CHARSET_IS_UTF8=1 -I../../icu/source/common -I../../icu/source/i18n   -DU_ATTRIBUTE_DEPRECATED= -DU_IO_IMPLEMENTATION -O2 -W -Wall -pedantic -Wpointer-arith -Wwrite-strings -Wno-long-long --std=c++0x    -c -DPIC -fPIC -o ucln_io.o ../../icu/source/io/ucln_io.cpp
arm-unknown-haiku-g++ -O2 -W -Wall -pedantic -Wpointer-arith -Wwrite-strings -Wno-long-long --std=c++0x      -shared  -Wl,-soname -Wl,libicuio.so.57 -o ../lib/libicuio.so.57.1 locbund.o ufile.o ufmt_cmn.o uprintf.o uprntf_p.o uscanf.o uscanf_p.o ustdio.o sprintf.o sscanf.o ustream.o ucln_io.o -L../lib -licuuc -L../stubdata -licudata -L../lib -licui18n 
/work/generated.arm/cross-tools-arm/lib/gcc/arm-unknown-haiku/7.3.0/../../../../arm-unknown-haiku/bin/ld: /work/generated.arm/cross-tools-arm/lib/gcc/arm-unknown-haiku/7.3.0/../../../../arm-unknown-haiku/lib/libstdc++.a(ostream-inst.o): relocation R_ARM_REL32 against external or undefined symbol `_ZTIN10__cxxabiv115__forced_unwindE' can not be used when making a shared object; recompile with -fPIC
/work/generated.arm/cross-tools-arm/lib/gcc/arm-unknown-haiku/7.3.0/../../../../arm-unknown-haiku/bin/ld: /work/generated.arm/cross-tools-arm/lib/gcc/arm-unknown-haiku/7.3.0/../../../../arm-unknown-haiku/lib/libstdc++.a(ostream-inst.o)(.ARM.extab.text._ZNSo5flushEv[_ZNSo5flushEv]+0x3c): unresolvable R_ARM_REL32 relocation against symbol `_ZTIN10__cxxabiv115__forced_unwindE'
/work/generated.arm/cross-tools-arm/lib/gcc/arm-unknown-haiku/7.3.0/../../../../arm-unknown-haiku/bin/ld: final link failed: Nonrepresentable section on output
collect2: error: ld returned 1 exit status
Makefile:150: recipe for target '../lib/libicuio.so.57.1' failed
make[1]: *** [../lib/libicuio.so.57.1] Error 1

comment:17 by kallisti5, 6 years ago

The diff below per https://gcc.gnu.org/bugzilla/show_bug.cgi?id=28811#c26 doesn't fix it.

diff --git a/gcc/libstdc++-v3/configure b/gcc/libstdc++-v3/configure
index 826bfb1dd..e151440bc 100755
--- a/gcc/libstdc++-v3/configure
+++ b/gcc/libstdc++-v3/configure
@@ -15018,8 +15018,8 @@ if test "$enable_shared" = yes; then
   glibcxx_compiler_shared_flag="-D_GLIBCXX_SHARED"
 
 else
-  glibcxx_lt_pic_flag=
-  glibcxx_compiler_pic_flag=
+  glibcxx_lt_pic_flag="-prefer-pic"
+  glibcxx_compiler_pic_flag="$lt_prog_compiler_pic_CXX"
   glibcxx_compiler_shared_flag=
 fi
 
diff --git a/gcc/libstdc++-v3/configure.ac b/gcc/libstdc++-v3/configure.ac
index 8e973503b..22268e3fb 100644
--- a/gcc/libstdc++-v3/configure.ac
+++ b/gcc/libstdc++-v3/configure.ac
@@ -121,8 +121,8 @@ if test "$enable_shared" = yes; then
   glibcxx_compiler_shared_flag="-D_GLIBCXX_SHARED"
 
 else
-  glibcxx_lt_pic_flag=
-  glibcxx_compiler_pic_flag=
+  glibcxx_lt_pic_flag="-prefer-pic"
+  glibcxx_compiler_pic_flag="$lt_prog_compiler_pic_CXX"
   glibcxx_compiler_shared_flag=
 fi
 AC_SUBST(glibcxx_lt_pic_flag)
Last edited 6 years ago by kallisti5 (previous) (diff)

comment:18 by kallisti5, 6 years ago

Applying this change to ARM doesn't fix it: (but is likely a good change once things are working again)

https://git.haiku-os.org/buildtools/commit/gcc/gcc/config/i386/haiku.h?id=8116a5d9ffdc704a2fe1095bd9bdac3a36ad56bb

diff --git a/gcc/gcc/config/i386/haiku.h b/gcc/gcc/config/i386/haiku.h
index 335c414..79025a8 100644
--- a/gcc/gcc/config/i386/haiku.h
+++ b/gcc/gcc/config/i386/haiku.h
@@ -40,12 +40,6 @@ Boston, MA 02111-1307, USA.  */
 	builtin_define ("__stdcall=__attribute__((__stdcall__))");	\
 	builtin_define ("__cdecl=__attribute__((__cdecl__))");		\
 	builtin_assert ("system=haiku");					\
-    /* Haiku apparently doesn't support merging of symbols across shared \
-       object boundaries. Hence we need to explicitly specify that \
-       type_infos are not merged, so that they get compared by name \
-       instead of by pointer. */ \
-    builtin_define ("__GXX_MERGED_TYPEINFO_NAMES=0"); \
-    builtin_define ("__GXX_TYPEINFO_EQUALITY_INLINE=0"); \
     }									\
   while (0)
Last edited 6 years ago by kallisti5 (previous) (diff)

comment:19 by kallisti5, 6 years ago

It was pointed out in IRC that binutils 2.28.1 has some known issues with ARM. I tried bootstrap with 2.26.x without any success (seeing the same issue)

comment:20 by adamfowleruk, 6 years ago

Hi all, I've done some investigation here for the libicu problem and have gotten past that (to hit another error, predictably!). At least I think I have gotten past it. I certainly now have gcc_bootstrap, gcc_bootstrap_syslibs gcc_bootstrap_syslibs_devel and gcc_bootstrap_source hpkgs... I'm assuming icu gets compiled in to gcc as I can't find any other built artefacts but do get a new error message.

The linking issue with libicu appears to be because although the gcc 4.7 compiler correctly uses the -no-pie flag, the linker does not. As a test I modified the 3rdparty/docker/bootstrap/Makefile to include the -e LDFLAGS="-no-pie" flag, and this allowed it to compile.

This is where I found the hint from:- https://github.com/rust-lang/rust/issues/47037

I then went on to find:- https://nanxiao.me/en/gccs-enable-enable-default-pie-option-make-you-stuck-at-relocation-r_x86_64_32s-against-error/

With this revealing text:- "A caveat you must pay attention to is if your static library has assembly code object which is not position independent, you must specify “-no-pie” option during link stage of generating final executable binary. This issue let me spend half day to debug, so it is a really good habit to check critical packages’ change log, such as your compiler."

I am now on another issue whereby "libsolv_boostrap-0.3.0_haiku_2014_12_22-1-source.hpkg does not have a cross-level package defined". But at least we're further along. Shall I log a separate issue for this?

comment:21 by pulkomandy, 6 years ago

Bad news for you, but ICU build happens at a later stage. It certainly does not get built into gcc and has nothing to do with it. It is a library used by the locale kit for internationalisation. If you do not get the libsolv hpkg, you are at an earlier step...

On Haiku, everything must be compiled as position independant. We specify this using -fPIC. If the compiler ends up setting -fno-pie, that's a problem.

In any case, there shouldn't be a need for any hacks in a 3rd party makefile. Issues should be solved in our jamfiles and recipes (I don't use the docker and makefile here, for example)

comment:22 by adamfowleruk, 6 years ago

Darn. Righto I'll take a look in to the recipe itself in detail and see if there's anything wrong there.

comment:23 by adamfowleruk, 6 years ago

OK so the error message is still complaining about libsolv, but I think that's a warning rather than the cause.

Logging in to the docker box and using -dc option with jam shows this fatal error. This looks like a misconfigured build recipe to me, so I'll continue to look.

In file included from ../src/haiku/src/add-ons/kernel/file_systems/btrfs/btrfs.h:10:0,
                 from ../src/haiku/src/add-ons/kernel/file_systems/btrfs/Volume.h:11,
                 from ../src/haiku/src/add-ons/kernel/file_systems/btrfs/CachedBlock.h:12,
                 from ../src/haiku/src/add-ons/kernel/file_systems/btrfs/Attribute.h:11,
                 from ../src/haiku/src/add-ons/kernel/file_systems/btrfs/kernel_interface.cpp:9:
../src/haiku/src/add-ons/kernel/file_systems/btrfs/system_dependencies.h:46:10: fatal error: zlib.h: No such file or directory
 #include <zlib.h>
          ^~~~~~~~
compilation terminated.
In file included from ../src/haiku/src/add-ons/kernel/file_systems/btrfs/btrfs.h:10:0,
                 from ../src/haiku/src/add-ons/kernel/file_systems/btrfs/Volume.h:11,
                 from ../src/haiku/src/add-ons/kernel/file_systems/btrfs/CachedBlock.h:12,
                 from ../src/haiku/src/add-ons/kernel/file_systems/btrfs/Attribute.h:11,
                 from ../src/haiku/src/add-ons/kernel/file_systems/btrfs/Attribute.cpp:12:
../src/haiku/src/add-ons/kernel/file_systems/btrfs/system_dependencies.h:46:10: fatal error: zlib.h: No such file or directory
 #include <zlib.h>
          ^~~~~~~~
compilation terminated.
In file included from ../src/haiku/src/add-ons/kernel/file_systems/btrfs/btrfs.h:10:0,
                 from ../src/haiku/src/add-ons/kernel/file_systems/btrfs/BTree.h:11,
                 from ../src/haiku/src/add-ons/kernel/file_systems/btrfs/AttributeIterator.h:10,
                 from ../src/haiku/src/add-ons/kernel/file_systems/btrfs/AttributeIterator.cpp:8:
../src/haiku/src/add-ons/kernel/file_systems/btrfs/system_dependencies.h:46:10: fatal error: zlib.h: No such file or directory
 #include <zlib.h>
          ^~~~~~~~
compilation terminated.
In file included from ../src/haiku/src/add-ons/kernel/file_systems/btrfs/btrfs.h:10:0,
                 from ../src/haiku/src/add-ons/kernel/file_systems/btrfs/BTree.h:11,
                 from ../src/haiku/src/add-ons/kernel/file_systems/btrfs/BTree.cpp:12:
../src/haiku/src/add-ons/kernel/file_systems/btrfs/system_dependencies.h:46:10: fatal error: zlib.h: No such file or directory
 #include <zlib.h>
          ^~~~~~~~
compilation terminated.
In file included from ../src/haiku/src/add-ons/kernel/file_systems/btrfs/btrfs.h:10:0,
                 from ../src/haiku/src/add-ons/kernel/file_systems/btrfs/Chunk.h:13,
                 from ../src/haiku/src/add-ons/kernel/file_systems/btrfs/Chunk.cpp:11:
../src/haiku/src/add-ons/kernel/file_systems/btrfs/system_dependencies.h:46:10: fatal error: zlib.h: No such file or directory
 #include <zlib.h>
          ^~~~~~~~
compilation terminated.
In file included from ../src/haiku/src/add-ons/kernel/file_systems/btrfs/CRCTable.cpp:10:0:
../src/haiku/src/add-ons/kernel/file_systems/btrfs/system_dependencies.h:46:10: fatal error: zlib.h: No such file or directory
 #include <zlib.h>
          ^~~~~~~~
compilation terminated.
In file included from ../src/haiku/src/add-ons/kernel/file_systems/btrfs/btrfs.h:10:0,
                 from ../src/haiku/src/add-ons/kernel/file_systems/btrfs/BTree.h:11,
                 from ../src/haiku/src/add-ons/kernel/file_systems/btrfs/DirectoryIterator.h:10,
                 from ../src/haiku/src/add-ons/kernel/file_systems/btrfs/DirectoryIterator.cpp:8:
../src/haiku/src/add-ons/kernel/file_systems/btrfs/system_dependencies.h:46:10: fatal error: zlib.h: No such file or directory
 #include <zlib.h>
          ^~~~~~~~
compilation terminated.
In file included from ../src/haiku/src/add-ons/kernel/file_systems/btrfs/btrfs.h:10:0,
                 from ../src/haiku/src/add-ons/kernel/file_systems/btrfs/Volume.h:11,
                 from ../src/haiku/src/add-ons/kernel/file_systems/btrfs/ExtentAllocator.h:9,
                 from ../src/haiku/src/add-ons/kernel/file_systems/btrfs/ExtentAllocator.cpp:7:
../src/haiku/src/add-ons/kernel/file_systems/btrfs/system_dependencies.h:46:10: fatal error: zlib.h: No such file or directory
 #include <zlib.h>
          ^~~~~~~~
compilation terminated.
In file included from ../src/haiku/src/add-ons/kernel/file_systems/btrfs/btrfs.h:10:0,
                 from ../src/haiku/src/add-ons/kernel/file_systems/btrfs/Volume.h:11,
                 from ../src/haiku/src/add-ons/kernel/file_systems/btrfs/Journal.h:10,
                 from ../src/haiku/src/add-ons/kernel/file_systems/btrfs/Journal.cpp:8:
../src/haiku/src/add-ons/kernel/file_systems/btrfs/system_dependencies.h:46:10: fatal error: zlib.h: No such file or directory
 #include <zlib.h>
          ^~~~~~~~
compilation terminated.
In file included from ../src/haiku/src/add-ons/kernel/file_systems/btrfs/btrfs.h:10:0,
                 from ../src/haiku/src/add-ons/kernel/file_systems/btrfs/Volume.h:11,
                 from ../src/haiku/src/add-ons/kernel/file_systems/btrfs/Volume.cpp:12:
../src/haiku/src/add-ons/kernel/file_systems/btrfs/system_dependencies.h:46:10: fatal error: zlib.h: No such file or directory
 #include <zlib.h>
          ^~~~~~~~
compilation terminated.

comment:24 by pulkomandy, 6 years ago

This happens when the build did not find the zlib package. Normally that package is built during the bootstrap process.

Did you use exactly the commands in the ticket? Are you sure you are creating a bootstrap image? Can you provide a full build log?

comment:25 by adamfowleruk, 6 years ago

Sudo apt install docker.io
Sudo service docker start
Cd Documents/git/haiku
Git pull
Cd 3rdparty/docker/bootstrap
Sudo make
Sudo make init
Sudo TARGET_ARCH=arm make crosstools
Sudo TARGET_ARCH=arm make bootstrap
*ERROR*
Version 1, edited 6 years ago by adamfowleruk (previous) (next) (diff)

comment:26 by pulkomandy, 6 years ago

Ok, I have no idea what the docker and makefile do. I find it suspicious that you need to run the 4 last steps as root, but I'll let kallisti5 comment.

comment:27 by adamfowleruk, 6 years ago

Yeah it's purely because I'm running docker as a service. The build on the image runs as the docker user.

comment:28 by adamfowleruk, 6 years ago

Yeah errors above are confirmed on a completely new build on a brand new docker image. It's not showing up on the docker bootstrap output because docker run doesn't pass stderr from the box to the runner of make on ubuntu, only stdout. You have to run jam -dc -q @bootstrap-raw on the box via make enter in order to get the errors.

comment:29 by adamfowleruk, 6 years ago

Here's where zlib.h is on the system:-

root@fd490751d20c:/work/generated.arm# find .. -name "*zlib*h" 
../generated.arm/objects/haiku/arm/packaging/repositories/HaikuPortsCross-build/sys-devel/gcc_bootstrap/work-7.3.0_2018_05_01/sources/buildtools-13dd3f531fc30b6e144034ddce1ea1c9b224dbfd/zlib/zlib.h
../src/buildtools/gcc/zlib/zlib.h
../src/buildtools/binutils/zlib/zlib.h
root@fd490751d20c:/work/generated.arm#

comment:30 by pulkomandy, 6 years ago

I don't even know why btrfs is included in the minimal build for bootstrap... can't we remove it?

comment:31 by adamfowleruk, 6 years ago

OK so I was doing @bootstrap-raw as kallisti5 advised on IRC last night. Just tried @minimum-mmc and that fails because it says HAIKU_NO_DOWNLOADS is set.

So I've now ran jam with -sHAIKU_NO_DOWNLOADS=0 set, and it's downloading missing sources and compiling.

comment:32 by adamfowleruk, 6 years ago

So the build finished with a few errors. I'm just including the errors, not warnings or other output.

Exact command line (inside the container, so TARGET_ARCH=arm already declared):- jam -qdc -sHAIKU_NO_DOWNLOADS=0 @minimum-mmc

(Same for @minimum-raw)

Seems to be failing on several libraries.

../src/haiku/src/system/boot/platform/u-boot/uimage.cpp: In function 'void dump_uimage(image_header*)':
../src/haiku/src/system/boot/platform/u-boot/uimage.cpp:21:25: error: 'ntohl' was not declared in this scope
  dprintf("magic: %x\n", ntohl(image->ih_magic));

../src/haiku/src/system/boot/platform/u-boot/uimage.cpp:55:12: error: 'ntohl' was not declared in this scope
    *size = ntohl(sizes[i]);
            ^~~~~
../src/haiku/src/system/boot/platform/u-boot/uimage.cpp:58:12: error: 'ntohl' was not declared in this scope
   base += (ntohl(sizes[i]) + 3) & ~3;
            ^~~~~
In file included from build_packages/gcc_syslibs_devel-4.8.3_2014_08_03-1-arm/develop/headers/c++/random:39:0,
                 from build_packages/gcc_syslibs_devel-4.8.3_2014_08_03-1-arm/develop/headers/c++/bits/stl_algo.h:65,
                 from build_packages/gcc_syslibs_devel-4.8.3_2014_08_03-1-arm/develop/headers/c++/algorithm:62,
                 from ../src/haiku/src/system/boot/loader/stdio.cpp:16:
build_packages/gcc_syslibs_devel-4.8.3_2014_08_03-1-arm/develop/headers/c++/cstdio:126:11: error: '::remove' has not been declared
   using ::remove;

../src/haiku/src/kits/locale/DateFormat.cpp: At global scope:
../src/haiku/src/kits/locale/DateFormat.cpp:33:21: error: 'SHORT' is not a member of 'icu::DateFormatSymbols'
  DateFormatSymbols::SHORT,
                     ^~~~~
../src/haiku/src/kits/locale/RelativeDateTimeFormat.cpp:17:10: fatal error: unicode/reldatefmt.h: No such file or directory
 #include <unicode/reldatefmt.h>
          ^~~~~~~~~~~~~~~~~~~~~~
compilation terminated.

../src/haiku/src/bin/screenmode/screenmode.cpp: In function 'int main(int, char**)':
../src/haiku/src/bin/screenmode/screenmode.cpp:126:26: error: 'nanf' is not a member of 'std'
  float brightness = std::nanf("0");
                          ^~~~
../src/haiku/src/bin/screenmode/screenmode.cpp:126:26: note: suggested alternative: 'rank'
  float brightness = std::nanf("0");
                          ^~~~
                          rank
../src/haiku/src/bin/top.cpp:23:10: fatal error: termcap.h: No such file or directory
 #include "termcap.h"
          ^~~~~~~~~~~
compilation terminated.
../src/haiku/src/bin/watch.c:18:10: fatal error: ncurses.h: No such file or directory
 #include <ncurses.h>
          ^~~~~~~~~~~
compilation terminated.

../src/haiku/src/bin/network/telnet/telnet.c:50:10: fatal error: curses.h: No such file or directory
 #include <curses.h>
          ^~~~~~~~~~
compilation terminated.
../src/haiku/src/bin/network/telnetd/telnetd.c:49:10: fatal error: termcap.h: No such file or directory
 #include <termcap.h>

But it does show this at the end, with no final error message:-

Preparing contents of archive haiku-floppyboot.tgz ...
Building archive /work/generated.arm/haiku-floppyboot.tgz ...
Image Name:   Haiku arm floppyboot
Created:      Fri Mar 29 16:26:55 2019
Image Type:   ARM Linux RAMDisk Image (uncompressed)
Data Size:    1601113 Bytes = 1563.59 kB = 1.53 MB
Load Address: 00000000
Entry Point:  00000000

BUILD FAILURE:
root@fd490751d20c:/work/generated.arm# 

comment:33 by pulkomandy, 6 years ago

the minimum profile failing is why we need to do a new bootstrap. The libraries it downloads are old and broken. So, you fail to build most of the userland and probably also the kernel, and end up with the bootloader image generated (jam builds as much stuff as it can even if other parts are broken).

There is no way to fix the minimum-mmc (or -raw) profile without a new bootstrap and fresh, up to date packages to download. So, what we need working first is @bootstrap-raw.

comment:34 by adamfowleruk, 6 years ago

The haiku no downloads being set to 1 issue is in src/haiku/configure line 461. Appears to be forced for a bootstrap install:-

# parse parameters
#
while [ $# -gt 0 ] ; do
        case "$1" in
                --bootstrap)
                        assertparams "$1" 3 $#
                        HOST_HAIKU_PORTER="`absolute_path $2`"
                        HAIKU_PORTS_CROSS="`absolute_path $3`"
                        HAIKU_PORTS="`absolute_path $4`"
                        HAIKU_IS_BOOTSTRAP=1
                        HAIKU_NO_DOWNLOADS=1

in reply to:  33 comment:35 by adamfowleruk, 6 years ago

Replying to pulkomandy:

the minimum profile failing is why we need to do a new bootstrap. The libraries it downloads are old and broken. So, you fail to build most of the userland and probably also the kernel, and end up with the bootloader image generated (jam builds as much stuff as it can even if other parts are broken).

There is no way to fix the minimum-mmc (or -raw) profile without a new bootstrap and fresh, up to date packages to download. So, what we need working first is @bootstrap-raw.

Gotcha. I thought that jam -q would quit on the first error. Ah well that's what I get for trusting jam's help info.

So now I've built some other stuff because of trying (and failing) to build minimum-mmc with downloads enabled, the only error left in building @bootstrap-raw (with downloads disabled) is this:-

../src/haiku/src/system/boot/platform/u-boot/uimage.cpp: In function 'void dump_uimage(image_header*)':
../src/haiku/src/system/boot/platform/u-boot/uimage.cpp:21:25: error: 'ntohl' was not declared in this scope
  dprintf("magic: %x\n", ntohl(image->ih_magic));
                         ^~~~~
../src/haiku/src/system/boot/platform/u-boot/uimage.cpp: In function 'bool image_multi_getimg(image_header*, uint32, uint32*, uint32*)':
../src/haiku/src/system/boot/platform/u-boot/uimage.cpp:53:11: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   if (idx == i) {
       ~~~~^~~~
../src/haiku/src/system/boot/platform/u-boot/uimage.cpp:55:12: error: 'ntohl' was not declared in this scope
    *size = ntohl(sizes[i]);
            ^~~~~
../src/haiku/src/system/boot/platform/u-boot/uimage.cpp:58:12: error: 'ntohl' was not declared in this scope
   base += (ntohl(sizes[i]) + 3) & ~3;
            ^~~~~
In file included from ../src/haiku/headers/os/interface/InterfaceDefs.h:9:0,
                 from ../src/haiku/headers/os/interface/Alignment.h:8,
                 from ../src/haiku/headers/os/interface/View.h:10,
                 from ../src/haiku/headers/os/interface/Window.h:11,
                 from ../src/haiku/headers/os/interface/Alert.h:11,
                 from ../src/haiku/src/bin/screenmode/screenmode.cpp:14:

And the failure message is this:-

haiku_cross_devel_sysroot_stage0_arm.hpkg: Removing and re-creating package contents dir ...
haiku_cross_devel_sysroot_stage0_arm.hpkg: Collecting package contents ...
haiku_cross_devel_sysroot_stage0_arm.hpkg: mimeset'ing package contents ...
haiku_cross_devel_sysroot_stage0_arm.hpkg: Creating the package ...
/work/generated.arm/objects/haiku/arm/packaging/repositories/HaikuPortsCross-build/packages/libsolv_bootstrap_source-0.3.0_haiku_2014_12_22-1-source.hpkg does not have a cross-devel package defined!
/work/generated.arm/objects/haiku/arm/packaging/repositories/HaikuPortsCross-build/packages/zlib_bootstrap_source-1.2.11-1-source.hpkg does not have a cross-devel package defined!

BUILD FAILURE:

Running this gives the same output: jam -qdc -sHAIKU_NO_DOWNLOADS=0 @bootstrap-raw

So I'm left with the missing ntohl issue. I'll look at that next.

There doesn seem to be a number of things wrong with the default build process for arm.

comment:36 by adamfowleruk, 6 years ago

The ntohl issue was simple to fix You need this:-

#include <netinet/in.h>

Added to ../src/haiku/src/system/boot/platform/u-boot/uimage.cpp

This leaves the only errors as non compile errors in jam:-

/work/generated.arm/objects/haiku/arm/packaging/repositories/HaikuPortsCross-build/packages/libsolv_bootstrap_source-0.3.0_haiku_2014_12_22-1-source.hpkg does not have a cross-devel package defined!
/work/generated.arm/objects/haiku/arm/packaging/repositories/HaikuPortsCross-build/packages/zlib_bootstrap_source-1.2.11-1-source.hpkg does not have a cross-devel package defined!

by adamfowleruk, 6 years ago

Attachment: build.bootstrap.txt.gz added

Run of commands as-is on a fresh docker image for bootstrap

comment:37 by adamfowleruk, 6 years ago

Hi all.

Just added a file - build.bootstrap.txt.gz - which contains the stderr and stdout output from the following command in the bootstrap docker image:-

HAIKU_PORTER_EXTRA_OPTIONS="--debug" jam -d3 -q @bootstrap-raw &> build.bootstrap.txt

Note the error about libsolv not having a cross-devel package is again the result.

Searching the output for errors only shows an error compiling error_mimedb ... although whether thats actually an error or not...

made+   update           <src!bin>eject.o
made+   nomake          eject
made+   nomake         <mimedb-app->eject_mimedb
made    nomake        <hpkg_-haiku.hpkg>data/mime_db/-/<mimedb-app->eject_mimedb
make    --            <hpkg_-haiku.hpkg>data/mime_db/-/<mimedb-app->error_mimedb
time    --            <hpkg_-haiku.hpkg>data/mime_db/-/<mimedb-app->error_mimedb: unbound
make    --             <mimedb-app->error_mimedb
bind    --             <mimedb-app->error_mimedb: objects/haiku/arm/release/bin/error_mimedb
time    --             <mimedb-app->error_mimedb: missing
make    --              error
bind    --              error: objects/haiku/arm/release/bin/error
time    --              error: missing
make    --               <src!bin>error.o
bind    --               <src!bin>error.o: objects/haiku/arm/release/bin/error.o
time    --               <src!bin>error.o: missing
make    --                <src!bin>error.c
bind    --                <src!bin>error.c: ../src/haiku/src/bin/error.c
time    --                <src!bin>error.c: Fri Mar 29 19:09:03 2019
make    --                 <src!bin>error.c
time    --                 <src!bin>error.c: unbound
made*   newer             <src!bin>error.c
made+   update           <src!bin>error.o
made+   nomake          error
made+   nomake         <mimedb-app->error_mimedb
made    nomake        <hpkg_-haiku.hpkg>data/mime_db/-/<mimedb-app->error_mimedb
make    --            <hpkg_-haiku.hpkg>data/mime_db/-/<mimedb-app->fdinfo_mimedb

Note also that I have confirmed that if you run haikuporter manually you can build libsolv which gets you to the next missing package, but on advice from PulkoMandy I've not gone down the road of building each missing hpkg in turn.

I can't see any errors in this output, and crosstools built fine, so I'm at a loss.

comment:38 by kallisti5, 6 years ago

So, we're getting off-topic here :-)

This error:

zlib_bootstrap_source-1.2.11-1-source.hpkg does not have a cross-devel package defined!

is because of some recent changes @pulkomandy made to our glibc: https://git.haiku-os.org/haiku/log/src/system/libroot/posix/glibc

If you look at the build log earlier, you see a message about unable to build libroot / glibc stuff. Pretty much the "XXX does not have a cross-devel package defined" is because we're unable to build our libroot which is a dependency of the haiku_sysroot which is a dependency of zlib_bootstrap. (yes this is all a horrible misleading message)

Last edited 6 years ago by kallisti5 (previous) (diff)

comment:39 by kallisti5, 6 years ago

I opened #15056 for the "does not have a cross-devel package defined!" issue. (with a partial fix) Can we move to musl already? :-)

comment:40 by pulkomandy, 6 years ago

Can we fix our buildsystem so that it stops instead of happily going on in that case before we start major refactoring of the C library?

comment:41 by kallisti5, 5 years ago

as of this afternoon, the arm bootstrap under (the new) gcc8 gets up to the icu build again... and fails with the exact same relocation error :-(

comment:42 by mmu_man, 5 years ago

Nice to see "progress" :D

comment:43 by pemdp, 5 years ago

kallisti5, Thank you for your efforts. I retested today and got the following error:

grabbing gcc_bootstrap_source-8.3.0_2019_06_02-1-source.hpkg and moving it to /home/pedro/haiku/haiku/generated.arm/objects/haiku/arm/packaging/repositories/HaikuPortsCross-build/packages/gcc_bootstrap_source-8.3.0_2019_06_02-1-source.hpkg
ExtractHPKGArchive1 build_packages/gcc_bootstrap_syslibs_devel-7.3.0_2018_05_01-1-arm 
Error: Failed to open package file "/home/pedro/haiku/haiku/generated.arm/objects/haiku/arm/packaging/repositories/HaikuPortsCross-build/packages/gcc_bootstrap_syslibs_devel-7.3.0_2018_05_01-1-arm.hpkg": No such file or directory

mkdir -p "build_packages/gcc_bootstrap_syslibs_devel-7.3.0_2018_05_01-1-arm"
export "LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/pedro/haiku/haiku/generated.arm/objects/linux/lib"
objects/linux/x86_64/release/tools/package/package extract -C "build_packages/gcc_bootstrap_syslibs_devel-7.3.0_2018_05_01-1-arm" "/home/pedro/haiku/haiku/generated.arm/objects/haiku/arm/packaging/repositories/HaikuPortsCross-build/packages/gcc_bootstrap_syslibs_devel-7.3.0_2018_05_01-1-arm.hpkg"

...failed ExtractHPKGArchive1 build_packages/gcc_bootstrap_syslibs_devel-7.3.0_2018_05_01-1-arm ...

It seems that it is looking for the old 7.3.0 version...

I then removed the recipes related with 7.3.x and retried. Now it fails with:

In file included from ../headers/os/support/Errors.h:9,
                 from ../headers/os/support/SupportDefs.h:13,
                 from ../headers/private/kernel/block_cache.h:9,
                 from ../src/system/kernel/cache/block_cache.cpp:7:
../headers/posix/limits.h:12:10: fatal error: float.h: No such file or directory
 #include <float.h>  /* for DBL_DIG, FLT_DIG, etc */
Last edited 5 years ago by pemdp (previous) (diff)

comment:44 by kallisti5, 5 years ago

Make sure you have the latest haikuports.cross repo updates. The bootstrap pulls the gcc_bootstrap package from there.

comment:46 by waddlesplash, 5 years ago

Resolution: fixed
Status: newclosed

comment:47 by nielx, 5 years ago

Milestone: UnscheduledR1/beta2

Assign tickets with status=closed and resolution=fixed within the R1/beta2 development window to the R1/beta2 Milestone

Note: See TracTickets for help on using tickets.