gdb-8.0.1 sem fordul

 ( NevemTeve | 2017. szeptember 23., szombat - 19:58 )

Nem teljesen függetlenül attól, hogy elkezdtek C++ irányba fejlődni. De ha már így próbálkozom, ezt a szépséget írja ki a configure:

checking whether gcc supports -W... no
checking whether gcc supports -Wall... no
checking whether gcc supports -Wwrite-strings... no
checking whether gcc supports -Wc++-compat... no
checking whether gcc supports -Wstrict-prototypes... no
checking whether gcc supports -Wshadow=local... no
checking whether gcc supports -pedantic ... no

Ezt valahol úgy sikerül előadni (volt is már ilyen, ha nem is emlékszem, pontosan melyik terméknél), hogy a CFLAGS-ba én betettem ugyan, hogy -maix64, de az bizonyos esetekben nem jut el a gcc-hez. Van viszont az OBJECT_MODE=64, amitől az Assembler 64-bites módban szeretne működni. A következmény nyilvánvaló:

Assembler:
/tmp//ccnagLXJ.s: line 14: Only .llong should be used for relocatable expressions.

Első tippem: a CPPFLAGS-ba is beleteszem, hogy -maix64, hátha valami változik.

Szerk: Na, működött? Persze. Kivéve, ahol a CPPFLAGS sem jut el a gcc-hez... No mindjárt lesz neki egy gcc64 meg egy g++64, azt' megnézheti magát...

Szerk: és most:

aix-thread.c: In function 'void fetch_regs_user_thread(regcache*, pthdb_pthread_t)':
aix-thread.c:1184:37: error: invalid conversion from 'long long unsigned int*' to 'uint64_t* {aka long unsigned int*}' [-fpermissive]
     supply_gprs64 (regcache, ctx.gpr);

Így elsőre azt mondanám, hogy a -fpermissive opciónak vesznie kell... Szerk: fordítva, kötelezően belegyógyítjuk a g++64 scriptbe.

Szerk: valaki eldugta a mkdtemp-et... Adta rendetlen kölykei!

compile/compile.c: In function 'const char* get_compile_file_tempdir()':
compile/compile.c:235:32: error: 'mkdtemp' was not declared in this scope
   tempdir_name = mkdtemp (tname);

Szerk: 5.3-as problémának tűnik:

ld: 0711-317 ERROR: Undefined symbol: .getthrds(int, thrdsinfo64*, int, long*, int)

Szerk: AIX6.1 esetén procinfo.h-ban:

extern  int     getthrds( pid_t, void *, int,  tid_t *, int );
extern  int     getthrds64( pid_t, void *, int, tid64_t *, int );

És a /usr/lib/boot/unix nevű komponens exportálja. Még 5.3-ban is.

Szerk: mondjuk a hibaüzenetet gondosabban is elolvashattam volna:

ld: 0711-317 ERROR: Undefined symbol: .getthrds(int, thrdsinfo64*, int, long*, int)

Ezúton is csókoltatom Supstrup urat!