Back to Home / #uml / 2007 / 11 / Prev Day | Next Day
#uml IRC Logs for 2007-11-30

---Logopened Fri Nov 30 00:00:14 2007
00:33|-|jdike [~jdike@pool-71-248-190-161.bstnma.fios.verizon.net] has quit [Quit: Leaving]
01:49|-|balbir [~balbir@122.167.209.212] has quit [Ping timeout: 480 seconds]
01:59|-|balbir [~balbir@122.167.181.44] has joined #uml
04:34|-|IntuitiveNipple [~TJ@alexandros.tjworld.net] has joined #uml
04:42|-|Baltam [~WIKIMOKI@tor-irc.dnsbl.oftc.net] has joined #uml
05:05|-|Ancalagon [~PtitKosmi@215.208-78-194.adsl-fix.skynet.be] has joined #uml
05:24|-|Mago [~d4b63117@207.250.49.24] has joined #uml
05:25<Mago-#uml->>What a crazy day.
05:27<Mago-#uml->>Stuck on a Windows XP computer, which really should be running something like 98SE or any modern linux. No compiler. No untarrer. No bzip2. I hate my school's computer access.
05:28<Mago-#uml->>You can't do anything above surf the web.
05:32|-|da-x [karrde@bzq-79-179-150-192.red.bezeqint.net] has quit [Read error: Connection reset by peer]
05:39|-|FonduePot [~sarah@87-194-184-122.bethere.co.uk] has joined #uml
05:39<FonduePot-#uml->>hello, anyone here?
05:41<IntuitiveNipple-#uml->>vaguely
05:41|-|FonduePot [~sarah@87-194-184-122.bethere.co.uk] has quit []
05:43<Mago-#uml->>Er... So much for patience.
06:18|-|Ancalagon [~PtitKosmi@215.208-78-194.adsl-fix.skynet.be] has quit [Quit: ChatZilla 0.9.79 [Firefox 2.0.0.8/2007100400]]
06:41|-|Mago [~d4b63117@207.250.49.24] has quit [Quit: CGI:IRC]
07:50|-|Baltam [~WIKIMOKI@tor-irc.dnsbl.oftc.net] has quit [Remote host closed the connection]
07:52|-|Baltam [~WIKIMOKI@tor-irc.dnsbl.oftc.net] has joined #uml
07:59|-|dexF [~dexF@xdsl-2443.lodz.dialog.net.pl] has joined #uml
08:00|-|dexF [~dexF@xdsl-2443.lodz.dialog.net.pl] has quit []
08:10|-|krau [~cktakahas@200.184.118.132] has joined #uml
08:17|-|Baltam [~WIKIMOKI@tor-irc.dnsbl.oftc.net] has quit [Remote host closed the connection]
08:19|-|Baltam [~WIKIMOKI@tor-irc.dnsbl.oftc.net] has joined #uml
08:40|-|dang [~dang@nemesis.fprintf.net] has quit [Quit: Leaving.]
09:01|-|dang [~dang@aa-redwall.nexthop.com] has joined #uml
09:13|-|krau [~cktakahas@200.184.118.132] has quit [Ping timeout: 480 seconds]
09:31|-|newbie [~jeff@ita4fw1.itasoftware.com] has left #uml []
09:38|-|karol [~karol@chello089076070038.chello.pl] has joined #uml
09:49|-|krau [~cktakahas@200.184.118.132] has joined #uml
09:49|-|krau [~cktakahas@200.184.118.132] has quit [Remote host closed the connection]
10:07|-|ram [~ram@pool-72-90-125-50.ptldor.fios.verizon.net] has joined #uml
10:08|-|pohyg [~pohyg@121.120.106.135] has joined #uml
10:08<pohyg-#uml->>hi!
10:08<pohyg-#uml->>may I know any of you working on opensouce UML tools?
10:13<dang-#uml->>Define UML tools.
10:16<pohyg-#uml->>UML tools: Software that support design and development of software (?)
10:17<pohyg-#uml->>there is a list here -> http://en.wikipedia.org/wiki/List_of_UML_tools
10:17<dang-#uml->>Ah, wrong type of UML. :)
10:17<dang-#uml->>This channel is for User Mode Linux, not Universal Modeling Language.
10:20|-|dgraves_ [~asdf@inet-netcache3-o.oracle.com] has joined #uml
10:20<pohyg-#uml->>OIC
10:20<pohyg-#uml->>sorry
10:21<dang-#uml->>No problem. Common misconception.
10:27<dgraves_-#uml->>wake up jdike!
10:39<karol-#uml->>pohyg: Try #uml at irc.freenode.net
10:39<pohyg-#uml->>thanks
10:48|-|jdike [~jdike@pool-71-248-190-161.bstnma.fios.verizon.net] has joined #uml
10:48<jdike-#uml->>Hi guys
10:54<dgraves_-#uml->>jdike! hi!
10:55[~]dgraves_ #uml watches carefully to see if jdike will run now...#uml-> watches carefully to see if jdike will run now...
10:55[~]jdike #uml scedaddles#uml-> scedaddles
10:55<dgraves_-#uml->>dang.
10:55<dgraves_-#uml->>so much for that. :)
10:56<dgraves_-#uml->>so, here's my list so far. I've been applying those patches. so far, i've fixed:
10:56<dgraves_-#uml->>kernel/ptrace.c: In function ?sys_ptrace?:
10:56<dgraves_-#uml->>kernel/ptrace.c:927: warning: passing argument 1 of ?arch_ptrace? from incompatible pointer type
10:56<dgraves_-#uml->>kernel/ptrace.c:927: warning: passing argument 2 of ?arch_ptrace? makes integer from pointer without a cast
10:56<dgraves_-#uml->>kernel/ptrace.c:927: warning: passing argument 3 of ?arch_ptrace? makes integer from pointer without a cast
10:56<dgraves_-#uml->>kernel/ptrace.c:927: error: too many arguments to function ?arch_ptrace?
10:56<dgraves_-#uml->>make[1]: *** [kernel/ptrace.o] Error 1
10:56<dgraves_-#uml->>make: *** [kernel] Error 2
10:56<dgraves_-#uml->>by changing the arguments to match the arch_ptrace in the 2.6.18 um/ setup.
10:56<dgraves_-#uml->>i fixed:
10:56<dgraves_-#uml->>arch/um/os-Linux/sys-x86_64/registers.c: In function ?get_thread_regs?:
10:56<dgraves_-#uml->>arch/um/os-Linux/sys-x86_64/registers.c:85: error: ?JB_PC? undeclared (first use in this function)
10:56<dgraves_-#uml->>arch/um/os-Linux/sys-x86_64/registers.c:85: error: (Each undeclared identifier is reported only once
10:56<dgraves_-#uml->>arch/um/os-Linux/sys-x86_64/registers.c:85: error: for each function it appears in.)
10:56<dgraves_-#uml->>arch/um/os-Linux/sys-x86_64/registers.c:86: error: ?JB_RSP? undeclared (first use in this function)
10:56<dgraves_-#uml->>arch/um/os-Linux/sys-x86_64/registers.c:87: error: ?JB_RBP? undeclared (first use in this function)
10:56<dgraves_-#uml->>make[2]: *** [arch/um/os-Linux/sys-x86_64/registers.o] Error 1
10:56<dgraves_-#uml->>make[1]: *** [arch/um/os-Linux/sys-x86_64] Error 2
10:57<dgraves_-#uml->>by commenting them out, since no one seemed to call the function, they seem to use get_thread_reg instead of get_thread_regs.
10:57<dgraves_-#uml->>I fixed a bunch of PAGE_MASK and PAGE_SIZE by changing them to UM_KERN_PAGE_*
10:57<dgraves_-#uml->>jdike: does that all seem reasonable?
10:58<jdike-#uml->>yup
10:58<jdike-#uml->>I wonder about get_thread_regs though
10:59<dgraves_-#uml->>okay. the only one i'm worried about is the arch_ptrace stuff. when i checked the 2.6.23 kernel, it looked like the arch_ptrace for um had changed from return -ENOSYS; to something approximating the function callin git in 2.6.18.
10:59<jdike-#uml->>it's gone from current UML, so I guess it's OK
10:59<dgraves_-#uml->>::L:: yeah, i noticed that. :)
11:00<dgraves_-#uml->>so here's a new one: kernel/module.c:2231:5: warning: "CONFIG_MODULE_SIG" is not defined
11:00<dgraves_-#uml->>why would the compiler complain something isn't defined in an ifdef ?
11:00<jdike-#uml->>dunno about that
11:00<dgraves_-#uml->>shouldn't it just say, hey not defined and get on with life? :)
11:00<jdike-#uml->>to catch CONFIG_FOO typos
11:00<dgraves_-#uml->>oh!
11:01<dgraves_-#uml->>okay, so its a setting.
11:01<jdike-#uml->>arg1 to arch_ptrace is the child task_struct
11:01<jdike-#uml->>and the rest is long request, long addr, long data
11:02<jdike-#uml->>what was the interface in 2.6.18?
11:02<dgraves_-#uml->>right. originally the code was calling it with request, child, engine, val, data.
11:02<dgraves_-#uml->>but the uml arch_ptrace function was defined as you say.
11:03<jdike-#uml->>oh
11:03<jdike-#uml->>utrace again
11:03<dgraves_-#uml->>hmm... so i shouldn't have changed the caller, but rather the reciever, perhaps?
11:03<jdike-#uml->>yeah
11:03<jdike-#uml->>but the changes will be pretty equivalent
11:04<jdike-#uml->>BTW, ptrace won't work inside UML when you're done
11:04<dgraves_-#uml->>is that what gdb uses to do its stepping?
11:04<jdike-#uml->>yes
11:04<dgraves_-#uml->>::ROFL::
11:04<jdike-#uml->>you use gdb inside UML?
11:04<dgraves_-#uml->>that's the point of this.
11:04<dgraves_-#uml->>err.. no.
11:04<dgraves_-#uml->>outside on uml.
11:04<jdike-#uml->>on the host, gdb will be fine
11:04<dgraves_-#uml->>so i won't be able to gdb code inside of it.
11:04<dgraves_-#uml->>eh, no biggie then.
11:04<jdike-#uml->>yup
11:05<dgraves_-#uml->>alright, so if the changes are equivalent, i'll skip going back and changing the reciever then.
11:08<dgraves_-#uml->>now it looks like 'm not picking up Elf_Rela define.
11:08<dgraves_-#uml->>which is defined (for uml) in module-i386.h.
11:08<dgraves_-#uml->>but i don't see anything including that.
11:08<jdike-#uml->>haven't seen that
11:09<dgraves_-#uml->>which looks like its gone away in 2.6.23.9
11:09<dgraves_-#uml->>huh.
11:09<dgraves_-#uml->>the entire module-verify.c file is gone in 2.6.23.9
11:12<dgraves_-#uml->>so, how do the arch specific include files get included, like modules-i386.h?
11:13<jdike-#uml->>other things include asm/modules.h
11:14<jdike-#uml->>which is a symlink to modules-$(SUBARCH).h
11:14<jdike-#uml->>what's the host arch?
11:14<jdike-#uml->>you were poking around in arch/um/os-Linux/sys-x86_64/registers.c and now you're concerned with modules-i386.h
11:15<dgraves_-#uml->>host arch is i386 at this point.
11:15<dgraves_-#uml->>i'm doing a make ARCH=um
11:16<dgraves_-#uml->>just taking the errors one at a time.
11:17<dgraves_-#uml->>hmm... module-verify.c is including linux/modules.h which has asm/modules.h.
11:17<dgraves_-#uml->>so i'm not sure why these aren't getting defined.
11:18<dgraves_-#uml->>er? it looks like asm/modules.h is pointing to the x86_64 version.
11:20<dgraves_-#uml->>right. asm/module.h has #define __UM_MODULE_X86_64_H
11:20<dgraves_-#uml->>in it.
11:20<dgraves_-#uml->>which is different than the modules-i386.h version.
11:21<dgraves_-#uml->>jdike lrwxrwxrwx 1 root root 15 Nov 28 12:31 module.h -> module-x86_64.h
11:21<dgraves_-#uml->>bash-3.1# pwd
11:22<jdike-#uml->>left over from an earlier build?
11:22<dgraves_-#uml->>comparing that with 2.6.23.9, it looks the same.
11:22<dgraves_-#uml->>i did a make clean.
11:22<dgraves_-#uml->>and a make mrproper.
11:22<dgraves_-#uml->>should i just delete that symlink?
11:23<dgraves_-#uml->>comparing modules-i386.h with 2.6.23.9, it looks like some definitions have gone away from 2.6.23.9.
11:23<dgraves_-#uml->>oh yummy.
11:24<dgraves_-#uml->>they installed a 64 bit os on here w\o me noticing.
11:24<dgraves_-#uml->>so i guess uml is trying to build a 64 bit version?
11:25<jdike-#uml->>yup
11:25[~]dgraves_ #uml considers this. :)#uml-> considers this. :)
---Logclosed Fri Nov 30 11:27:32 2007
---Logopened Fri Nov 30 11:27:34 2007
11:27|-|mikegrb_ [~michael@mail.thegrebs.com] has joined #uml
11:27|-|Ekipa kanalu #uml: Wszystkich: 33 |-| +op [0] |-| +voice [0] |-| normalnych [33]
11:28|-|linbot [~supybot@ns.theshore.net] has quit [Read error: Connection reset by peer]
11:28|-|linbot` changed nick to linbot
11:29|-|Kanal #uml zsynchronizowany w 125 sekundy
11:35<dgraves_-#uml->>jdike, does the 64 bit UML have to run on 64 bit OS? Or can i use it to test 64 bit code w\o real hardware?
11:35[~]dgraves_ #uml is assuming no.#uml-> is assuming no.
11:35<jdike-#uml->>no
11:35<jdike-#uml->>it's like anything else
11:36<jdike-#uml->>you can run 32-bit code on a 64-bit OS
11:36<jdike-#uml->>but not vice-versa
11:37<dgraves_-#uml->>right, thought so.
11:38<dgraves_-#uml->>btw, thanks for the help.
11:38<jdike-#uml->>np
11:55<dgraves_-#uml->>jdike, is there a way to force it to build a 32 bit UML on 64 bit?
11:55<jdike-#uml->>SUBARCH=i386
11:55<jdike-#uml->>however, that has never worked for me
11:55<jdike-#uml->>it's worked for other people though
11:56|-|hfb [~hfb@pool-71-106-219-180.lsanca.dsl-w.verizon.net] has joined #uml
12:03<dgraves_-#uml->>jdike, well, it doesn't look like its working very well. I've got a definition of HOST_FS in ptrace.h and a redefine in user_constants.h. 25 in one place, 9 in the other.
12:03<jdike-#uml->>hmm
12:03<jdike-#uml->>this is after an mrproper?
12:05<dgraves_-#uml->>ah buggers. i never forget that step.
12:05<dgraves_-#uml->>so uh, no. that looks better. now i get normal errors, like, conflicting function defines. ;)
12:05<jdike-#uml->>get used to using O=
12:06<jdike-#uml->>it's an easy way to keep different builds separate from each other
12:06<dgraves_-#uml->>O=?
12:06<jdike-#uml->>object directory
12:07<dgraves_-#uml->>so like O=i386?
12:07<dgraves_-#uml->>or O=x86_64?
12:07<jdike-#uml->>keeps all generated files out of the source tree
12:07<jdike-#uml->>yup
12:07<dgraves_-#uml->>huh.
12:07<jdike-#uml->>O=wtf-will-this-do
12:07<jdike-#uml->>mkdir new ; make O=new
12:08<jdike-#uml->>guarantees a clean build
12:08<dgraves_-#uml->>interesting.
12:12<dgraves_-#uml->>neat. that's kinda cool.
12:13<jdike-#uml->>very cool
12:13<jdike-#uml->>don't leave home without it
12:15<dgraves_-#uml->>::L::
12:20|-|tyler29 [~tyler@ARennes-257-1-24-21.w81-53.abo.wanadoo.fr] has joined #uml
12:20<dgraves_-#uml->>jdike... i'm back to the get_thread_regs. Its got JB_PC, which it claims is undefined.
12:20<jdike-#uml->>what arch?
12:20<dgraves_-#uml->>in 2.6.23.9, this function changed to get_thread_reg, which returns some stuff.
12:20<dgraves_-#uml->>i386
12:20<dgraves_-#uml->>SUBARCH=i386.
12:20<dgraves_-#uml->>so unless that's borked. :)
12:20<jdike-#uml->>with those kinds of errors, probably not
12:21<dgraves_-#uml->>you think i'll break anything if i change KSTK_REG to use get_thread_reg like 2.6.23.9?
12:21<jdike-#uml->>no
12:21<dgraves_-#uml->>yeah, i'm not seeing many calls to kstk_reg.
12:21<dgraves_-#uml->>here goes! :)
12:22<jdike-#uml->>it's not heavily used
12:22<jdike-#uml->>maybe two call sites
12:40|-|krau [~cktakahas@200.184.118.132] has joined #uml
12:48|-|kos_tom [~thomas@col31-3-82-247-183-72.fbx.proxad.net] has joined #uml
13:02<dgraves_-#uml->>jdike, compiler's throwing a warning, void value not ignored as it should be:
13:02<dgraves_-#uml->> esp = (unsigned long *) KSTK_ESP(task);
13:02<dgraves_-#uml->>#define KSTK_ESP(tsk) KSTK_REG(tsk, UESP)
13:02<dgraves_-#uml->>"build/include/asm-um/processor.h"
13:02<jdike-#uml->>KSTK_REG should return something
13:03<dgraves_-#uml->>#define KSTK_REG(tsk, reg) \
13:03<dgraves_-#uml->> get_thread_reg(reg, &tsk->thread.mode.skas.switch_buf)
13:03<dgraves_-#uml->>unsigned long get_thread_reg(int reg, void *buffer)
13:03<jdike-#uml->>get_thread_reg should definitely return something
13:03<dgraves_-#uml->>"arch/um/os-Linux/sys-i386/registers.c
13:03<dgraves_-#uml->>right. it definitely does.
13:03<dgraves_-#uml->>hence my confusion. ;)
13:03<jdike-#uml->>how is it declared?
13:04<dgraves_-#uml->>huh! the compiler didn't care.
13:04<dgraves_-#uml->>so why didn't the compiler care about mismatched function header?
13:05<jdike-#uml->>maybe the declaration wasn't included in the file that defined it
13:05<jdike-#uml->>that would be a bug
13:05<dgraves_-#uml->>no, i got it.
13:05<dgraves_-#uml->>the file that defined it was compiled later.
13:05<dgraves_-#uml->>err.. rather, it had a header decleration. but the actual function wasn't compiled till later.
13:06<dgraves_-#uml->>where it would have blown up, i think.
13:06<jdike-#uml->>Oh, OK
13:06<dgraves_-#uml->>but as the header matched the current usage, it didn't know to flag void\int return code.
13:06<jdike-#uml->>right
13:11<dgraves_-#uml->>jdike, the switch_buf that i get from the task_struct is actually a void * to a __jmp_buf_tag, right?
13:13<jdike-#uml->> __jmp_buf_tag?
13:13<jdike-#uml->>a jmpbuf, yes
13:14<dgraves_-#uml->>in 2.6.18, get_thread_regs takes a reg and a void * to a buf, which gets converted:
13:14<dgraves_-#uml->>struct __jmp_buf_tag *jmpbuf = buffer
13:14<jdike-#uml->>OK, I suppose
13:14<dgraves_-#uml->>in 2.6.23.9, get thread_reg takes: get_thread_reg(int reg, jmp_buf *buf)
13:15<dgraves_-#uml->>a direct jmp_buf.
13:15<dgraves_-#uml->>both of them come from switch_buf on the task_struct.
13:16<dgraves_-#uml->>but it doesn't look like any of the code dealing with the switch_buf has changed.
13:17<jdike-#uml->>I stole setjmp/longjmp from klibc
13:17<dgraves_-#uml->>::L::
13:17<jdike-#uml->>and started using that instead of libc's setjmp/longjmp
13:18<jdike-#uml->>that way I could use it directly in the kernel side of UML
13:19<jdike-#uml->>Oh
13:19<dgraves_-#uml->>i guess i'm trying to understand if i need to do: jmpbuf->__jmpbuf[JB_PC] like in the old get_thread_regs, or I can just do: buf[0]->__eip like in the new get_thread_reg.
13:19<jdike-#uml->>that's why you're having JB_* troubles
13:19<dgraves_-#uml->>Mmm?
13:19<jdike-#uml->>those were in libc headers, then they got removed
13:19<jdike-#uml->>so I couldn't go grubbing around in libc's jmp_buf any more
13:20<dgraves_-#uml->>they locked the door on you, eh? :)
13:20<jdike-#uml->>yeah
13:20<jdike-#uml->>so I needed my own implementation
13:20<dgraves_-#uml->>ah.
13:21<jdike-#uml->>so, you have UML using libc's setjmp?
13:21<dgraves_-#uml->>i'm not sure.
13:21<dgraves_-#uml->>it looks like 2.6.18 is using JB_PC, and the setjmp is from include/bits/setjmp.h
13:21<jdike-#uml->>if it wants JB_*, it does
13:21<dgraves_-#uml->>so i think it is.
13:21<jdike-#uml->>yeah
13:22<dgraves_-#uml->>okay, good.
13:22<dgraves_-#uml->>and then 2.6.23 is using your new klibc setjmp stuff?
13:22<jdike-#uml->>so, is the problem that you don't have JB_*?
13:22<jdike-#uml->>yes
13:22<dgraves_-#uml->>yeah, that was the original problem.
13:22<jdike-#uml->>OK, I would just define them
13:22<dgraves_-#uml->>so i was trying to use get_thread_reg, from 2.6.23.
13:23<dgraves_-#uml->>where should I take the definition from then?
13:23<dgraves_-#uml->>just stick it in the get_thread_regs file?
13:23<jdike-#uml->>yeah, where it's used
13:24<jdike-#uml->>do you have any old distros lying around?
13:24<dgraves_-#uml->>rhel4 should be old enough....
13:24<dgraves_-#uml->>let me cscope it.
13:25[~]dgraves_ #uml continues to build frankenstein.#uml-> continues to build frankenstein.
13:25<dgraves_-#uml->>:)
13:26<dgraves_-#uml->>jdike, its interesting to see that uml seems to be getting a cleaner implementation as linux advances.
13:26<jdike-#uml->>and make sure that they didn't change jmpbuf
13:26<jdike-#uml->>but I don't think they did
13:26<jdike-#uml->>it's getting cleaner as I throw out my old nasty code
13:27<jdike-#uml->>at times forced by libc getting cleaner about what it exports
13:29<dgraves_-#uml->>they changed __jmp_buf to be 8 on 64 bit systems. but that's about it.
13:29<dgraves_-#uml->>it was 6 before.
13:29<jdike-#uml->>8? __jmp_buf is a struct, isn't it?
13:30<dgraves_-#uml->>nope. its an array of bytes. they just use it like a struct.
13:30<dgraves_-#uml->>#ifndef _ASM
13:30<dgraves_-#uml->>typedef int __jmp_buf[6];
13:30<dgraves_-#uml->>#endif
13:31<jdike-#uml->>Oh
13:31<dgraves_-#uml->># if __WORDSIZE == 64
13:31<dgraves_-#uml->>typedef long int __jmp_buf[8];
13:31<dgraves_-#uml->># else
13:31<dgraves_-#uml->>typedef int __jmp_buf[6];
13:31<dgraves_-#uml->># endif
13:31<jdike-#uml->>OK
13:32<dgraves_-#uml->>although i can't figure out how they overlay the struct on it, but i haven't tried very hard. :)
13:32<jdike-#uml->>I would just go for it
13:33<jdike-#uml->>the worst that will happen is that /proc/<pid>/stat will show a bogus IP or something
13:33<dgraves_-#uml->>or the stack trace bug stuff won't work. :)
13:34<jdike-#uml->>?
13:35<dgraves_-#uml->>the stack trace sysrq-t uses KSTK_ESP to figure out where to start displaying its frame.
13:38<jdike-#uml->>yeah, OK
13:38<jdike-#uml->>so make sure you get that right at least
13:40<dgraves_-#uml->>::L::
13:40<dgraves_-#uml->>working on it. :)
13:45|-|tyler29 [~tyler@ARennes-257-1-24-21.w81-53.abo.wanadoo.fr] has quit [Ping timeout: 480 seconds]
13:50|-|karol [~karol@chello089076070038.chello.pl] has quit [Quit: Changing cities.]
13:57<dgraves_-#uml->>jdike, just one last issue, for compilation.
13:57<dgraves_-#uml->>your patch had me add:
13:57<dgraves_-#uml->>+extern const struct utrace_regset_view utrace_um_native;
13:57<dgraves_-#uml->>but i get linking: /usr/src/kernels/linux-2.6.18.i686/kernel/ptrace.c:420: undefined reference to `utrace_um_native'
13:57<dgraves_-#uml->>got another patch? :)
13:58<jdike-#uml->>hmm
13:58<jdike-#uml->>hold on a bit
13:59<dgraves_-#uml->>sure.
13:59<dgraves_-#uml->>i went through the one you gave me, but didn't miss anything.
13:59<dgraves_-#uml->>nor in the 2 git commits.
13:59<dgraves_-#uml->>i've got that error 2x, basically.
14:02|-|tyler29 [~tyler@ARennes-257-1-94-185.w81-48.abo.wanadoo.fr] has joined #uml
14:17|-|the_hydra [~a_mulyadi@125.164.98.60] has joined #uml
14:17<the_hydra-#uml->>hi all
14:17[~]jdike #uml locates a tiny little utrace fixup patch#uml-> locates a tiny little utrace fixup patch
14:17<the_hydra-#uml->>oh hi jeff
14:17<the_hydra-#uml->>didn't notice you
14:17<jdike-#uml->>http://rafb.net/p/GF5mWN13.txt
14:18<jdike-#uml->>I'm easy to miss
14:18<jdike-#uml->>hiding in the corner over here
14:19<the_hydra-#uml->>jeff, any advice on how to be an office employee while still maintaining our freelance job?
14:20<jdike-#uml->>ummm
14:20<jdike-#uml->>be more specific?
14:20<the_hydra-#uml->>ok, to work on project at office hour and writing at non office hour?
14:21<the_hydra-#uml->>that's what I am planning to do starting at next week
14:21<jdike-#uml->>well, first of all, don't sign any agreements that say you can't work for yourself off-hours or that say they own everything you do
14:21<dang-#uml->>That's a big one..
14:21<dang-#uml->>Usually, tho, you'll have to sign an agreement saying you can't compete with them.
14:22<the_hydra-#uml->>interesting opinion, I'll take a note
14:22<jdike-#uml->>right
14:22<dang-#uml->>(which means don't work for someone with a finger in every pie. :) )
14:22<jdike-#uml->>whatever you sign, don't think that you can compete with them
14:22<jdike-#uml->>no one will like that, no matter what you've signed
14:22<the_hydra-#uml->>yup, I'll pay attention
14:23<the_hydra-#uml->>in my case, that means i need to temporarily drop my training business
14:23<the_hydra-#uml->>since this company is...well, training and education company
14:24<the_hydra-#uml->>my biggest attention is how to get back to "regular pattern"...while I am already familiar with this freelance working style
14:24<the_hydra-#uml->>any advices are greatly appreciated
14:25<jdike-#uml->>buy an alarm clock
14:26<the_hydra-#uml->>good idea! :)
14:34<dgraves_-#uml->>the_hydra, several, in fact! :)
14:34<dgraves_-#uml->>where are you starting work?
14:34<dgraves_-#uml->>jdike, that was the patch i was looking for. thanks.
14:36<jdike-#uml->>also, don't get casual about mixing office time and non-office time
14:37<jdike-#uml->>i.e. don't use work email, phone, time, etc for your own stuff
14:37|-|krau [~cktakahas@200.184.118.132] has quit [Quit: Varei!!!]
14:37<the_hydra-#uml->>jdike: that's something I need to be careful
14:40<dgraves_-#uml->>jdike, i'm stumped:
14:40<dgraves_-#uml->> LD .tmp_vmlinux2
14:40<dgraves_-#uml->>.tmp_kallsyms1.o: In function `kallsyms_addresses':
14:40<dgraves_-#uml->>.tmp_kallsyms1.S:(.data+0x0): undefined reference to `_text'
14:40<dgraves_-#uml->>.tmp_kallsyms1.S:(.data+0x8): undefined reference to `_text'
14:40<dgraves_-#uml->>.tmp_kallsyms1.S:(.data+0xc): undefined reference to `_text'
14:40<dgraves_-#uml->>.tmp_kallsyms1.S:(.data+0x10): undefined reference to `_text'
14:40<dgraves_-#uml->>.tmp_kallsyms1.S:(.data+0x14): undefined reference to `_text'
14:40<dgraves_-#uml->>.tmp_kallsyms1.o:.tmp_kallsyms1.S:(.data+0x18): more undefined references to `_text' follow
14:40<dgraves_-#uml->>collect2: ld returned 1 exit status
14:40<dgraves_-#uml->>make[1]: *** [.tmp_vmlinux2] Error 1
14:40<dgraves_-#uml->>make: *** [_all] Error 2
14:40<dgraves_-#uml->>frankenstein must live!!!
14:40<jdike-#uml->>You have no text
14:40<jdike-#uml->>Ha
14:41<dgraves_-#uml->>thanks.
14:41<dgraves_-#uml->>what does that mean? :)
14:41<jdike-#uml->>hmm
14:42<dgraves_-#uml->>that's where the strings and variables are stored, right?
14:42<jdike-#uml->>no
14:42<jdike-#uml->>exactly wrong
14:42<jdike-#uml->>that's where the code is stored
14:42<jdike-#uml->>look at arch/um/kernel/uml.lds.S
14:42<dgraves_-#uml->>oh.
14:42<jdike-#uml->>do you have
14:42<jdike-#uml->> _text = .;
14:42<jdike-#uml->>near the top?
14:43<jdike-#uml->>right after
14:43<jdike-#uml->> . = START + SIZEOF_HEADERS;
14:43<dgraves_-#uml->>nope. i have _stext, and ihave .text =
14:43<jdike-#uml->>OK, add it
14:43<dgraves_-#uml->> __binary_start = START;
14:43<dgraves_-#uml->> . = START + SIZEOF_HEADERS;
14:43<dgraves_-#uml->>#ifdef MODE_TT
14:43<dgraves_-#uml->> .remap_data : { UNMAP_PATH (.data .bss) }
14:43<dgraves_-#uml->> .remap : { UNMAP_PATH (.text) }
14:43<dgraves_-#uml->> . = ALIGN(4096); /* Init code and data */
14:43<dgraves_-#uml->>#endif
14:43<dgraves_-#uml->>er? just add it?
14:43<dgraves_-#uml->>isn't this a generated file?
14:43<jdike-#uml->>no
14:44<jdike-#uml->>it is SOURCE CODE!!1!
14:44<dgraves_-#uml->>oh. so uh.. dare i ask why it wasn't there? :)
14:44<jdike-#uml->>no
14:45<dgraves_-#uml->> . = START + SIZEOF_HEADERS;
14:45<dgraves_-#uml->> _text = .;
14:45<dgraves_-#uml->>okay, i added it.
14:45<dgraves_-#uml->>still errors.
14:45<dgraves_-#uml->>or do i make clean first?
14:45<jdike-#uml->>yeah
14:45<jdike-#uml->>this isn't the actual script given to ld
14:45[~]dgraves_ #uml rebuilds.#uml-> rebuilds.
14:45<jdike-#uml->>this is preprocessed, and I guess the build didn't realize that
14:46<dgraves_-#uml->>::L::
14:48[~]dgraves_ #uml figures that it may finally compile, but probably won't run.#uml-> figures that it may finally compile, but probably won't run.
14:48<dgraves_-#uml->>TAKING BETS ON IT! Get em in now!
14:50<dgraves_-#uml->>jdike, still nothing.
14:50<dgraves_-#uml->>same errors.
14:59<the_hydra-#uml->>gtg all
14:59|-|the_hydra [~a_mulyadi@125.164.98.60] has quit []
15:05<dgraves_-#uml->>l8r
15:15<dgraves_-#uml->>jdike i tried mimicing the file found in 2.6.23.9, cleaned, mrpropered, etc, but no luck. still the same no _text area.
15:25<jdike-#uml->>Try wrapping a PROVIDE() around it
15:29|-|ram [~ram@pool-72-90-125-50.ptldor.fios.verizon.net] has quit [Ping timeout: 480 seconds]
15:40|-|ram [~ram@bi01p1.co.us.ibm.com] has joined #uml
15:42<dgraves_-#uml->>building....
15:50<dgraves_-#uml->>jdike, no such luck.
15:50<dgraves_-#uml->>does it matter if its: .tmp_kallsyms1.S
15:50<dgraves_-#uml->> AS .tmp_kallsyms1.o
15:50<dgraves_-#uml->> LD .tmp_vmlinux2
15:50<dgraves_-#uml->>nah, i guess not.
15:51<dgraves_-#uml->>they all get linked together, don't they.
15:51<jdike-#uml->>Add V=1 to the command line
15:51<jdike-#uml->>and see where the linker is getting its script from
15:51|-|Baltam [~WIKIMOKI@tor-irc.dnsbl.oftc.net] has quit [Remote host closed the connection]
15:53|-|Baltam [~WIKIMOKI@tor-irc.dnsbl.oftc.net] has joined #uml
15:55<dgraves_-#uml->>Mmm... pretty output... :(
16:03<dgraves_-#uml->>jdike: is this the relevant line: nm -n .tmp_vmlinux1 | scripts/kallsyms > .tmp_kallsyms1.S
16:03<dgraves_-#uml->>?
16:04<jdike-#uml->>no
16:04<jdike-#uml->>look for vmlinux.lds or something similar
16:05<jdike-#uml->>on the final link line
16:08<dgraves_-#uml->>-Wl,-T,arch/um/kernel/vmlinux.lds
16:08<dgraves_-#uml->>that gets parsed into something then, jdike?
16:09<jdike-#uml->>OK, is there an _text in arch/um/kernel/vmlinux.lds?
16:09<jdike-#uml->>under the O= directory if you're using that
16:10<dgraves_-#uml->>I don't have a vmlinux.lds there.
16:10<dgraves_-#uml->>only a vmlinux.lds.S
16:10<dgraves_-#uml->>i dlied.
16:10<dgraves_-#uml->>i had a space in the name.
16:11<dgraves_-#uml->>jdike no.
16:11<dgraves_-#uml->> .interp : { *(.interp) }
16:11<dgraves_-#uml->> * is remapped.*/
16:11<dgraves_-#uml->> __binary_start = .;
16:11<dgraves_-#uml->> . = ALIGN(4096); /* Init code and data */
16:11<dgraves_-#uml->> _stext = .;
16:11<jdike-#uml->>what's the timestamp on it?
16:11<dgraves_-#uml->>12:52, today.
16:12<dgraves_-#uml->>system date is 13:11.
16:12<dgraves_-#uml->>so potentially from my last build.
16:12<dgraves_-#uml->>i can rebuld to be sure.
16:13<jdike-#uml->>well, remove it
16:13<jdike-#uml->>force it to be rebuilt
16:13<dgraves_-#uml->>mrpropering after removal.
16:14<dgraves_-#uml->>is this built from the vmlinux.lds.S file in my main tree?
16:14<jdike-#uml->>yeah
16:14<dgraves_-#uml->>we're sure we're including uml.lds, not dyn.lds then?
16:14<jdike-#uml->>oops
16:15<jdike-#uml->>yeah, dyn.lds
16:15<dgraves_-#uml->>okay, i added _text = .; under the START to dyn.lds.
16:15<jdike-#uml->>that's the source file - change that and the final script should change
16:15<jdike-#uml->>and it wasn't there anywhere?
16:17<dgraves_-#uml->>nope.
16:17[~]jdike #uml disappears for a bit#uml-> disappears for a bit
16:17<dgraves_-#uml->>POOF! presto!
16:21<dgraves_-#uml->>jdike ... i have a kernel!
16:23<dgraves_-#uml->>and it even seems to run!
16:29<dgraves_-#uml->>well, okay, it runs, but we're working on the root filesystem now. :)
16:34|-|martijn_ [~martijn@senturparks.xs4all.nl] has joined #uml
17:07|-|dang [~dang@aa-redwall.nexthop.com] has quit [Quit: Leaving.]
17:26|-|ram_ [~ram@bi01p1.co.us.ibm.com] has joined #uml
17:26|-|ram [~ram@bi01p1.co.us.ibm.com] has quit [Read error: Connection reset by peer]
17:30|-|hfb [~hfb@pool-71-106-219-180.lsanca.dsl-w.verizon.net] has quit [Quit: Leaving]
17:36|-|kos_tom [~thomas@col31-3-82-247-183-72.fbx.proxad.net] has quit [Quit: I like core dumps]
17:39|-|karol [~karol@abhb69.neoplus.adsl.tpnet.pl] has joined #uml
17:40|-|karol changed nick to Magotari
17:59|-|tyler29 [~tyler@ARennes-257-1-94-185.w81-48.abo.wanadoo.fr] has quit [Ping timeout: 480 seconds]
18:02|-|dgraves_ [~asdf@inet-netcache3-o.oracle.com] has quit [Ping timeout: 480 seconds]
18:10|-|dang [~dang@nemesis.fprintf.net] has joined #uml
18:35|-|jdike [~jdike@pool-71-248-190-161.bstnma.fios.verizon.net] has quit [Quit: Leaving]
20:34|-|remus [~remus@76.231.178.131] has quit [Remote host closed the connection]
20:42|-|ram_ [~ram@bi01p1.co.us.ibm.com] has quit [Ping timeout: 480 seconds]
21:04|-|remus [~remus@76.231.178.131] has joined #uml
21:56|-|pohyg [~pohyg@121.120.106.135] has left #uml [Leaving]
22:00|-|remus [~remus@76.231.178.131] has quit [Remote host closed the connection]
22:21|-|Baltam [~WIKIMOKI@tor-irc.dnsbl.oftc.net] has quit [Remote host closed the connection]
22:25|-|Baltam [~WIKIMOKI@tor-irc.dnsbl.oftc.net] has joined #uml
22:43|-|IntuitiveNipple [~TJ@alexandros.tjworld.net] has quit [Quit: The only intuitive interface is the nipple; everything else is learned]
23:59|-|VS_ChanLog [~stats@ns.theshore.net] has left #uml [Rotating Logs]
23:59|-|VS_ChanLog [~stats@ns.theshore.net] has joined #uml
---Logclosed Sat Dec 01 00:00:47 2007